Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
FuzzingBrain-Bench — A benchmark for LLM-driven bug discovery: 77 challenges across 43 open-source projects (C/C++/Java). | Kitploit
Ferramentas/GitHubGitHub/fuzzingbrain/fuzzingbrain-bench
Dynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzingLearning & EducationAI SecurityLabs & Practice
GitHubfuzzingbrain/fuzzingbrain-bench

FuzzingBrain-Bench

A benchmark for LLM-driven bug discovery: 77 challenges across 43 open-source projects (C/C++/Java).

Ver Repositório
8378há 7 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Site
Compartilhar

FuzzingBrain Bench

Um benchmark para reprodução de vulnerabilidades orientada por LLM em 77 bugs reais de dia zero em 43 projetos de código aberto (C / C++ / Java).

Cada desafio dá ao agente apenas o fuzz harness (o alvo) e o código-fonte do projeto na revisão vulnerável — sem patch, sem commit de correção, sem linha alvo. O agente deve descobrir uma entrada que re-dispare uma falha sob o sanitizer. Cada nota é determinística (sem LLM-como-juiz) e acontece dentro da imagem e offline: o candidato passa pelo harness oficial instrumentado com sanitizer embutido no contêiner do desafio, e a execução é pontuada pelas falhas distintas que o agente disparou. Nada sai da máquina e nenhum serviço precisa estar ativo.

DesafiosProjetosLinguagensAvaliador
77 ponta a ponta43C · C++ · Javadeterminístico — dentro da imagem, offline

Nada nas imagens ou neste repositório revela o que é um bug — os desafios são nomeados por alias neutro (<projeto>-NN, ex.: avro-03), e o gabarito (PoC, falha esperada, build corrigido) não está em nenhum dos dois: fica com o mantenedor. Veja todos os 77: tools/sealed/CHALLENGES.md.


Início rápido

1. Configuração

git clone https://github.com/fuzzingbrain/FuzzingBrain-Bench
cd FuzzingBrain-Bench

python3 -m venv .venv && source .venv/bin/activate   # recomendado (e obrigatório no
                                                     # Debian/Ubuntu, PEP 668)
pip install -e .                              # precisa de Python ≥ 3.10 e Docker

# coloque sua(s) chave(s) de modelo em ./.env — carregada automaticamente a cada execução, sem export
cat > .env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=sk-...
EOF

fb-bench list                                 # os 77 desafios (por alias)
fb-bench models                               # modelos suportados + quais chaves estão carregadas

(./.env é lido automaticamente; um simples export ANTHROPIC_API_KEY=... também funciona.)

Re-source .venv/bin/activate em cada novo shell. Ou pule o venv com pip install --break-system-packages -e . (não recomendado).

fb-bench run baixa a imagem pública do desafio, conduz o loop do agente no host (chamando sua API de modelo) e avalia cada candidato dentro dessa imagem — sem rede, nada para alcançar. Apenas Docker + sua chave de modelo são necessários, e uma execução pontua as falhas distintas que o agente encontrou — a identidade de uma falha é seu tipo de falha do sanitizer mais seus principais frames de pilha, então a mesma falha atingida vinte vezes conta uma vez.

O padrão --arm api não precisa de nada além do acima. Os backends --arm codex e --arm claudecode precisam de CLIs de fornecedor extras — opcionais, instalados separadamente (nunca parte do pip install -e .); veja §4.

2. Executar um desafio com um modelo

# Família Claude  (haiku é o mais barato/rápido; troque por opus/sonnet para execuções mais difíceis)
fb-bench run avro-03 --model claude-haiku-4-5

# Família GPT
fb-bench run avro-03 --model gpt-5.5

# Família Gemini
fb-bench run avro-03 --model gemini-3.1-pro-preview

# Família DeepSeek  (endpoint compatível com OpenAI; precisa de DEEPSEEK_API_KEY)
fb-bench run avro-03 --model deepseek-v4-flash

Modelos: claude-haiku-4-5 · claude-sonnet-4-6 · claude-opus-4-8 · gpt-5.5 · gpt-5.4 · gpt-5 · gemini-3.1-pro-preview · gemini-2.5-flash · deepseek-v4-pro · deepseek-v4-flash (qualquer id do catálogo funciona via --model; veja fb-bench models).

