Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
FuzzingBrain-Bench — A benchmark for LLM-driven bug discovery: 77 challenges across 43 open-source projects (C/C++/Java). | Kitploit
Tools/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).

Repository anzeigen
8378vor 7 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

FuzzingBrain Bench

Ein Benchmark für LLM-gesteuerte Schwachstellen-Reproduktion an 77 realen Zero-Day-Bugs in 43 Open-Source-Projekten (C / C++ / Java).

Jede Herausforderung gibt dem Agenten nur den Fuzz-Harness (das Ziel) und den Projektquellcode in der verwundbaren Revision — kein Patch, kein Fix-Commit, keine Zielfunktion. Der Agent muss eine Eingabe finden, die unter dem Sanitizer einen Fehler erneut auslöst. Jede Bewertung ist deterministisch (kein LLM-als-Juror) und erfolgt im Image und offline: Der Kandidat läuft durch den offiziellen, mit Sanitizer instrumentierten Harness, der im Challenge-Container eingebaut ist, und der Lauf wird anhand der unterschiedlichen Crashes bewertet, die der Agent ausgelöst hat. Nichts verlässt die Maschine und es muss kein Dienst laufen.

HerausforderungenProjekteSprachenBewertung
77 End-to-End43C · C++ · Javadeterministisch — im Image, offline

Nichts in den Images oder in diesem Repository verrät, was ein Bug ist — Herausforderungen sind nach neutralen Aliasen benannt (<projekt>-NN, z. B. avro-03), und der Lösungsschlüssel (PoC, erwarteter Fehler, korrigierter Build) befindet sich in keinem von beiden: Er bleibt beim Maintainer. Alle 77 durchsuchen: tools/sealed/CHALLENGES.md.


Schnellstart

1. Einrichtung

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

python3 -m venv .venv && source .venv/bin/activate   # empfohlen (und erforderlich auf
                                                     # Debian/Ubuntu, PEP 668)
pip install -e .                              # benötigt Python ≥ 3.10 und Docker

# Modell-Schlüssel in ./.env ablegen — wird bei jedem Lauf automatisch geladen, kein Export nötig
cat > .env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=sk-...
EOF

fb-bench list                                 # die 77 Herausforderungen (nach Alias)
fb-bench models                               # unterstützte Modelle + welche Schlüssel geladen sind

(./.env wird automatisch gelesen; ein einfaches export ANTHROPIC_API_KEY=... funktioniert ebenfalls.)

source .venv/bin/activate in jeder neuen Shell erneut ausführen. Oder die venv mit pip install --break-system-packages -e . überspringen (nicht empfohlen).

fb-bench run zieht das öffentliche Challenge-Image, steuert die Agentenschleife auf dem Host (durch Aufruf Ihrer Modell-API) und bewertet jeden Kandidaten innerhalb dieses Images — kein Netzwerk, nichts zu erreichen. Es werden nur Docker + Ihr Modellschlüssel benötigt, und ein Lauf bewertet die unterschiedlichen Crashes, die der Agent gefunden hat — die Identität eines Crashes ist sein Sanitizer-Fehlertyp plus seine obersten Stack-Frames, sodass derselbe Fehler zwanzigmal getroffen nur einmal zählt.

Der Standard---arm api benötigt nichts weiter als das oben Genannte. Die --arm codex- und --arm claudecode-Backends benötigen zusätzliche Vendor-CLIs — optional, separat installiert (niemals Teil von pip install -e .); siehe §4.

2. Eine Herausforderung mit einem Modell ausführen

# Claude-Familie  (haiku ist am günstigsten/schnellsten; für schwierigere Läufe opus/sonnet einsetzen)
fb-bench run avro-03 --model claude-haiku-4-5

# GPT-Familie
fb-bench run avro-03 --model gpt-5.5

# Gemini-Familie
fb-bench run avro-03 --model gemini-3.1-pro-preview

# DeepSeek-Familie  (OpenAI-kompatibler Endpunkt; benötigt DEEPSEEK_API_KEY)
fb-bench run avro-03 --model deepseek-v4-flash

Modelle: 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 (jede Katalog-ID funktioniert über --model; siehe fb-bench models).

3. Viele ausführen — gleicher Befehl, eines oder viele

