Voltar para o Blog

Zero Breach Toolkit em 2026: Como Verificar Spyware Tipo Pegasus no Celular e no PC

Olá HaWkers, um projeto open source chamado Zero Breach Toolkit passou das 3 mil estrelas no GitHub e entrou na lista de repositórios em alta com uma promessa direta: verificar, de graça e sem internet, se o seu computador, o seu Android ou o backup do seu iPhone têm rastros conhecidos de spyware mercenário, a categoria de Pegasus, Predator, Graphite e Candiru. Ele cruza os seus dados com cerca de 12.400 indicadores publicados por 29 fontes, entre elas o Security Lab da Anistia Internacional e o Citizen Lab.

Você já se perguntou se daria para checar o próprio celular sem mandar nada para empresa nenhuma? Neste artigo você vai entender o que esse tipo de ferramenta procura de verdade, como rodar a verificação passo a passo e, principalmente, como ler o resultado sem cair nem no pânico nem na falsa tranquilidade.

O Que É Spyware Mercenário e Por Que Ele Assusta

Spyware mercenário é software de vigilância vendido por empresas privadas, quase sempre para governos e agências. A diferença para o malware comum é o nível: esses produtos usam falhas desconhecidas (os famosos zero-days), muitas vezes com ataques zero-click, em que a vítima não precisa clicar em nada.

Os nomes mais conhecidos:

  • Pegasus, da israelense NSO Group, que virou assunto mundial em julho de 2021 com o Pegasus Project.
  • Predator, ligado ao consórcio Intellexa/Cytrox.
  • Graphite, da Paragon. Em junho de 2025 o Citizen Lab confirmou infecções em iPhones de dois jornalistas europeus por meio de uma falha no iMessage que a Apple já tinha corrigido.
  • Candiru, outra fornecedora israelense, com alvos documentados em vários países.

O ponto importante é que esses ataques são caros e direcionados. Jornalistas, ativistas, advogados, políticos e pessoas próximas a eles são o público típico. Isso não quer dizer que o desenvolvedor comum é alvo, mas quer dizer que, se você trabalha perto de alguém assim, a pergunta "será que estou comprometido?" deixa de ser paranoia.

Como Funciona a Detecção por Indicadores

Nenhuma ferramenta gratuita "enxerga" um spyware desconhecido. O que elas fazem é procurar indicadores de comprometimento (IOCs): rastros que pesquisadores já encontraram em vítimas reais e publicaram. Exemplos típicos:

  • domínios usados pela infraestrutura de ataque;
  • nomes de processos que aparecem em iPhones infectados;
  • hashes de arquivos maliciosos;
  • nomes de pacotes de apps Android usados como isca;
  • links suspeitos recebidos por SMS.

A lógica é simples: se um domínio da infraestrutura do Predator aparece no histórico do seu navegador, isso merece atenção. Veja um exemplo didático, em Python, de como uma checagem de hash funciona por dentro:

import hashlib
from pathlib import Path

# Conjunto de hashes SHA-256 publicados como maliciosos (exemplo fictício)
hashes_conhecidos = {
    "3f5a...e91c",  # em um IOC real o hash tem 64 caracteres
}

def sha256_do_arquivo(caminho: Path) -> str:
    """Calcula o SHA-256 lendo o arquivo em blocos para não estourar a memória."""
    h = hashlib.sha256()
    with caminho.open("rb") as f:
        for bloco in iter(lambda: f.read(65536), b""):
            h.update(bloco)
    return h.hexdigest()

def verificar_pasta(pasta: str) -> list[Path]:
    """Retorna os arquivos cujo hash bate com algum indicador conhecido."""
    suspeitos = []
    for arquivo in Path(pasta).expanduser().rglob("*"):
        if arquivo.is_file():
            try:
                if sha256_do_arquivo(arquivo) in hashes_conhecidos:
                    suspeitos.append(arquivo)
            except PermissionError:
                # Arquivos sem permissão de leitura ficam de fora, e isso precisa ser relatado
                continue
    return suspeitos

print(verificar_pasta("~/Downloads"))

Repare no except PermissionError. Esse detalhe é o coração de uma ferramenta honesta: o que ela não conseguiu ler precisa aparecer no relatório, senão "nada encontrado" parece mais forte do que é. O Zero Breach Toolkit faz exatamente isso, e cada relatório lista o que ficou sem verificação.

O Que o Zero Breach Toolkit Verifica

Segundo a documentação do repositório interplains/Zero-Breach-Toolkit, a ferramenta roda em Windows, macOS e Linux, exige Python 3.8 ou mais novo e é somente leitura: não altera nada no sistema e não faz requisição de rede durante a verificação.

No computador

A verificação local olha para:

  • histórico, cookies e cache dos navegadores;
  • downloads;
  • registros de DNS;
  • Prefetch e Amcache no Windows;
  • itens de inicialização automática;
  • histórico do shell;
  • logs do sistema;
  • impressões digitais (hashes) de arquivos.

