Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/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 Repositorio
8378hace 7 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Sitio web
Compartir

FuzzingBrain Bench

Un benchmark para la reproducción de vulnerabilidades impulsada por LLM en 77 errores de día cero reales en 43 proyectos de código abierto (C / C++ / Java).

Cada desafío le da al agente solo el harness de fuzzing (el objetivo) y el código fuente del proyecto en la revisión vulnerable — sin parche, sin commit de corrección, sin línea objetivo. El agente debe descubrir una entrada que vuelva a disparar una falla bajo el sanitizador. Cada calificación es determinista (sin LLM como juez) y ocurre dentro de la imagen y sin conexión: el candidato se ejecuta a través del harness oficial instrumentado con sanitizador integrado en el contenedor del desafío, y la ejecución se puntúa por los fallos distintos que el agente haya disparado. Nada sale de la máquina y no es necesario que ningún servicio esté activo.

DesafíosProyectosLenguajesCalificador
77 de extremo a extremo43C · C++ · Javadeterminista — dentro de la imagen, sin conexión

Nada en las imágenes ni en este repositorio revela qué es un error — los desafíos se nombran con un alias neutral (<proyecto>-NN, p. ej. avro-03), y la clave de respuestas (PoC, falla esperada, compilación corregida) no está en ninguno de los dos: permanece con el mantenedor. Explora los 77: tools/sealed/CHALLENGES.md.


Inicio rápido

1. Configuración

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

python3 -m venv .venv && source .venv/bin/activate   # recomendado (y requerido en
                                                     # Debian/Ubuntu, PEP 668)
pip install -e .                              # requiere Python ≥ 3.10 y Docker

# pon tu(s) clave(s) de modelo en ./.env — se carga automáticamente en cada ejecución, no hace falta exportar
cat > .env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=sk-...
EOF

fb-bench list                                 # los 77 desafíos (por alias)
fb-bench models                               # modelos compatibles + qué claves están cargadas

(./.env se lee automáticamente; un simple export ANTHROPIC_API_KEY=... también funciona.)

Vuelve a ejecutar source .venv/bin/activate en cada shell nueva. O sáltate el venv con pip install --break-system-packages -e . (no recomendado).

fb-bench run descarga la imagen pública del desafío, impulsa el bucle del agente en el host (llamando a tu API de modelo) y califica cada candidato dentro de esa imagen — sin red, nada que alcanzar. Solo se necesitan Docker y tu clave de modelo, y una ejecución puntúa los fallos distintos que el agente haya encontrado — la identidad de un fallo es su tipo de falla del sanitizador más sus marcos de pila superiores, así que la misma falla alcanzada veinte veces cuenta una sola.

El --arm api predeterminado no necesita nada más que lo anterior. Los backends --arm codex y --arm claudecode necesitan CLIs de proveedor adicionales — opcionales, instalados por separado (nunca parte de pip install -e .); consulta §4.

2. Ejecuta un desafío con un modelo

# Familia Claude  (haiku es el más barato/rápido; cambia a opus/sonnet para ejecuciones más difíciles)
fb-bench run avro-03 --model claude-haiku-4-5

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

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

# Familia DeepSeek  (endpoint compatible con OpenAI; requiere 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 (cualquier id del catálogo funciona con --model; consulta fb-bench models).

3. Ejecuta muchos — mismo comando, uno o muchos

fb-bench run acepta un error o muchos, un modelo o muchos. Una sola ejecución es solo una matriz de tamaño uno, así que no hay un comando "sweep" separado:

# ejecución completa recomendada: un modelo sobre todo el corpus, salida nombrada, PoCs
# conservados (por defecto) para inspección posterior. El agente sigue buscando más allá de
# su primer fallo a menos que pases --stop-on-crash
fb-bench run all --model claude-haiku-4-5 --output run1 --max-turns 100

# la alineación curada de múltiples modelos, todos los desafíos, 4 celdas en paralelo
fb-bench run all --model default-lineup --output sweep1 --jobs 4

# un par de errores, 3 muestras cada uno
fb-bench run avro-03,jq-01 --model gpt-5.5 --samples 3 --output probe

# solo reimprime la tabla de clasificación de una ejecución existente
fb-bench run all --model claude-haiku-4-5 --output run1 --report-only

<bugs> es un alias, una lista separada por comas o all; --model es un id, una lista separada por comas, default-lineup o all. Los resultados van a output/<nombre>/<error>/<modelo>/seed-N/ (score.json, episode.jsonl, transcript.jsonl, cost.json, traj.md destilado); se imprime una tabla de clasificación al final. --output acepta un nombre simple (anidado bajo output/) o una ruta (usada tal cual). Cada ejecución tiene su propia carpeta: omite --output y va a output/run_<timestamp>; nombra una carpeta que ya exista y una ejecución nueva se bifurca a <nombre>_<timestamp> en lugar de reanudarse en ella — así dos ejecuciones nunca comparten resultados (--report-only es el único lector, que abre una carpeta en su lugar).

4. Modos de agente — misma run, elige el backend con --arm

Los tres backends de agente comparten una sola entrada. --arm selecciona cuál impulsa el desafío; todo lo demás (<bugs>, --jobs, --samples, --output, la carpeta por ejecución, la tabla de clasificación) es idéntico entre arms.

fb-bench run avro-03 --model gpt-5.5            # --arm api (predeterminado): modelo del proveedor
fb-bench run avro-03 --arm codex               # CLI de OpenAI codex (gpt-5.5 por defecto)
fb-bench run avro-03 --arm claudecode --model sonnet --auth sub   # CLI de Claude Code
fb-bench run all     --arm codex --jobs 4      # corpus completo, por lotes
  • --arm codex impulsa codex exec de OpenAI sobre el servidor MCP del bench. --model establece el modelo de codex (por defecto gpt-5.5), fijado a través de su config.toml.
  • --arm claudecode impulsa la CLI de Claude Code. --model elige el modelo de claude (sonnet/opus/haiku).

Ambos arms de proveedor aceptan --auth {api,sub}: api = la clave API del proveedor (OPENAI_API_KEY / ANTHROPIC_API_KEY, pago por uso, sin límite), sub = un inicio de sesión de suscripción (codex: un plan de ChatGPT Plus/Pro/Business/Edu/Enterprise; claudecode: OAuth de claude.ai). El predeterminado es auto — prefiere api cuando la clave API está presente, si no, recurre a sub.

Opcional — instala la CLI del proveedor para el arm que uses

Estos son extras opcionales y no se instalan con pip install -e .. El --arm api predeterminado nunca los necesita. Instala solo la CLI cuyo arm planees ejecutar (ambas necesitan Node):

# --arm codex → CLI de OpenAI Codex. Autentícate una vez, acorde al --auth que uses:
npm install -g @openai/codex
#   --auth api (predeterminado cuando OPENAI_API_KEY está configurada):
printenv OPENAI_API_KEY | codex login --with-api-key
#   --auth sub (requiere un plan de ChatGPT Plus/Pro/Business/Edu/Enterprise; una cuenta
#   gratuita de ChatGPT no puede usar los modelos de codex):
codex login                                  # inicia sesión con tu plan de ChatGPT
Descargar herramienta