3. Executar muitos — mesmo comando, um ou muitos

fb-bench run aceita um bug ou muitos, um modelo ou muitos. Uma única execução é apenas uma matriz de tamanho um, então não há comando separado de "varredura":

# execução completa recomendada: um modelo sobre todo o corpus, saída nomeada, PoCs
# preservados (o padrão) para inspeção posterior. O agente continua caçando além de
# sua primeira falha a menos que você passe --stop-on-crash
fb-bench run all --model claude-haiku-4-5 --output run1 --max-turns 100

# a escalação padrão entre modelos, todos os desafios, 4 células em paralelo
fb-bench run all --model default-lineup --output sweep1 --jobs 4

# alguns bugs, 3 amostras cada
fb-bench run avro-03,jq-01 --model gpt-5.5 --samples 3 --output probe

# apenas reimprimir o leaderboard de uma execução existente
fb-bench run all --model claude-haiku-4-5 --output run1 --report-only

<bugs> é um alias, uma lista separada por vírgula ou all; --model é um id, uma lista separada por vírgula, default-lineup ou all. Os resultados ficam em output/<nome>/<bug>/<modelo>/seed-N/ (score.json, episode.jsonl, transcript.jsonl, cost.json, traj.md destilado); um leaderboard é impresso ao final. --output aceita um nome simples (aninhado em output/) ou um caminho (usado como está). Cada execução tem sua própria pasta: omita --output e ela cai em output/run_<timestamp>; nomeie uma pasta que já existe e uma nova execução cria <nome>_<timestamp> em vez de retomar dentro dela — então duas execuções nunca compartilham resultados (--report-only é o único leitor, abrindo uma pasta no lugar).

4. Modos de agente — mesmo run, escolha o backend com --arm

Os três backends de agente compartilham uma entrada. --arm seleciona qual deles conduz o desafio; todo o resto (<bugs>, --jobs, --samples, --output, a pasta por execução, o leaderboard) é idêntico entre os arms.

fb-bench run avro-03 --model gpt-5.5            # --arm api (padrão): modelo do provedor
fb-bench run avro-03 --arm codex               # CLI codex da OpenAI (padrão gpt-5.5)
fb-bench run avro-03 --arm claudecode --model sonnet --auth sub   # CLI Claude Code
fb-bench run all     --arm codex --jobs 4      # corpus inteiro, em lote
  • --arm codex conduz o codex exec da OpenAI sobre o servidor MCP do bench. --model define o modelo do codex (padrão gpt-5.5), fixado via seu config.toml.
  • --arm claudecode conduz a CLI do Claude Code. --model escolhe o modelo claude (sonnet/opus/haiku).

Ambos os arms de fornecedor aceitam --auth {api,sub}: api = a chave de API do provedor (OPENAI_API_KEY / ANTHROPIC_API_KEY, pay-go, sem throttle), sub = um login de assinatura (codex: um plano ChatGPT Plus/Pro/Business/Edu/Enterprise; claudecode: OAuth do claude.ai). O padrão é auto — prefira api quando a chave de API estiver presente, caso contrário caia para sub.

Opcional — instale a CLI do fornecedor para o arm que você usa

Estes são extras opcionais e não são instalados por pip install -e .. O padrão --arm api nunca precisa deles. Instale apenas a CLI cujo arm você planeja executar (ambas precisam de Node):

# --arm codex → CLI Codex da OpenAI. Autentique uma vez, combinando com o --auth que você usa:
npm install -g @openai/codex
#   --auth api (padrão quando OPENAI_API_KEY está definida):
printenv OPENAI_API_KEY | codex login --with-api-key
#   --auth sub (precisa de um plano ChatGPT Plus/Pro/Business/Edu/Enterprise; uma conta
#   gratuita do ChatGPT não pode usar os modelos codex):
codex login                                  # entre com seu plano ChatGPT

# --arm claudecode → CLI Claude Code.
npm install -g @anthropic-ai/claude-code
#   --auth api (padrão quando ANTHROPIC_API_KEY está definida): nada a fazer
#   --auth sub: login OAuth único no claude.ai
claude

A tarefa é sempre cega

Baixar ferramenta