No necesitás un producto especial para hacer pentesting con IA. Si tenés CLI de Claude o Codex , ya tenés un operador autónomo que puede enumerar targets, encontrar una vulnerabilidad, escribir un exploit que funciona y escalar a root. Los modelos son genuinamente buenos en esto.
El problema es lo que pasa después: los hallazgos quedan en el scrollback de tu terminal. Sin dedup, sin historial, sin reporte y —lo más importante— sin manera de verlos al lado de los hallazgos de SAST, SCA y DevSecOps que tu equipo ya junta.
Este post cierra ese loop de punta a punta: corrés un pentest real desde la consola, metés los hallazgos en Faraday, y ponés los exploits validados por IA al lado de todas las demás fuentes de vulnerabilidades.
1. Corré el pentest desde la consola
Las dos CLIs corren en una shell con herramientas, así que dales una attack box (un contenedor o VM de Kali con tu toolkit de siempre) y un target autorizado. Lo único que cambia entre una y otra es el comando de arranque — el prompt es el mismo.
Claude:
claude "$(cat pentest-prompt.txt)"
Codex:
codex "$(cat pentest-prompt.txt)"
Y pentest-prompt.txt — un buen prompt de arranque hace tres cosas: deja sentada la autorización, fija un objetivo concreto y clava el formato de hallazgo que vas a necesitar después.
You are performing an authorized penetration test of the HackTheBox machine at
10.129.1.52— I own this instance and standard HackTheBox rules apply. Work autonomously using your shell tools.Goal: capture the user and root flags.
Enumerate all services, identify vulnerabilities, and develop and run working exploits — don't stop at "possible," prove it. Escalate privileges to root.
Keep a running findings list. For every confirmed vulnerability record:
host, port, service, name, severity (critical|high|medium|low|informational), description, evidence, cve, references, remediation. A finding only counts once you've demonstrated it.
Listo — el agente toma la posta desde ahí: recon, explotación, escalada de privilegios, iterando sobre sus propios errores.
Una nota operativa: Los proveedores frontier pueden throttlear o rechazar requests que parecen actividad ofensiva. Para engagements reales, sumá a tu organización al programa de trusted-access del proveedor (Enterprise Trusted Access for Cyber de OpenAI; El proceso de validación de Anthropic) y mantené documentada la autorización. No ofusques la intención para esquivar filtros — no es confiable y te arruina el audit trail.
2. Lo que realmente genera un pentest autonomo
Aquí hay una cadena de ejecución contra HackTheBox Caché — el tipo de salida que te devuelve, condensada:
- Recon →
http://10.129.1.52/jquery/functionality.jsfiltra hardcoded credsceniza:D1Viert3; la enumeración de vhosts saca a la luz la app HMS basada en OpenEMR enhms.htb. - Bypass de auth + SQLi (CVE-2018-15152, CVE-2019-3964) → el flujo de registro del portal de pacientes de OpenEMR saltea la autenticación; un SQL injection en
add_edit_event_user.php(eidparámetro) dumpea la tablausers_secure— el hash del admin, crackeado offline. - RCE (CVE-2019-8377) → un file-write PHP autenticado vía
manage_site_files.phpdeja una webshell y da ejecución de comandos en el host. - Credenciales en texto plano en memcached
:11211) →get user/get passwddevolverluffy:0n3_p1ec3; Conectarse por SSH comoLuffy→ user flag. - Escalada de privilegios (grupo docker) →
Luffyestá en el grupodocker, así quedocker run -v /:/mnt --rm ubuntu cat /mnt/root/root.txtlee la flag → root flag.
Multi-paso, encadenado y cada eslabón demostrado en lugar de adivinado. Ese es el valor que un pentester de IA aporta frente a un escáner, pero ahora mismo está atrapado en una transcripción. Arreglemos eso.
3. Enviar los hallazgos a Faraday
Primero apuntá a tu Faraday (self-hosted Community o Personal):
export FARADAY_URL="https://scan.apps.faradaysec.com" # o http://localhost:5985
export FARADAY_TOKEN=""
Ahora vincula los hallazgos. Elige el que mejor se adapte a tu flujo de trabajo.

