Pesquisa extrai ativações internas de LLMs para detectar vulnerabilidades em código C/C++
Um novo estudo extrai as ativações internas de quatro LLMs no momento em que leem código C/C++ e treina probes leves sobre elas para prever se o código é vulnerável, sem depender de analisadores estáticos ou classificadores separados. Os probes chegam a igualar o desempenho de classificadores especializados no benchmark Devign, usando menos de 0,2% do tamanho do modelo base, embora percam desempenho em benchmarks mais difíceis e desbalanceados.
O trabalho, de autoria única (Alizishaan Khatri), submetido em 17 de agosto de 2026, testa se as ativações internas de um LLM já carregam sinal sobre a vulnerabilidade de um trecho de código C/C++ no momento em que o modelo simplesmente o lê como contexto, em vez de depender de defesas pós-hoc como analisadores estáticos, classificadores ajustados por fine-tuning ou um LLM juiz que avalia o código já pronto.
Tecnicamente, o autor extrai as ativações do último token de prefill de quatro LLMs de três famílias diferentes (Granite-4.1-8B, Qwen3.5-9B, Qwen3.6-27B, Gemma-4-12B) enquanto cada modelo processa uma função, e treina probes MLP pequenos, entre 13,4 e 16,0 milhões de parâmetros, menos de 0,2% do tamanho do modelo base, sobre essas ativações congeladas, para classificar se o código é vulnerável. A avaliação usa quatro benchmarks estabelecidos de nível de função em C/C++: Devign, Big-Vul, Draper VDISC e PrimeVul.
Os probes atingem F1 médio de 41,7%. No Devign, o melhor probe (sobre o Qwen3.5-9B) chega a 68,8% de F1, igualando o estado da arte publicado com classificadores ajustados especificamente para a tarefa (67,9%), apesar de ser apenas uma sonda leve sobre um modelo geral congelado, não treinado para essa finalidade. Nos benchmarks mais difíceis e desbalanceados, porém, o desempenho cai substancialmente atrás do estado da arte, o que os próprios autores tratam como evidência inicial e promissora, não como um detector pronto para produção.
Para quem avalia IA como ferramenta defensiva, o achado aponta um caminho barato de acoplar triagem de vulnerabilidades a qualquer LLM já usado para gerar ou revisar código, essencialmente aproveitando telemetria que o modelo já calcula internamente, em vez de rodar um analisador estático separado ou treinar um classificador dedicado. Se validado em trabalhos futuros, isso poderia permitir que ferramentas de codificação assistida sinalizem trechos arriscados em tempo real, durante a própria geração, com overhead computacional quase nulo, em vez de esperar por uma etapa separada de CI/SAST; mas a queda acentuada de F1 nos datasets mais difíceis mostra que a técnica ainda não está pronta para substituir scanners existentes, e usá-la como única linha de defesa hoje passaria uma falsa sensação de cobertura.