Tecnologia

Uma IA de mil dólares encontrou 21 falhas zero-day no FFmpeg

Adrian Kessler

Um agente de IA autónomo leu cerca de 1,5 milhões de linhas do código em C do FFmpeg e regressou com 21 vulnerabilidades zero-day funcionais, cada uma acompanhada de uma entrada reproduzível que a despoleta. O FFmpeg é o motor que descodifica vídeo e áudio dentro de navegadores, leitores multimédia, telemóveis e smart TV, por isso uma brecha aí é uma brecha em quase todo o lado.

Para quem alguma vez abriu uma ligação de vídeo, é precisamente esse o pormenor que importa. O FFmpeg quase nunca aparece no ecrã, mas corre por baixo do VLC, do Chrome, de inúmeras aplicações Android e dos servidores que processam os carregamentos nas maiores plataformas. Um erro num dos seus analisadores pode, em princípio, ser alcançado por um único ficheiro malicioso: um clipe, uma transmissão, uma faixa de legendas preparada para deitar abaixo o programa ou executar código no aparelho que está a descodificar.

O agente vem da DepthFirst AI, uma empresa em arranque de segurança que construiu um sistema para caçar falhas de memória sem que um humano leia o código primeiro. Segundo a empresa, a análise completa custou cerca de mil dólares, um número que apresenta de propósito como 10 por cento do que a Anthropic gastou quando o seu modelo Claude Mythos vasculhou software importante à procura de vulnerabilidades no início deste ano. A verdadeira notícia está por baixo da etiqueta do preço. Encontrar falhas reais e exploráveis em infraestrutura crítica está a tornar-se barato o suficiente para se fazer quase por capricho.

As 21 descobertas são, na sua maioria, as feridas clássicas do código C antigo: estouros de buffer na pilha e na heap, estouros e subtrações de inteiros. Situam-se nas partes do FFmpeg que recebem dados não fiáveis, entre elas o demuxer MPEG-TS, o descodificador VP9, vários depacketizers RTP, o redimensionador swscale e os demuxers DASH e AVI. São exatamente os componentes que tocam num ficheiro ou num fluxo de rede antes de tudo o resto.

Uma das falhas estava no código desde 2003. Um estouro de pilha ligado a uma tabela de descrição de serviços, agora registado como CVE-2026-39214, passou despercebido durante 23 anos apesar de inúmeras revisões e auditorias. A primeira leva de identificadores da DepthFirst vai de CVE-2026-39210 a CVE-2026-39218, estando os restantes problemas corrigidos mas ainda por numerar. Que uma máquina tenha trazido à superfície em dias aquilo que duas décadas de olhos humanos deixaram passar é o título incómodo para a profissão da segurança.

A colheita no FFmpeg chegou na mesma semana em que a Google lançou o Chrome 149, que corrigiu um recorde de 429 vulnerabilidades numa única versão. Mais de 100 foram classificadas como críticas ou altas, na sua maioria erros de uso após libertação de memória e casos em que o navegador confiou em dados que deveria ter verificado. A pior, CVE-2026-10881, é uma leitura e escrita fora dos limites na camada gráfica ANGLE do Chrome, com uma pontuação de gravidade de 9,6 em 10. Uma página preparada poderia usá-la para escapar do ambiente isolado do navegador e executar código na máquina, e a Google pagou 97 000 dólares ao investigador que a comunicou.

Dois números, 21 e 429, contam a mesma história a partir de extremos opostos. A investigação de vulnerabilidades está a industrializar-se. Quer quem encontre as falhas seja um agente de IA ou um programa de recompensas bem financiado, o volume de erros descobertos sobe muito mais depressa do que o número de pessoas disponíveis para os corrigir.

Esse volume é também o ponto onde o entusiasmo embate na realidade. A caça a bugs com IA tem um problema de falsos positivos, porque um modelo pode descrever com toda a confiança uma vulnerabilidade que não existe, ou uma que nenhum atacante conseguiria acionar. Quando a Anthropic anunciou que o Claude Mythos tinha encontrado milhares de zero-days nos principais sistemas operativos e navegadores, vários críticos notaram que o número do título assentava num conjunto muito menor de casos revistos à mão, e leram o anúncio tanto como argumento de venda quanto como resultado de investigação. A DepthFirst diz que o seu agente foi feito para evitar precisamente isso, com barreiras que o impedem de inventar as condições de que uma falha precisa e a exigência de que cada descoberta chegue com uma entrada que prove alcançar o problema. A prova de conceito reproduzível é o que separa um relatório real do ruído.

Ainda assim, mesmo as falhas verificadas criam um problema. O FFmpeg é mantido em grande parte por voluntários, e uma enxurrada repentina de relatórios gerados por máquinas, por mais exatos que sejam, desloca o estrangulamento de encontrar as falhas para as triar e corrigir. O custo de descobrir despenca enquanto o custo da resposta humana não. Uma ferramenta capaz de produzir 21 bugs válidos por mil dólares também os pode produzir mais depressa do que uma equipa pequena consegue absorver com responsabilidade.

Por agora, as falhas do FFmpeg estão corrigidas no código-fonte do projeto, com os números CVE em falta ainda por atribuir, e o Chrome 149 está a ser distribuído aos utilizadores de forma automática ao longo dos próximos dias. A DepthFirst deu a entender que o FFmpeg foi uma demonstração e não um ponto final, e que outras bibliotecas de código aberto muito usadas são as próximas da fila para o mesmo tratamento. Da próxima vez que um agente de IA ler um milhão de linhas de código que corre em silêncio em milhares de milhões de dispositivos, a única pergunta verdadeira será a rapidez com que os humanos do outro lado conseguirão acompanhar.

Etiquetas:

Discussão

Existem 0 comentários.