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
Que iniciativa incrível... muito legal.
É um caso bom o suficiente para ser citado em materiais de apresentação externos. Vou salvar isso.
> 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.
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.
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.