Executando verificação de segurança...
2

Pesquisadores desenvolvem ferramenta open-source capaz de identificar vulnerabilidades zero-day em códigos Python

O Vulnhuntr, criado pela equipe da Protect AI, utiliza o modelo Claude, da Anthropic. Segundo Dan McInerney, pesquisador principal de ameaças em IA da empresa e um dos desenvolvedores do software, a ferramenta automatiza a detecção de vulnerabilidades em arquivos que provavelmente lidam com entradas de usuários remotos, rastreando possíveis falhas.

Para cada vulnerabilidade encontrada, o modelo recebe um prompt otimizado, entrando em um ciclo no qual solicita, de forma inteligente, funções, classes e variáveis de outras partes do código até mapear completamente a cadeia de chamadas, da entrada do usuário até a saída do servidor. McInerney destaca que essa abordagem supera os analisadores de código estático tradicionais, reduzindo significativamente falsos positivos e negativos, pois consegue analisar a cadeia completa, em vez de apenas fragmentos do código.

Essa metodologia permite a detecção de vulnerabilidades complexas e em várias etapas, indo além de simplesmente identificar funções conhecidas por suas implicações de segurança, como “eval()”. Até o momento, o Vulnhuntr identificou mais de uma dúzia de vulnerabilidades zero-day em grandes projetos Python de código aberto, que ainda não haviam sido detectadas ou relatadas aos mantenedores.

A ferramenta foca em sete tipos de vulnerabilidades:

  • Sobrescrita Arbitrária de Arquivos (AFO)
  • Inclusão Local de Arquivos (LFI)
  • Server-Side Request Forgery (SSRF)
  • Cross-Site Scripting (XSS)
  • Referências Diretas a Objetos Inseguros (IDOR)
  • Injeção de SQL (SQLi)
  • Execução Remota de Código (RCE)

Projetos afetados incluem:

  • gpt_academic, 64 mil estrelas no GitHub, LFI, XSS
  • ComfyUI, 50 mil estrelas, XSS
  • FastChat, 35 mil estrelas, SSRF
  • Ragflow, 16 mil estrelas, RCE

No entanto, o Vulnhuntr possui algumas limitações. Atualmente, funciona apenas em código Python e depende de um analisador estático dessa linguagem, o que pode gerar falsos positivos ao lidar com projetos Python que incorporam outras linguagens, como TypeScript. Ao gerar exploits de prova de conceito (PoC), o software atribui uma pontuação de confiança de 1 a 10. Uma pontuação de 7 indica alta probabilidade de ser uma vulnerabilidade válida, enquanto pontuações de 8 ou mais sugerem forte validação. Já pontuações de 6 ou menos indicam uma baixa probabilidade de validade.

Outro desafio é a natureza não determinística dos LLMs, que podem gerar resultados diferentes para o mesmo prompt em execuções distintas, exigindo múltiplas tentativas. Ainda assim, McInerney acredita que o Vulnhuntr representa um grande avanço em relação aos analisadores de código estático convencionais.

O Vulnhuntr será lançado gratuitamente no GitHub, embora a data ainda não tenha sido definida.

Carregando publicação patrocinada...