
Plataforma de pentest impulsada por IA con modos de caja negra, caja blanca, caja gris, host/nube y red team para LLM; valida los hallazgos mediante votación entre modelos y recibos de herramientas.
Plataforma autónoma de pruebas de penetración multimodelo — Rust, solo CLI.
por Joas A Santos & Red Team Leaders
⭐ Si te resulta útil, dale una estrella al repositorio — ayuda mucho.
📖 ¿Eres nuevo? Lee la Guía de usuario y tutorial completa → — cada modo, opción, configuración y ejemplo explicado.
🆕 Novedades en v3.6.5 — Red-teaming de LLM: jailbreaks e inyección de prompts en varios escenarios: +12 agentes de IA (→ 30, 429 en total) que hacen red-teaming adversarial contra un sistema de IA en vivo de la forma en que lo hacen las herramientas estilo hackagent.dev — técnicas de jailbreak (AdvPrefix, PAIR, TAP, Crescendo, many-shot, persona/DAN, codificación/ofuscación, supresión de rechazos) y escenarios de inyección de prompts (directa, indirecta vía salida de RAG/web/email/herramientas, secuestro de objetivos, abuso de llamadas a herramientas/funciones, exfiltración del system prompt). Cada uno ejecuta un bucle atacante→juez LLM — captura el rechazo base, aplica la técnica en distintas variantes y decide si la salvaguarda se eludió de verdad — probándolo con una evidencia benigna y censurada.
neurosploit aitest <ai-url>. Además: registro de cuentas de prueba por autoservicio — analiza los formularios de la aplicación y crea una cuenta benigna (curl o Playwright) para alcanzar la superficie autenticada, con una salvaguarda anti-inundación estricta (≤2 cuentas), una bóveda de credenciales por ejecución (vault.json, secretos enmascarados en el informe), una sección de "eliminar estas cuentas" de limpieza, hallazgos etiquetados como autenticados / no autenticados, y correo desechable opcional (/tempmail, mail.tm gratuito). Validador humano en el bucle: los hallazgos inciertos ahora se marcan comoneeds-review, no se eliminan (solo se descarta el ruido sin respaldo) para que un humano tome la decisión final. Informes en Markdown + JSON además de PDF/HTML. Agentes más precisos en aplicaciones SPA/REST modernas (una metodología de caza de APIs de clase Juice Shop) además de un . Nuevos modelos: , , (Moonshot → 15 proveedores). Historial completo en .
NeuroSploit convierte una URL, un repositorio fuente, una aplicación en ejecución o un host/IP en
un ejercicio de seguridad autónomo. Un motor Rust (tokio) impulsa un grupo de
LLMs — mediante clave API o suscripción local (Claude Code / Codex / Gemini /
Grok) — reconoce el objetivo, selecciona inteligentemente solo los agentes que coinciden con la
superficie descubierta, los ejecuta en paralelo, encadena los hallazgos hacia un mayor
impacto y valida cada afirmación mediante votación entre modelos + fundamentación con evidencia de
herramientas antes de informar. Incluye 430 agentes markdown y una Mission
Control TUI.
may_assert
es una regla matemática antialucinación (no afirmar explotabilidad
mientras la creencia esté difusa).file:line en el código revisado — una cita de código es la evidencia) para
auditorías de caja blanca SAST y de skills, y cualquiera de ambas para caja gris; las afirmaciones
sin fundamentar se degradan.aws/gcloud/az). Conéctate vía creds.yaml: claves de AWS, un JSON de
cuenta de servicio de Google o un service principal de Azure — consulta
.Esta es la distribución ligera, solo Rust (
neurosploit-rs/+agents_md/). El motor Python anterior y las GUIs web se encuentran en la rama antiguav3.4.0.
Linux / macOS (x64 y arm64):```bash curl -fsSL https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/setup.sh | bash
**Windows** (PowerShell, x64 & arm64):```powershell
irm https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/install.ps1 | iex
| SO | x64 | arm64 |
|---|---|---|
| Linux (Kali recomendado) | ✅ | ✅ |
Rust puro + stdlib, así que compila de forma nativa en cualquier lugar donde se ejecute una cadena de herramientas de Rust estable.
El instalador detecta automáticamente el SO/arquitectura e instala Rust si falta. En Windows nativo usa install.ps1; bajo WSL2 / Git Bash, el comando de una línea setup.sh también funciona.
El instalador instala Rust automáticamente si es necesario, clona el repositorio en ~/.neurosploit, compila el binario de release y enlaza neurosploit en ~/.local/bin. Vuelve a ejecutarlo cuando quieras actualizar. Ajústalo con variables de entorno: NEUROSPLOIT_REF (rama/etiqueta), NEUROSPLOIT_DIR, PREFIX.
¿Prefieres compilar a mano?```bash git clone https://github.com/JoasASantos/NeuroSploit && cd NeuroSploit/neurosploit-rs cargo build --release # → target/release/neurosploit
## ⚡ Inicio rápido (60 segundos)```bash
# easiest path — just run it; the interactive session asks everything:
neurosploit
# or one-liner (subscription login, no API key needed):
neurosploit run http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 -v
# white-box — review a source repository (SAST agents, file:line evidence):
git clone https://github.com/digininja/DVWA /tmp/DVWA
neurosploit whitebox /tmp/DVWA --subscription --model anthropic:claude-opus-4-8 -v
# grey-box — review the code AND exploit the running app together:
neurosploit greybox /tmp/DVWA --url http://localhost:8080/ --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
# host / infra — Linux / Windows / Active Directory (SSH/Win creds in creds.yaml):
neurosploit host 10.0.0.10 --creds creds.yaml --subscription --model anthropic:claude-opus-4-8 -v
# 🛰 Mission Control TUI — live panels (header/feed/findings/targets) + a composer
# you can type in WHILE the run streams (summary · pause · errors · notes):
neurosploit tui http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 --mcp
La guía paso a paso completa para cada modo (black/white/grey/host) está en TUTORIAL.md.
¿No tienes login? Usa una clave API en su lugar — consulta Autenticación.
Integra NeuroSploit en tu SDLC. Alterna desde el REPL (/integrations) o desde la CLI
(neurosploit integrations enable github|gitlab|jira). Los tokens nunca se almacenan
— solo se guarda el nombre de la variable de entorno; el valor se lee de tu entorno.```bash
export GITHUB_TOKEN=ghp_... # PAT with repo scope (private repos)
neurosploit integrations enable github
neurosploit pr digininja/DVWA 42 --subscription --model anthropic:claude-opus-4-8 --comment
neurosploit watch myorg/private-app --branch main --subscription --model anthropic:claude-opus-4-8
export GITLAB_TOKEN=glpat-... ; neurosploit integrations enable gitlab neurosploit whitebox https://gitlab.com/myorg/private-svc --subscription --model anthropic:claude-opus-4-8
export JIRA_EMAIL=[email protected] JIRA_API_TOKEN=... # set base/project once: /integrations setup jira neurosploit whitebox https://github.com/myorg/app --jira --subscription --model anthropic:claude-opus-4-8
| Integración | Qué obtienes | Variables de entorno |
|-------------|--------------|----------|
| **GitHub** | clon privado · revisión + comentario de `pr` · vigilancia de rama (`watch`) | `GITHUB_TOKEN` |
| **GitLab** | clon privado para whitebox/greybox | `GITLAB_TOKEN` |
| **Jira** | una tarjeta por hallazgo (`--jira`) | `JIRA_EMAIL`, `JIRA_API_TOKEN` |
📖 Configuración paso a paso para cada herramienta: **[TUTORIAL-INTEGRATION.md](https://github.com/joasasantos/neurosploit/blob/HEAD/TUTORIAL-INTEGRATION.md)**.
---
## ☁️ Credenciales de la nube (AWS/GCP/Azure)
Añade un bloque de nube a `creds.yaml` y el harness exporta las variables de entorno correctas para que
los agentes de AWS/GCP/Azure puedan manejar `aws` / `gcloud` / `az`. Los secretos permanecen en tu
archivo/gestor de secretos; los agentes realizan **enumeración de solo lectura primero, nunca destructiva**.```yaml
# --- AWS: static keys (or a named profile) ---
aws:
access_key_id: AKIA...
secret_access_key: ...
# session_token: ... # if using temporary creds
region: us-east-1
# profile: my-sso-profile # alternative to keys
# --- GCP: service-account JSON (path recommended; inline single-line also works) ---
gcp:
service_account_json: /path/to/sa.json
project: my-project-id
# --- Azure: service principal (recommended for automation) ---
azure:
tenant_id: ...
client_id: ...
client_secret: ...
subscription_id: ...
Los agentes cubren la escalada de privilegios de IAM, la exposición de almacenamiento (S3/GCS/Blob), cómputo y
exposición de red, secretos (Secrets Manager / Secret Manager / Key Vault),
abuso de cuentas de servicio/SP y enumeración de identidades (Entra ID). Autenticación
recomendada: claves de acceso o perfil de **AWS**; en **GCP**, un JSON de cuenta de servicio
(`GOOGLE_APPLICATION_CREDENTIALS`); en **Azure**, una entidad de servicio
(`az login --service-principal`).
---
## 👥 Múltiples identidades — pruebas de control de acceso (IDOR / BOLA / BFLA)
Proporciona a NeuroSploit dos o más **roles con nombre** en `creds.yaml` y se autentica
como cada uno y prueba el acceso **entre roles** (que un rol con privilegios bajos acceda al objeto de otro usuario
o a una función de administrador es un hallazgo):```yaml
admin:
jwt: eyJ... # per role: jwt | header (raw) | cookie | apikey | login+username+password
user:
apikey: abc123 # → X-Api-Key: abc123
victim:
cookie: "session=deadbeef"
I don't see any content to translate in this chunk. The input after "INPUT:" appears to be empty. Please provide the actual Markdown content for chunk 17/33 so I can translate it into Spanish.```bash
neurosploit run https://app.example --creds creds.yaml
--subscription --model anthropic:claude-opus-4-8 -v
Cada hallazgo se demuestra con el par de solicitudes **autorizada vs no autorizada**, bajo la salvaguarda de seguridad de datos (solo lectura, PII enmascarada).
## 🏷️ Identificación y atribución (antiplagio)
Cada solicitud está etiquetada con un **User-Agent** identificador (por defecto `NeuroSploit/<ver> …`, cambiable con **`/ua`** o `NEUROSPLOIT_UA`) además de una cabecera `X-NeuroSploit-Scan`, y cada hallazgo está **sellado** con "Identified and validated by NeuroSploit" — de modo que la procedencia viaja en el tráfico, el texto del hallazgo, `findings.json` y el pie del informe.
---
## Compilación```bash
cd neurosploit-rs
cargo build --release # → target/release/neurosploit
Requiere un toolchain de Rust (rustup). Recomendado: ejecutar en Kali Linux (o la
imagen Docker de Kali) para que las herramientas ofensivas que usan los agentes ya estén presentes:```bash
docker run -it --rm kalilinux/kali-rolling
apt update && apt install -y curl nmap ffuf nodejs npm
Los agentes se degradan de forma elegante: si `rustscan` no está instalado, usan `nmap`; si no hay ninguno, sondean con `curl`. Si hay un navegador Playwright MCP disponible, lo usan para páginas con mucho JavaScript; de lo contrario, recurren a `curl`.
---
## Uso
Ejecútalo **sin argumentos** para un asistente interactivo:```bash
./target/release/neurosploit
O ejecútalo directamente:```bash
./target/release/neurosploit run http://testphp.vulnweb.com/
--subscription --model anthropic:claude-opus-4-8 --mcp -v
./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --vote-n 3
git clone https://github.com/digininja/DVWA /tmp/DVWA
./target/release/neurosploit whitebox /tmp/DVWA
--subscription --model anthropic:claude-opus-4-8 -v
./target/release/neurosploit run http://testphp.vulnweb.com/ --offline
./target/release/neurosploit agents # library counts ./target/release/neurosploit models # providers & models ./target/release/neurosploit --help # full help with examples
### Opciones (`run` / `whitebox`)
| Flag | Significado |
|------|-------------|
| `--model provider:model` | Repetible. El primero = principal; el resto hace failover **y** forman el jurado de votación. |
| `--subscription` | Usa el inicio de sesión CLI local (Claude/Codex/Gemini/Grok) en lugar de una clave API. |
| `--mcp` | Habilita Playwright MCP (aprovisionado automáticamente vía `npx`; los backends sin MCP usan herramientas integradas). |
| `--vote-n N` | Cuántos modelos deben coincidir en que un hallazgo es real (por defecto 3 / 2 para whitebox). |
| `--max-agents N` | Limita los agentes ejecutados (`0` = todos los que coincidan con el reconocimiento). |
| `--offline` | Ejecuta el pipeline completo sin llamar a ningún modelo. |
| `-v, --verbose` | Registra cada agente a medida que se lanza, el reconocimiento y las votaciones. |
### Autenticación — ejecución mediante clave API *o* suscripción
Puedes ejecutar NeuroSploit de dos maneras. Son independientes: elige por ejecución.
#### 1) Mediante API (clave API del proveedor)
Exporta la(s) clave(s) de los proveedores de tu panel de modelos y luego ejecuta **sin**
`--subscription`. Cualquier proveedor compatible con OpenAI funciona.```bash
# pick one or more, depending on the models you select
export ANTHROPIC_API_KEY=sk-ant-... # anthropic:claude-*
export OPENAI_API_KEY=sk-... # openai:gpt-*
export GEMINI_API_KEY=AIza... # gemini:gemini-*
export XAI_API_KEY=xai-... # xai:grok-*
export NVIDIA_NIM_API_KEY=nvapi-... # nvidia_nim:*
export DEEPSEEK_API_KEY=... # deepseek:*
export MISTRAL_API_KEY=... # mistral:*
export DASHSCOPE_API_KEY=... # qwen:* (Alibaba DashScope)
export GROQ_API_KEY=... # groq:*
export TOGETHER_API_KEY=... # together:*
export MOONSHOT_API_KEY=... # moonshot:* (Kimi K3/K2)
export OPENROUTER_API_KEY=... # openrouter:*
# ollama needs no key (local)
# then run via API (note: NO --subscription)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --vote-n 3 -v
# multi-provider voting panel via API (1st finds, the others adjudicate)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --model gemini:gemini-2.5-pro
O pon las claves en un .env y cárgalo (cp .env.example .env; edita; set -a; . ./.env; set +a).
Proveedor → variable de entorno → endpoint (todos compatibles con OpenAI):
Ejecuta ./target/release/neurosploit models para ver la lista completa de proveedores/modelos.
--subscription gestiona tu inicio de sesión local en la CLI agéntica en lugar de una clave de API — instala e inicia sesión en una de las CLIs primero:
--subscription --model anthropic:claude-opus-4-8 --mcp -v
---
## Cómo funciona```
target ─▶ recon (curl/nmap/…) ─▶ INTELLIGENT agent selection (recon-aware)
─▶ parallel exploitation ─▶ cross-model validation vote
─▶ severity/score ─▶ report (HTML + Typst PDF) ─▶ RL reward update
Cada ejecución escribe una carpeta autocontenida runs/ns-<ts>-<target>/:
Un almacén de recompensas de aprendizaje por refuerzo (data/rl_state_rs.json) sesga la selección de agentes en ejecuciones futuras.
agents_md/ (303)Cada agente es un playbook de Markdown autocontenido (metodología ## User Prompt + reglas estrictas anti-falsos positivos en ## System Prompt). Coloca un nuevo .md en la carpeta correspondiente y el harness lo detecta automáticamente.
Solo para pruebas autorizadas. Se instruye a los agentes a permanecer dentro del alcance, nunca ejecutar acciones destructivas/de DoS y exigir prueba de explotación. Eres responsable de contar con permiso para cualquier objetivo.
Joas A Santos y Red Team Leaders.
MIT.
| Modo | Comando | Qué hace |
|---|
| Caja negra | neurosploit run <url> | reconocimiento → selección → explotación → votación → informe |
| Caja blanca | neurosploit whitebox <repo> | revisión de código/SAST (evidencia archivo:línea) |
| Caja gris | neurosploit greybox <repo> --url <app> | revisión de código + explotación en vivo conjunta |
| Host/Infra | neurosploit host <ip> --creds creds.yaml | pruebas en Linux / Windows / AD y nube (AWS/GCP/Azure) |
| Red-team de IA / LLM | neurosploit aitest <ai-url> | jailbreaks e inyección de prompts + OWASP LLM Top 10 / MCP contra un agente de IA en vivo |
| AI Skills / n8n | neurosploit skills <file|folder> | auditoría de caja blanca de definiciones de Skill/plugin y flujos de trabajo n8n |
| Mission Control | neurosploit tui <url> | paneles TUI en vivo + compositor durante la ejecución |
| Interactivo | neurosploit | sesión REPL persistente (se reanuda por proyecto) |
.git/.env expuestos, debug/actuator, credenciales por defecto, paneles,
CORS), un CVE Hunter (nuclei inteligente y dirigido), un PoC Developer (escribe
scripts reproducibles en pocs/ de la ejecución) y pruebas de límite de tasa — todo
bajo una estricta salvaguarda de seguridad de datos/PII (sin acciones destructivas ni que cambien
el estado; la PII se demuestra con una muestra enmascarada, nunca se vuelca)./proxy <url> (o /burp) enruta el tráfico de los agentes
a través de tu proxy de intercepción local para que puedas inspeccionarlo y reproducirlo en Burp.summary, pause, …).<cwd>/.neurosploit/ guarda la sesión, el historial de ejecuciones y
el historial de comandos; el REPL se reanuda al reabrir. No se requiere base de datos.| ✅ |
| ✅ (Apple Silicon) |
| Windows | ✅ | ✅ |
| Característica | Descripción |
|---|
| Nombre | RustScan |
| Tipo | Escáner de puertos |
| Descripción | RustScan es un escáner de puertos moderno que combina velocidad con versatilidad, capaz de escanear los 65k puertos en segundos e integrarse con Nmap para la detección detallada de servicios. |
| Licencia | GPL-3.0 |
| Lenguaje | Rust |
| Plataforma | Multiplataforma |
| URL | https://github.com/RustScan/RustScan |
| Estrellas | 13k+ |
| Última actualización | 2024-11-26```bash |
| neurosploit host my-cloud-account --creds creds.yaml \ | |
| --subscription --model anthropic:claude-opus-4-8 -v |
Prefijo --model | Variable de entorno | URL base |
|---|
anthropic: | ANTHROPIC_API_KEY | api.anthropic.com |
openai: | OPENAI_API_KEY | api.openai.com |
gemini: | GEMINI_API_KEY | generativelanguage.googleapis.com |
xai: | XAI_API_KEY | api.x.ai |
nvidia_nim: | NVIDIA_NIM_API_KEY | integrate.api.nvidia.com |
deepseek: | DEEPSEEK_API_KEY | api.deepseek.com |
mistral: | MISTRAL_API_KEY | api.mistral.ai |
qwen: | DASHSCOPE_API_KEY | dashscope-intl.aliyuncs.com |
groq: | GROQ_API_KEY | api.groq.com |
together: | TOGETHER_API_KEY | api.together.xyz |
moonshot: | MOONSHOT_API_KEY | api.moonshot.ai |
openrouter: | OPENROUTER_API_KEY | openrouter.ai |
ollama: | (ninguna) | localhost:11434 |
Prefijo --model | CLI utilizada | Inicio de sesión |
|---|
anthropic: | claude (Claude Code) | claude y luego /login |
openai: | codex | codex login |
gemini: | gemini | gemini login |
xai: | grok | grok login |
| ./target/release/neurosploit run http://testphp.vulnweb.com/ \ |
| Archivo | Contenido |
|---|
status.json | running → complete con un resumen |
recon.json / recon.md | superficie de ataque mapeada |
exploitation.md | transcripción sin procesar por agente |
findings.json / findings.md | hallazgos validados (reutilizables por otras herramientas/IAs) |
report.html, report.typ, report.pdf | informe final (PDF mediante el motor Typst) |
| Categoría | Cantidad | Propósito |
|---|
vulns/ | 196 | Explotar una clase de vulnerabilidad específica |
recon/ | 12 | Recopilación de información / superficie de ataque |
code/ | 78 | Revisión de código fuente en caja blanca (SAST) |
meta/ | 17 | Orquestador, validador, evaluadores, reportero, RL |