fb-bench run nimmt einen Bug oder viele, ein Modell oder viele. Ein einzelner Lauf ist nur eine Matrix der Größe eins, daher gibt es keinen separaten „Sweep“-Befehl:

# empfohlener vollständiger Lauf: ein Modell über das gesamte Korpus, benannte Ausgabe, PoCs
# erhalten (Standard) für spätere Inspektion. Der Agent jagt weiter über seinen ersten Crash
# hinaus, es sei denn, Sie übergeben --stop-on-crash
fb-bench run all --model claude-haiku-4-5 --output run1 --max-turns 100

# die kuratierte modellübergreifende Aufstellung, alle Herausforderungen, 4 Zellen parallel
fb-bench run all --model default-lineup --output sweep1 --jobs 4

# ein paar Bugs, 3 Stichproben jeweils
fb-bench run avro-03,jq-01 --model gpt-5.5 --samples 3 --output probe

# nur die Bestenliste aus einem bestehenden Lauf erneut ausgeben
fb-bench run all --model claude-haiku-4-5 --output run1 --report-only

<bugs> ist ein Alias, eine Komma-Liste oder all; --model ist eine ID, eine Komma-Liste, default-lineup oder all. Ergebnisse landen in output/<name>/<bug>/<model>/seed-N/ (score.json, episode.jsonl, transcript.jsonl, cost.json, destilliertes traj.md); am Ende wird eine Bestenliste ausgegeben. --output nimmt einen bloßen Namen (verschachtelt unter output/) oder einen Pfad (wie angegeben verwendet). Jeder Lauf erhält seinen eigenen Ordner: Lassen Sie --output weg und er landet in output/run_<timestamp>; benennen Sie einen Ordner, der bereits existiert, und ein frischer Lauf verzweigt in <name>_<timestamp>, anstatt darin fortzusetzen — so teilen sich zwei Läufe niemals Ergebnisse (--report-only ist der einzige Leser, der einen Ordner an Ort und Stelle öffnet).

4. Agentenmodi — gleicher run, Backend mit --arm wählen

Die drei Agenten-Backends teilen sich einen Einstieg. --arm wählt aus, welches die Herausforderung steuert; alles andere (<bugs>, --jobs, --samples, --output, der Lauf-Ordner, die Bestenliste) ist über alle Arme identisch.

fb-bench run avro-03 --model gpt-5.5            # --arm api (Standard): Provider-Modell
fb-bench run avro-03 --arm codex               # OpenAI codex CLI (Standard gpt-5.5)
fb-bench run avro-03 --arm claudecode --model sonnet --auth sub   # Claude Code CLI
fb-bench run all     --arm codex --jobs 4      # gesamtes Korpus, gebündelt
  • --arm codex steuert OpenAIs codex exec über den Bench-MCP-Server. --model setzt das Codex-Modell (Standard gpt-5.5), festgelegt über dessen config.toml.
  • --arm claudecode steuert die Claude-Code-CLI. --model wählt das Claude- Modell (sonnet/opus/haiku).

Beide Vendor-Arme akzeptieren --auth {api,sub}: api = der Provider-API-Schlüssel (OPENAI_API_KEY / ANTHROPIC_API_KEY, Pay-as-you-go, keine Drosselung), sub = eine Abonnement-Anmeldung (codex: ein ChatGPT-Plus/Pro/Business/Edu/Enterprise-Plan; claudecode: claude.ai-OAuth). Standard ist auto — api bevorzugen, wenn der API-Schlüssel vorhanden ist, sonst auf sub zurückfallen.

Optional — die Vendor-CLI für den verwendeten Arm installieren

Diese sind optionale Extras und werden nicht von pip install -e . installiert. Der Standard---arm api benötigt sie nie. Installieren Sie nur die CLI, deren Arm Sie ausführen möchten (beide benötigen Node):

# --arm codex → OpenAI Codex CLI. Einmal authentifizieren, passend zum verwendeten --auth:
npm install -g @openai/codex
#   --auth api (Standard, wenn OPENAI_API_KEY gesetzt ist):
printenv OPENAI_API_KEY | codex login --with-api-key
#   --auth sub (benötigt einen ChatGPT Plus/Pro/Business/Edu/Enterprise-Plan; ein kostenloses
#   ChatGPT-Konto kann die Codex-Modelle nicht verwenden):
codex login                                  # mit Ihrem ChatGPT-Plan anmelden
Tool herunterladen