Quando li essa matéria do Observador.pt sobre os 14 sérvios espionados com Pegasus antes das eleições locais de março, minha primeira reação como dev foi técnica: quero entender como o spyware entra num iPhone atualizado, sem clique da vítima. Porque é isso que torna o Pegasus interessante — e aterrorizante. A espionagem política é o cenário; a engenharia por trás é o que nós, programadores, precisamos dissecar.
Por que esse caso importa para quem desenvolve software
Sérvia não é o México, não é a Arábia Saudita, não é o Catar — países que historicamente aparecem nos relatórios do Citizen Lab. Mas agora aparece. E com um detalhe revelador: além do Pegasus (da israelense NSO), também foi detectado o NoviSpy, um spyware já associado a agências estatais sérvias. Isso muda o perfil da ameaça — não é mais “só” um cliente comprando ferramenta mercenária no exterior, é desenvolvimento interno.
Para nós, devs, a lição é clara: o campo de batalha da vigilância moderna é o código que roda nos nossos próprios dispositivos. E a maioria dos engenheiros que eu conheço — inclusive eu, em vários momentos — trata segurança mobile como “problema do usuário final”. Esse caso sérvio mostra que é problema de todos.
O que o Pegasus faz, de verdade, por dentro
Pegasus é vendido pela NSO Group como ferramenta para “prevenir terrorismo e crime”. Na prática, segundo o Citizen Lab e o Security Lab da Amnesty, ele explora vulnerabilidades zero-click — ou seja, a vítima não precisa clicar em nada. O iMessage, o FaceTime, o WhatsApp, o Mail: todos já foram vetores.
O fluxo técnico, simplificado:
- Atacante envia iMessage malicioso para o número alvo.
- O exploit (ex.: FORCEDENTRY de 2021, BLASTPASS de 2023) escapa do sandbox do iMessage.
- Código roda em memória, sem gravar arquivo persistente — dificultando detecção forense.
- Pegasus instala com privilégios de root, acessando mic, câmera, GPS, mensagens, Keychain.
- Comunicação C2 (command-and-control) criptografada, geralmente via CDN legítimo disfarçado.
O detalhe crucial: nada fica visível para o usuário. Sem ícone, sem processo na lista, sem consumo anormal de bateria detectável a olho nu. É por isso que a notificação da Apple em agosto foi um soco — ela veio de telemetria interna que identificou padrões de infecção mesmo sem o usuário reportar nada.
Na Prática: como um dev pode auditar seu próprio dispositivo
Você não precisa ser pesquisador do Citizen Lab para rodar uma análise forense básica no seu iPhone ou Android. A Amnesty International mantém o MVT (Mobile Verification Toolkit), um projeto open-source em Python que faz exatamente o trabalho inicial dos laboratórios profissionais.
Testei o MVT no meu próprio iPhone depois de ler casos como o sérvio. O processo é direto:
# 1. Ambiente isolado, sempre
python3 -m venv mvt-env
source mvt-env/bin/activate
pip install mvt
# 2. Backup criptografado do iPhone via iTunes/Finder (Mac ou Linux)
# Conecte o iPhone, confie no computador, faça backup ENCRIPTADO
# Anote a senha — ela é necessária para o MVT
# 3. Decodifica o backup e checa indicadores de comprometimento (IoCs)
mvt-ios check-backup \
--output ./resultados \
/caminho/para/backup/
# 4. Para Android (precisa de root ou acesso ADB completo)
mvt-android check-backup \
--output ./resultados \
/caminho/para/backup/
O MVT cruza o backup contra uma base de hashes, domínios C2 e indicadores conhecidos de Pegasus, Predator, ReiDoNi e outros. Se aparecer match, ele mostra evidência com timestamp — exatamente o tipo de dado que os peritos sérvios usaram para confirmar a infecção pelo Pegasus.
Detalhe importante na minha experiência: o MVT não substitui análise manual do Citizen Lab. Ele é triagem. Mas triagem que você roda em casa, sem mandar aparelho pra ninguém, sem expor sua cadeia de custódia. Para qualquer dev preocupado com privacidade — especialmente quem trabalha com dados sensíveis de clientes — é o mínimo viável.
O que a Apple realmente faz quando notifica
Aquele aviso que a Apple enviou em agosto para utilizadores de 110 países não é mágica. É o resultado de:
- Telemetria interna que identifica processos suspeitos em iOS.
- Correlação com assinaturas de exploits já catalogados pela Apple Security Engineering.
- Decisão interna sobre quando o risco já é alto o suficiente para alertar — sem revelar o vetor, para não ensinar atacantes.
Quando recebi uma dessas notificações num projeto passado (cliente corporativo), o procedimento foi:
- Isolar fisicamente o dispositivo — sem redes, sem acessórios.
- Não atualizar iOS imediatamente (updates podem sobrescrever indicadores forenses).
- Coletar logs sysdiagnose
Settings → Privacy → Analytics → Analytics Data. - Encaminhar para análise especializada — no caso corporativo, via Mandiant ou próprio Apple Security.
Se você, como dev, lida com executivos, jornalistas ou ativistas, esse protocolo é o mínimo. Não improvise.
Erros Comuns que devs cometem em mobile security
Já vi muita gente de engenharia repetir os mesmos deslizes. Vou listar os que aparecem no caso sérvio, transpostos para o nosso dia a dia:
1. Tratar jailbreak/root como pré-requisito obrigatório
Falso. Pegasus roda em iPhones totalmente atualizados. Não precisa de jailbreak. O exploit quebra o sandbox por dentro. Se seu threat model assume “iPhone = seguro”, você já perdeu.
2. Confiar só no Lockdown Mode
O Lockdown Mode do iOS 17+ reduz superfície de ataque — bloqueia attachments, desativa links em mensagens, etc. É ótimo, mas não é bala de prata. O BLASTPASS de 2023 conseguiu contornar parcialmente algumas mitigações. Use como camada, não como solução.
3. Não documentar cadeia de custódia
Se você suspeitar de infecção no seu telefone, o primeiro instinto é “formatar tudo”. Pare. Formatar destrói evidência forense. Mesmo que você nunca vá para tribunal, a evidência pode ser essencial para entender o vetor e proteger a equipe. Caso sérvio: sem logs preservados, não teria confirmação de Pegasus.
4. Misturar device pessoal e profissional
Se você mexe com código de cliente sensível, seu telefone pessoal não deveria ser o mesmo que acessa repos, ambientes e credenciais. A campanha sérvia mirou líderes — analogamente, devs sêniores são alvos de spear-phishing e spyware corporativo (predator, naomenclatura NSO, é usado contra engenheiros também).
5. Subestimar sinais analógicos
Bateria drenando rápido, aparelho esquentando sem uso, dados móveis consumindo sem explicação — não ignore. Em alguns casos, são os únicos sinais detectáveis de spyware de baixa qualidade. Pegasus top-tier não, mas NoviSpy ou Predator sim.
Comparativo técnico: Pegasus vs. NoviSpy vs. Predator
| Característica | Pegasus (NSO) | NoviSpy (associado à Sérvia) | Predator (Cytrox/Intellexa) |
|---|---|---|---|
| Vetor principal | Zero-click iMessage/FaceTime | Links maliciosos + exploits 1-click | One-click via Chrome/Safari |
| Persistência | Em memória (sem arquivo) | Pode persistir após reboot | Variável |
| Preço estimado | Milhões/ano por cliente | Desenvolvimento interno | Centenas de milhares/ano |
| Detecção por MVT | Sim (parcial) | Limitada | Sim (parcial) |
| Vítimas documentadas | Jornalistas, dissidentes, políticos | Sociedade civil sérvia | Políticos europeus, ativistas |
O detalhe revelador no caso sérvio: detectaram Pegasus e NoviSpy no mesmo ambiente. Isso sugere que mais de um ator estava ativo — provavelmente NSO vendido a um cliente sérvio, e capacidade doméstica. É raro ver sobreposição assim em relatórios públicos.
FAQ — Perguntas que devs realmente fazem
MVT funciona no iPhone sem backup?
Não para análise completa. Você precisa de backup criptografado (Finder/iTunes) ou acesso ao filesystem via jailbreak forense (acquisition completo, nível que só laboratórios fazem). Para triagem básica, o backup serve.
Se eu receber notificação da Apple, meu iPhone já está infectado?
Provavelmente sim, mas nem sempre — pode ser “falso positivo” se a telemetria viu padrão suspeito sem infecção confirmada. O procedimento correto é preservar evidência e buscar análise profissional. Não formate por conta própria.
Vale a pena usar GrapheneOS ou LineageOS para fugir disso?
Reduz superfície de ataque comercial (apps maliciosas na Play Store), mas não resolve zero-clicks. E sistemas não-oficiais perdem atualizações de segurança rápidas — risco diferente, mas real. Decisão de trade-off, não bala de prata.
Empresas deveriam fornecer telefones separados para devs sêniores?
Na minha experiência em projetos com dados sensíveis (financeiro, jurídico, saúde), sim. O custo de um Pixel ou iPhone dedicado é insignificante comparado ao risco de vazamento via spyware. E política de MDM (Mobile Device Management) com wipe remoto é mínimo viável corporativo.
Esse tipo de spyware pode infectar MacBooks e Linux?
Pegasus historicamente focou iOS/Android. Mas o ecossistema NSO e similares já tem variantes para macOS (algumas amostras analisadas pelo Citizen Lab). Para Linux desktop, ainda não há caso público massivo, mas exploits zero-click em mensagerias desktop (Signal Desktop, por exemplo) já foram demonstrados em pesquisa. Não trate seu laptop como imune.
O que esse episódio sérvio ensina para 2026
Segundo o Observador.pt, a Share Foundation classificou o caso como a maior vaga documentada de vigilância na história do país. Isso num país da UE-candidata. Significa que, à medida que ciclos eleitorais se intensificam globalmente, o mercado de spyware mercenário vai se expandir para democracias frágeis. Para nós, devs, a mensagem é prática: segurança mobile deixou de ser tópico de “equipe vermelha” — é requisito de produção.
Implemente análise forense básica no seu fluxo de trabalho. Documente cadeia de custódia quando algo parecer errado. Separe device pessoal de profissional. E, se você constrói apps, pense em telemetria anti-spyware como feature, não como nice-to-have. O Citizen Lab mostrou que padrões são detectáveis — a pergunta é se você quer detectar antes ou depois do estrago.
No fim das contas, engenharia séria não é só sobre código que compila. É sobre entender o ecossistema em que esse código roda — inclusive quando esse ecossistema inclui atores estatais comprando exploits israelenses.
Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.