Ferramentas
Demo de Rastreamento Evercookie
Entenda como "cookies zumbis" persistem entre tentativas de exclusão explorando múltiplos mecanismos de armazenamento do navegador.
Demonstração Apenas Educacional
Esta página demonstra conceitos de evercookie para fins educacionais. NÃO rastreamos você de fato. A demo armazena um ID aleatório para mostrar como a persistência funciona, e você pode limpá-lo completamente a qualquer momento.
O que é um Evercookie?
Um evercookie (também chamado de "cookie zumbi" ou "supercookie") é uma API JavaScript que cria cookies extremamente persistentes armazenando o mesmo ID de rastreamento em muitos mecanismos de armazenamento do navegador simultaneamente.
Quando um usuário exclui seus cookies, o evercookie se recria a partir de qualquer local de armazenamento restante. Para realmente remover um evercookie, você deve limpar TODOS os mecanismos de armazenamento de uma vez - algo que a maioria dos usuários não sabe fazer.
O evercookie original foi criado por Samy Kamkar, pesquisador de segurança e criador do evercookie em 2010 para demonstrar como é difícil manter a privacidade online.
Demo Interativa
Seu ID de Rastreamento Demo
Gerando...
Tente limpar apenas os cookies, depois clique em "Verificar Todo Armazenamento" para ver como o ID persiste
Mecanismos de Armazenamento
Evercookies exploram mais de 17 mecanismos de armazenamento diferentes. Abaixo mostra quais estão disponíveis no seu navegador e seu status atual:
Como Cada Mecanismo Funciona
Cookies HTTP Padrão Comum
O método tradicional - pequenos arquivos de texto armazenados pelo navegador. Fácil de limpar nas configurações do navegador.
document.cookie = "tracking_id=abc123; expires=Fri, 31 Dec 9999 23:59:59 GMT";
Armazenamento Local HTML5 Comum
Armazena até 5-10MB por domínio. Persiste até ser explicitamente limpo. Frequentemente negligenciado ao limpar "cookies".
localStorage.setItem('tracking_id', 'abc123');
// Survives browser restart, never expires
Armazenamento de Sessão HTML5 Comum
Similar ao localStorage mas limpo quando a aba fecha. Pode ser usado para passar dados para regenerar outros cookies durante uma sessão.
sessionStorage.setItem('tracking_id', 'abc123');
IndexedDB Comum
Um banco de dados NoSQL completo no navegador. Pode armazenar grandes quantidades de dados estruturados. Raramente limpo pelos usuários.
const request = indexedDB.open('evercookie_db', 1);
request.onsuccess = (e) => {
const db = e.target.result;
// Store tracking ID in database
};
Fingerprint Canvas PNG Sorrateiro
Codifica o valor do cookie como cores de pixels RGB em uma imagem PNG, depois força seu cache. O cookie é lido de volta desenhando a imagem em cache em um canvas e lendo os valores dos pixels.
// Encode "abc" as RGB: R=97, G=98, B=99
ctx.fillStyle = 'rgb(97, 98, 99)';
ctx.fillRect(0, 0, 1, 1);
// Later, read it back from cached image
HTTP ETag Sorrateiro
ETags são destinadas à validação de cache mas podem armazenar IDs de rastreamento. O servidor envia uma ETag única, e o navegador a envia de volta em requisições subsequentes.
// Server response:
HTTP/1.1 200 OK
ETag: "tracking_id_abc123"
// Browser's next request:
If-None-Match: "tracking_id_abc123"
Supercookie HSTS Avançado
Explora HSTS (HTTP Strict Transport Security) codificando bits em políticas HSTS de subdomínios. Cada bit é um subdomínio que tem ou não HSTS definido.
// Encoding "5" (binary: 101) across subdomains:
// bit0.tracker.com → HSTS ON (1)
// bit1.tracker.com → HSTS OFF (0)
// bit2.tracker.com → HSTS ON (1)
// Reading: check if browser upgrades each subdomain to HTTPS
Cache Web Sorrateiro
Armazena o ID de rastreamento dentro de um arquivo JavaScript ou HTML em cache. Quando o navegador carrega a versão em cache, ela contém o ID.
// Server sends with far-future cache headers:
Cache-Control: max-age=31536000
// File contents:
var cached_tracking_id = "abc123";
window.name Sorrateiro
A propriedade window.name persiste entre navegações de página dentro da mesma aba, mesmo para domínios diferentes. Pode armazenar até 2MB.
window.name = "tracking_id=abc123";
// Survives navigation to other sites in same tab!
Cookies Flash (LSO) Obsoleto
Flash Local Shared Objects armazenavam dados fora do controle do navegador. Exigia visitar o site da Adobe para limpar. O Flash agora está morto, mas era muito eficaz.
// ActionScript:
var so:SharedObject = SharedObject.getLocal("evercookie");
so.data.tracking_id = "abc123";
so.flush();
Armazenamento Isolado do Silverlight Obsoleto
O plugin Silverlight da Microsoft tinha seu próprio mecanismo de armazenamento, separado do armazenamento do navegador. O Silverlight foi descontinuado.
Roubo de Histórico Corrigido
Codificava dados no histórico do navegador visitando URLs com o ID neles. Podia ler de volta verificando estilos de links :visited. Os navegadores corrigiram isso.
// Create history entries:
location = "http://tracker.com/id/a";
location = "http://tracker.com/id/b";
// Read via CSS :visited (now blocked)
Como o Brave Protege Contra Evercookies
- Particionamento de Armazenamento: Isola o armazenamento por site, impedindo rastreamento entre sites
- Ephemeral Storage: Third-party storage is cleared when you close the site
- Canvas Fingerprint Randomization: Defeats PNG-based cookie storage
- Blocked HSTS Supercookies: Clears HSTS state for tracking domains
- ETag Stripping: Removes tracking ETags from known trackers
- Sem Flash/Silverlight: Plugins legados são completamente bloqueados
Implicações para a Privacidade
Evercookies demonstram um problema fundamental com a privacidade na web: o navegador tem muitos lugares para armazenar dados. Cada nova API (IndexedDB, Service Workers, Cache API) cria outro esconderijo potencial para rastreadores.
Embora evercookies fossem originalmente uma prova de conceito, variações são usadas na prática por:
- Redes de publicidade para rastreamento entre sites
- Sistemas de detecção de fraude
- Imposição de paywalls
- Ferramentas de vigilância governamental
A melhor defesa é usar um navegador focado em privacidade como o Brave que implementa particionamento de armazenamento e bloqueia ativamente técnicas de rastreamento conhecidas.