No Android

Ele não conecta direto no aparelho por padrão. Ele lê uma coleta feita com o AndroidQF, ferramenta de extração usada no ecossistema de perícia forense móvel. Nessa coleta entram apps instalados, histórico de instalação, links recebidos por SMS e registros de intrusão quando existem. Há também uma opção --collect-android para quem quer que a própria ferramenta faça a coleta.

No iPhone

Para iOS, a fonte é o backup local feito pelo Finder, pelo app Apple Devices ou pelo iTunes, criptografado ou não, além de sistemas de arquivos extraídos e arquivos de sysdiagnose. A documentação diz que os layouts de tabela do iOS 15 ao iOS 18 estão cobertos por testes.

Licença e indicadores

O código é Apache 2.0. Os arquivos de indicadores curados pelo projeto estão em CC0 1.0, ou seja, domínio público. As listas baixadas com --update continuam sob os termos de quem as publicou.

Passo a Passo: Rodando a Verificação no Computador

Primeiro, clone o repositório e, se for analisar backup criptografado de iPhone, instale a dependência opcional com verificação de hash:

# 1. Baixe o projeto
git clone https://github.com/interplains/Zero-Breach-Toolkit.git
cd Zero-Breach-Toolkit

# 2. (Opcional) dependência para ler backups criptografados do iPhone
#    --require-hashes garante que o pacote baixado é exatamente o esperado
python -m pip install --require-hashes -r requirements-backups.txt

# 3. (Opcional) atualize as listas de indicadores
#    É a ÚNICA etapa que usa internet
python -X utf8 scan/zero-breach-toolkit.py --update

A atualização é opcional porque o projeto já traz um conjunto curado que funciona offline. Mesmo assim, vale rodar: indicadores novos são publicados o tempo todo, e a verificação só é tão boa quanto a lista que ela usa.

Depois, a verificação em si:

# Verificação padrão (mais completa)
python -X utf8 scan/zero-breach-toolkit.py

# Verificação rápida: pula as impressões digitais de arquivos
python -X utf8 scan/zero-breach-toolkit.py --quick

# Relatório em JSON para guardar ou processar depois
python -X utf8 scan/zero-breach-toolkit.py --json relatorio.json

# Resumo mínimo, pensado para compartilhar com quem vai te ajudar
python -X utf8 scan/zero-breach-toolkit.py --share-json resumo.json

O -X utf8 força o Python a usar UTF-8, o que evita erro com nomes de arquivo acentuados no Windows. Aliás, no Windows dá para simplesmente dar dois cliques em scan\run-scan.cmd.

Uma dica prática: rode a primeira vez com --quick para ter uma visão geral em pouco tempo, e depois rode a verificação completa com o computador parado, porque o cálculo de hash de todos os arquivos pesa em disco.

Passo a Passo: Verificando um iPhone

O iPhone é o caso mais comum de interesse, porque foi onde Pegasus e Graphite foram documentados com mais detalhe. O caminho é fazer um backup local e apontar a ferramenta para a pasta dele.

# macOS: onde ficam os backups locais do iPhone
ls ~/Library/Application\ Support/MobileSync/Backup/

# Windows (PowerShell): local padrão dos backups do iTunes
# dir "$env:APPDATA\Apple Computer\MobileSync\Backup"

# Aponte a verificação para a pasta do backup (troque pelo nome real)
python -X utf8 scan/zero-breach-toolkit.py --phone "~/Library/Application Support/MobileSync/Backup/00008110-XXXXXXXXXXXX"

Prefira um backup criptografado. Parece contraintuitivo, mas o backup criptografado do iOS inclui mais dados (como senhas salvas, configurações de Wi-Fi e dados de saúde), o que dá mais material para a análise. Por isso existe a dependência opcional da etapa anterior.

E, para o Android, o fluxo é parecido: você gera uma coleta com o AndroidQF e passa a pasta resultante no mesmo parâmetro --phone.

Como Ler o Resultado Sem Entrar em Pânico

Aqui está a parte que mais importa, e que a própria documentação do projeto deixa clara:

  1. "Algo bateu" significa "olhe mais de perto", não "você está infectado". Um domínio pode ter sido reaproveitado, um nome de processo pode coincidir, um indicador antigo pode ter falso positivo.
  2. "Nada encontrado" não é prova de que o aparelho está limpo. A ferramenta só encontra o que já foi publicado. Um spyware novo, ou uma variante que mudou de infraestrutura, passa batido.
  3. Leia a seção do que não foi verificado. Se metade dos dados ficou de fora por permissão ou por formato não suportado, o resultado vale bem menos.

Se você usou o --json, dá para filtrar o relatório no terminal. Como o formato exato pode mudar entre versões, comece explorando a estrutura antes de montar qualquer filtro:

