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 --updateA 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.jsonO -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:
- "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.
- "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.
- 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.jsonE 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-hashesdo 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.txtSe 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á
💡 Conteúdo diário sobre desenvolvimento, carreira e as ferramentas que eu realmente uso

