O Two Minute Papers, canal do YouTube que explica artigos de pesquisa para o público geral, repercutiu o AlphaProof Code da DeepMind, e o artigo por trás merece a atenção. A afirmação principal é que agentes de IA provaram propriedades de segurança essenciais do protocolo do Signal não num modelo simplificado, mas no código de máquina que de fato roda nos celulares. Para quem depende de Signal, WhatsApp ou Google Messages, é nesse nível que os bugs reais costumam se esconder.
O artigo é mais preciso que a cobertura. O alvo foi a libsignal, a implementação de referência, escrita em Rust e compilada com o compilador padrão para código de máquina AArch64, que foi carregado no Lean junto com um modelo formal do processador. Os agentes produziram cerca de 6,5 milhões de linhas de prova verificada por máquina, apoiadas em cerca de 26.000 linhas de especificação confiável e semântica do processador. As provas cobrem o handshake pós-quântico PQXDH e o Triple Ratchet, estabelecendo sigilo futuro, autenticação, segurança pós-comprometimento e sigilo do handshake. O blog da DeepMind diz que o trabalho levou quatro semanas, com pessoas revisando cada especificação e cerca de 1% do código que os agentes sinalizaram.
O desenho é o que torna a afirmação crível. Os agentes provadores são tratados como não confiáveis. Um agente porteiro só aceita uma prova se o kernel do Lean a verificar e um comparador confirmar que ela prova exatamente uma cópia reservada da especificação aprovada, de modo que um agente não consegue enfraquecer o objetivo às escondidas. Para comparação, o artigo lembra que verificar o microkernel seL4 levou vinte pessoas-ano e o compilador CompCert seis, ambos escritos já pensando na verificação.
O mesmo padrão está chegando às ferramentas comuns de desenvolvimento. Nossa avaliação do Lean LSP MCP trata de um servidor que dá a um agente o estado da prova e os erros do Lean para que ele escreva provas que o verificador aceite, e os agentes aqui rodavam no Gemini 4 Carbon. A lição para quem usa IA em código importante é colocar entre o modelo e o resultado um verificador com quem não se discute.
Os limites estão escritos no próprio artigo. Os resultados confiam no kernel do Lean, na segurança das primitivas criptográficas de base e no comportamento de algumas rotinas que o código chama. Uma prova cobre apenas o que a especificação diz, então uma falha nessas 26.000 linhas confiáveis seria uma falha na garantia. Os artefatos estão abertos para conferência, e esse escrutínio independente ainda não aconteceu.