# Veja as chaves de primeiro nível do relatório
python -c "import json; print(list(json.load(open('relatorio.json', encoding='utf-8')).keys()))"

# Ou navegue pelo arquivo de forma interativa, se tiver o jq instalado
jq 'keys' relatorio.json

E se aparecer algo de verdade? A recomendação do próprio projeto é procurar ajuda especializada antes de sair mexendo no aparelho. A Linha de Ajuda de Segurança Digital da Access Now atende jornalistas, ativistas e defensores de direitos humanos gratuitamente. Formatar o celular no impulso pode apagar justamente a evidência que um perito precisaria.

Zero Breach Toolkit vs MVT: Qual a Diferença

Quem acompanha o tema já conhece o MVT (Mobile Verification Toolkit), criado pelo Security Lab da Anistia Internacional e lançado em julho de 2021, junto com a metodologia forense do Pegasus Project. O MVT é a referência técnica da área e é usado por pesquisadores de verdade.

A diferença está no público:

Aspecto MVT Zero Breach Toolkit
Foco iOS e Android Computador, Android e iPhone
Público Pesquisadores e peritos Usuário técnico e iniciante
Interface Linha de comando com subcomandos (mvt-ios, mvt-android) Script único com opções simples e atalho de dois cliques no Windows
Indicadores Fontes da comunidade forense ~12.400 indicadores de 29 fontes, incluindo Anistia, MVT e Citizen Lab

Na prática, o Zero Breach Toolkit se apoia no trabalho do MVT e o empacota para mais gente. Para uma investigação séria, o MVT e um perito continuam sendo o caminho. Para uma primeira checagem, sem enviar nada para lugar nenhum, o Zero Breach Toolkit reduz bastante a barreira.

Se você quer fortalecer outras camadas além da detecção, vale ler também sobre passkeys e autenticação sem senha com WebAuthn, que fecha uma das portas mais usadas em ataques de sequestro de conta.

O Que Isso Ensina Para Quem Desenvolve Software

Mesmo que você nunca precise rodar essa ferramenta, o projeto tem lições de engenharia que valem para qualquer sistema de segurança:

  • Somente leitura por padrão. Uma ferramenta de diagnóstico que altera o sistema destrói a própria evidência.
  • Rede desligada durante a análise. Isso elimina a pergunta "para onde meus dados estão indo?", que é justamente a desconfiança certa de quem suspeita estar sendo vigiado.
  • Honestidade sobre a cobertura. Relatar o que não foi verificado é mais útil do que um selo verde bonito.
  • Dependências com hash fixo. O --require-hashes do pip protege contra ataque de cadeia de suprimentos, um risco real em ferramentas de segurança.

Esse último ponto se aplica a qualquer projeto Python. Veja como gerar um arquivo de dependências com hashes usando o pip-tools:

# Instale o pip-tools
python -m pip install pip-tools

# Gere requirements.txt com o hash de cada pacote a partir do requirements.in
pip-compile --generate-hashes requirements.in

# Instale exigindo que todo pacote bata com o hash registrado
python -m pip install --require-hashes -r requirements.txt

Se alguém publicar uma versão adulterada de uma dependência, a instalação falha em vez de rodar código desconhecido na sua máquina.

Perspectivas: Detecção Para Todo Mundo

O mercado de spyware mercenário não encolheu com os escândalos: os nomes mudam, as empresas se reorganizam e novas falhas aparecem. Ao mesmo tempo, a defesa ficou mais acessível. Apple e WhatsApp passaram a notificar usuários quando detectam ataques patrocinados por Estados, laboratórios como o Citizen Lab e o da Anistia publicam indicadores abertos, e projetos como o Zero Breach Toolkit transformam esse material em algo que qualquer pessoa consegue rodar.

O limite continua o mesmo: detecção por indicador sempre corre atrás do atacante. Atualizar o sistema rápido, ativar o Modo de Bloqueio do iPhone se você estiver em grupo de risco e reiniciar o aparelho com frequência seguem sendo medidas que valem mais do que qualquer verificação isolada. A ferramenta é uma lanterna, não um escudo.

Bora pra cima! 🦅

📚 Quer Acompanhar o Que Vem Por Aí?

Este artigo cobriu o Zero Breach Toolkit e como verificar spyware tipo Pegasus no celular e no computador, mas o ecossistema muda toda semana e nem tudo vira artigo aqui.

No X eu compartilho o que estou testando, os bastidores dos projetos e as novidades que aparecem antes de virarem post.

Me Segue Lá

👉 Seguir @jeffbruchado no X

💡 Conteúdo diário sobre desenvolvimento, carreira e as ferramentas que eu realmente uso

Comentários (0)

Esse artigo ainda não possui comentários 😢. Seja o primeiro! 🚀🦅

Adicionar comentário