46 pontos por nuremberg 2025-12-04 | 5 comentários | Compartilhar no WhatsApp

Resumo geral em uma linha

  • Um pipeline barato combinando prompt de LLM e empacotamento do código-fonte encontrou 3 vulnerabilidades de negação de serviço em Django e FastAPI (Starlette) (CVE-2025-64458, CVE-2025-64460, CVE-2025-62727)

Resumo

  • Ao ver equipes de ponta no DEF CON LiveCTF e no DARPA AIxCC usando LLMs para explorar binários e até encontrar novos 0-days, ficou claro que, em pesquisa ofensiva real, LLMs podem mostrar mais eficiência do que humanos em certos casos
  • Analisando o arquivo GitHub e o design do RoboDuck das equipes participantes do AIxCC (Team Atlanta, Theori), surgiu a percepção de que a abordagem de “encontrar bugs com LLM em vez de fuzzing” poderia ser adaptada ao workflow de descoberta de vulnerabilidades
  • Aproveitando o contexto acumulado ao reportar vários problemas de segurança em Django, DRF e Python, foi definido como objetivo inicial claro usar LLMs para encontrar novas vulnerabilidades da classe denial-of-service no framework Django
  • Diferentemente dos modelos do AIxCC, que automatizam tudo até análise binária e patching, foi desenhada uma estrutura voltada a Django, por ser baseado em scripts, que automatiza apenas a etapa de “reunir candidatos a segmentos de código com aparência vulnerável”, limitando o custo a poucos dólares
  • Foi dado ao LLM o papel de “pesquisador de segurança que encontra vulnerabilidades em Django”, reunindo em um prompt longo exemplos de diff de CVEs de DoS, restrições em <tips> e exemplos de formato de saída, com foco em evitar sugestões de patch desnecessárias e reduzir a taxa de falso positivo
  • O código-fonte do Django foi empacotado em XML por diretório e dividido em partes com menos de 40K tokens antes de ser enviado ao GPT-5, permitindo percorrer todo o framework mantendo o custo de execução em cerca de 5 dólares
  • Ao revisar os candidatos falsos positivos encontrados no workflow, também foi possível identificar padrões vulneráveis que haviam passado despercebidos por anos. Mesmo no processo de validação, o modelo mostrou grande capacidade para explicar a causa raiz dos problemas de segurança e escrever PoCs
  • Depois, em vez da API da OpenAI, foi usado o Codex CLI com um prompt em AGENTS.md para vasculhar ativamente o código do Django, e o resultado foi a descoberta de uma vulnerabilidade de DoS O(n²) no tratamento de hostname de URL em HttpResponseRedirectBase, registrada como CVE-2025-64458
  • Aplicando o mesmo prompt ao FastAPI (mais precisamente ao Starlette), foi revelado que a lógica de mesclagem do cabeçalho Range em FileResponse pode causar ReDoS por meio de processamento O(n²) baseado em regex, sendo divulgada como CVE-2025-62727 e avaliada com CVSS 8.7 (High) segundo a Snyk

5 comentários

 
kdy1234 2025-12-06

Que iniciativa incrível... muito legal.

 
princox 2025-12-05

É um caso bom o suficiente para ser citado em materiais de apresentação externos. Vou salvar isso.

 
heycalmdown 2025-12-04

> Do ponto de vista do capital, acredito que, quanto mais uma tarefa de alto contexto exigir prompts detalhados e longos, mais tarde sua substituição inevitavelmente acontecerá.

Acho que esse trecho também é um insight excelente.

 
gguimoon 2025-12-04

Eu também só tinha interesse e ainda não tinha me aprofundado de verdade, mas este texto traz tanto motivação quanto insights. Recomendo a leitura.

 
heycalmdown 2025-12-04

O conteúdo do texto é bem melhor do que eu imaginei pelo resumo e pelo preconceito inicial (clickbait...). Recomendo a leitura do original para quem tiver interesse.