Opción A — enviar directamente a la API de Faraday
Faraday ingesta hallazgos en una sola llamada. Pasale al agente el endpoint, el token y la forma del payload, y dejá que haga el POST — un prompt de seguimiento en la misma sesión:
Push every confirmed finding to Faraday.
POSTto$FARADAY_URL/_api/v3/ws/htb-cache/bulk_createwith headersAuthorization: Token $FARADAY_TOKENandContent-Type: application/json. Group vulnerabilities by host IP. Body shape:{"hosts":[{"ip":"","nombres de host":[""],"vulnerabilidades":[{"nombre":"...","descripción":"...","gravedad":"alta","tipo":"Vulnerabilidad"}]}]}severity∈ critical|high|medium|low|informational.
La misma llamada a mano, como referencia:
curl -sS -X POST "$FARADAY_URL/_api/v3/ws/htb-cache/bulk_create" \
-H "Authorization: Token $FARADAY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"hosts": [{
"ip": "10.129.1.52",
"vulnerabilities": [{
"name": "OpenEMR Authenticated RCE (CVE-2019-8377)",
"desc": "Auth bypass (CVE-2018-15152) + SQLi (CVE-2019-3964) recover admin creds; authenticated file-write yields RCE; chained to root via cleartext memcached creds and the docker group.",
"severity": "critical",
"type": "Vulnerability"
}]
}]
}'
Opción B: generá un CSV revisable primero
¿Preferís un gate humano antes de que algo toque Faraday? Que el agente escriba un CSV, lo mirás, y después lo importás:
Output all confirmed findings as CSV with exactly these columns:
host,name,severity,description,cve,references. One row per vulnerability,severity∈ critical|high|medium|low|informational, quote any field containing a comma. Output only the CSV.
pip install faraday-cli# autenticación con token: configurar el archivo de configuración (la autenticación de faraday-cli no tiene el parámetro --token)printf 'autenticación:\n faraday_url: %s\n token: %s\n' "$FARADAY_URL" "$FARADAY_TOKEN" > ~/.faraday-cli.yml faraday-cli tool report findings.csv -w htb-cache
Opción C: conectá vía el MCP de Faraday
Si tenés un servidor MCP de Faraday enganchado a tu agente, saltate archivos y HTTP por completo — la misma sesión que encuentra el bug lo registra:
Using the connected Faraday MCP server, create each confirmed finding as a vulnerability in workspace
htb-caché, nombre de la configuración, gravedad, descripción y evidencia.
4. Workspace en Faraday
Abrí el workspace htb-cache Los hallazgos ahora están deduplicados, ordenados por severidad y —esta es la parte que importa— permanente. Volvé a correr la máquina el mes que viene y Faraday reconcilia contra lo que ya está en vez de crear duplicados, así podés saber de verdad si un fix aguantó.

5. El verdadero payoff: el pentest con IA al lado de toda otra fuente de vulns
Una cadena de exploit confirmada es potente, pero es una sola lente. Tus scanners estáticos ven código que nunca alcanzaste en runtime; tu SCA ve dependencias vulnerables; tu pipeline de DevSecOps ve IaC y secrets. Cada uno es ruidoso y amplio; el pentest con IA es preciso y profundo. Su valor se potencia solo cuando aterrizan en el mismo lugar.
faraday-cli habla los formatos que tu stack ya emite — importalos al mismo workspace:
Herramienta faraday-cli: informe de semgrep.sarif -w htb-cache # SAST
Informe de la herramienta faraday-cli sobre trivy.json -w htb-cache # SCA / contenedores
Informe de la herramienta faraday-cli sobre nuclei.json -w htb-cache # DAST
Informe de la herramienta faraday-cli sobre burp.xml -w htb-cache
Ahora un solo workspace responde la pregunta que ninguna herramienta sola puede: de todo lo que sabemos que está mal, ¿qué probó un atacante que podía explotar de verdad? El SAST marca cien sinks; el pentest con IA muestra cuál se volvió RCE. El SCA lista cuarenta paquetes vulnerables; el pentest muestra cuál era alcanzable y se encadenó hasta root. Esa correlación —amplitud de los scanners, prueba del pentester con IA, todo deduplicado y priorizado— es la diferencia entre una pila de hallazgos y un programa de seguridad.
6. Dónde van los hallazgos: Community o Personal
Los dos destinos toman exactamente los mismos comandos de arriba — elegí dónde querés que viva la data.
Faraday Community — gratuito, self-hosted, de código abierto. Ejecútalo en tu propia máquina (por defecto http://localhost:5985) y sacá un API token desde la config de tu usuario:
export FARADAY_URL="http://localhost:5985"
export FARADAY_TOKEN=""
Faraday Personal — hosteado, nada que correr. Creá tu tenant en scan.faradaysec.com; tu instancia está en scan.apps.faradaysec.com:
export FARADAY_URL="https://scan.apps.faradaysec.com"
export FARADAY_TOKEN=""
Ejecuta la prueba de penetración con la consola que ya usas, integra los hallazgos y haz el triaje junto con todo lo demás que sabes. El operador es la IA; el sistema de registro es Faraday.
Dale a tu pentester con IA un lugar para sus hallazgos — Faraday Community · Faraday Personal →

