
CVE-Factory
CVE-Factory é um sistema Multi-Agente para reprodução de CVEs totalmente automatizada, de ponta a ponta. Dados registros de CVE, o sistema automaticamente pesquisa detalhes, gera casos de teste, constrói ambientes Docker e valida que cada vulnerabilidade pode ser tanto explorada quanto corrigida. O pipeline transforma metadados de CVE em ambientes de vulnerabilidade reproduzíveis e testáveis, sem intervenção manual.
⚠️ Aviso de Segurança: Este sistema constrói e executa contêineres Docker contendo software vulnerável. Você DEVE usar o ambiente Docker-in-Docker (DinD) para isolar os contêineres de CVE do seu sistema host. Nunca execute o CVE-Factory diretamente no seu daemon Docker host.
Insira registros de CVE e obtenha um ambiente completo de reprodução de CVE. Seguindo o padrão Terminal Bench, cada pacote de tarefa gerado inclui:
Dockerfile e docker-compose.yaml hospedando a aplicação vulneráveltask.yaml contendo descrições de instruções estruturadas (sem identidade de CVE)solution.sh para corrigir a vulnerabilidaderun-tests.sh para iniciar a avaliaçãoProjetado especificamente para tarefas de segurança, nossa lógica de teste é dividida em:
Sem pesquisa manual, sem codificação manual — totalmente automatizado de metadados brutos de CVE até reprodução validada.
Estrutura de Artefato Gerado:
CVE-2025-XXXX/
├── task.yaml # Metadados Estruturados da Tarefa
├── Dockerfile # Configuração do Ambiente Vulnerável
├── docker-compose.yaml # Orquestração de Serviços
├── task-deps/
├── solution.sh # Correção Verificada
└── test/
├── test_func.py # Verificação de Funcionalidade
├── test_vuln.py # Verificação de Exploração de Vulnerabilidade
└── run-tests.sh # Script de Avaliação com Um Clique
Em uma avaliação em larga escala de 554 CVEs de 2025, o CVE-Factory reproduziu com sucesso 499 casos, alcançando uma taxa de sucesso de 90,1%. Além disso, uma revisão rigorosa de especialistas em 471 casos bem-sucedidos confirmou que 312 tarefas (66,2%) foram reproduzidas completa e precisamente!
Quando comparado a especialistas em segurança usando informações iniciais idênticas, nosso sistema alcançou uma taxa de aprovação de verificação de ~95% na construção de ambiente e solução — demonstrando capacidade de nível especialista em reprodução automatizada de vulnerabilidades.
📂 Conjunto de Dados Aberto: Lançamos mais de 1.000 ambientes de tarefas CVE no diretório
cve_tasks/:
trainset/(887 tarefas): Usado para treinar Abacus-cve. Os mais de 4.000 traços de agentes destilados no Hugging Face 🤗 são gerados a partir dessas tarefas usando Claude Opus 4.5 com um harness Mini SWE-Agent.trainset-2/: Tarefas adicionais com dificuldade relativamente mais simples. Não incluídas nos dados de treinamento.- NOVO: 3.181 tarefas adicionais disponíveis em
cve_tasks_3k_compressedno Hugging Face (arquivo compactado devido a limites de tamanho), com 18,8k traços de agentes para treinar Abacus-cve-v1.1.
O fine-tuning em traços do CVE-Factory produz melhorias dramáticas em benchmarks de segurança. Qwen3-32B alcança uma melhoria de ~6,8× no LiveCVEBench (5,29% → 35,79%), ~4,2× no PatchEval (5,66% → 23,58%) e ainda mostra ganhos significativos no Terminal-Bench (12,50% → 28,75%) — demonstrando forte generalização entre tarefas.
| Model | LiveCVEBench | PatchEval | Terminal-Bench | Avg |
|---|---|---|---|---|
| Qwen3-32B (base) | 5.29 | 5.66 | 12.50 | 7.82 |
| Abacus-cve (Ours) | 35.79 | 23.58 | 28.75 | 29.37 |
| Qwen3-Coder-30B | 10.58 | 9.91 | 13.75 | 11.41 |
| Qwen3-Coder-480B | 19.58 | 19.34 | 36.25 | 25.06 |
| MiniMax-M2 | 24.87 | 19.34 | 37.50 | 27.24 |
| Claude Sonnet 4 | 20.11 | 22.64 | 33.75 | 25.50 |
| Claude Sonnet 4.5 | 34.39 | 28.77 | 45.00 | 36.05 |
| Claude Opus 4.5 | 41.27 | 32.08 | 48.75 | 40.70 |
Com apenas 4 mil traços, o Abacus-cve (32B) supera Qwen3-Coder-480B, MiniMax-M2 e Claude Sonnet 4, aproximando-se do nível Claude Sonnet 4.5 em tarefas de segurança.
NOVO: Abacus-cve-v1.1 treinado com 18,8 mil traços alcança ganhos adicionais (+3,83 no LiveCVEBench, +2,38 no PatchEval). Veja cve_train_v1.1 para os dados de treinamento expandidos.
Diferente de workflows rígidos de recuperação ou loops simples de uso de ferramentas, cada agente opera como uma sessão Claude Code completa. Não codificamos etapas; em vez disso, definimos cada agente por sua Função (ex: Analyzer), Objetivo (ex: "Construir um ambiente vulnerável"), Recursos (ex: Acesso a documentos específicos) e Método de Verificação (ex: "Deve passar em check_env_ready"). Os agentes agem como desenvolvedores humanos: exploram arquivos autonomamente, depuram erros, leem logs e iteram em soluções dentro de seu espaço de trabalho designado.