
pentest-ai v1.3.1
Pentester de IA de código abierto que demuestra cada hallazgo. Los oráculos automáticos re-ejecutan cada exploit; los errores verificados incluyen una cápsula de prueba que puedes reproducir tú mismo.
pentest-ai
No lo señala. Lo demuestra.
Sitio web · Instalación · Por qué la verificación · Benchmarks · Límites · Discord
⚠️ Herramienta ofensiva, solo para pruebas autorizadas. Al instalar aceptas la AUP y los Términos. Consulta Uso responsable ↓
Dos minutos, sin clave de API, sin objetivo propio
pip install ptai && ptai demo
ptai demo escanea una aplicación vulnerable incluida y muestra 4 findings, 3 oracle-VERIFIED.
Reproduce uno en vivo desde una cápsula de prueba (replay 3/3), luego ejecuta las mismas rutas
endurecidas e imprime 0 findings.
Dos cosas a notar. Los hallazgos aparecen y desaparecen con la vulnerabilidad en lugar de porque la herramienta se quedó en silencio — lo único que cambió entre las dos ejecuciones es la corrección. Y uno de los cuatro sigue siendo un candidato: el bypass de login por SQLi es real, pero ningún oráculo pudo volver a demostrarlo en esa ruta, así que no obtiene una insignia. Esa brecha es el producto funcionando, no un error en la demo.
Qué significa realmente VERIFIED aquí
La mayoría de los escáneres te dicen que algo podría ser explotable y te dejan el triaje a ti. ptai trata un hallazgo como un candidato hasta que un oráculo de máquina con nombre vuelve a ejecutar el exploit y lo reproduce N de N veces. Solo entonces obtiene VERIFIED.
Tres propiedades hacen que eso sea más que un eslogan:
Ningún LLM produce jamás un veredicto. La regla se aplica en código, no por política: un veredicto que no puede nombrar el oráculo que lo obtuvo es rechazado. Un LLM coordina la ejecución y razona sobre los resultados. Nunca decide si un bug es real.
Cada oráculo tiene un control que debe fallar. Un bypass de cabecera de confianza tiene que devolver contenido privilegiado con la cabecera y una denegación sin ella. Una comprobación de credenciales filtradas tiene que ser aceptada para el secreto real y rechazada para un gemelo deliberadamente corrupto. Un endpoint que responde 200 a todo no gana nada. Esto es lo que evita que "devolvió 200" se confunda con una prueba.
La salida de escáneres de terceros se retiene. Los resultados de nuclei, nikto y zap no se convierten en hallazgos por su propia autoridad. Permanecen sin verificar hasta que uno de los oráculos propios de ptai los vuelve a demostrar de forma independiente.
Cada hallazgo VERIFIED se entrega como una cápsula de prueba portátil — el hallazgo, la
receta para volver a demostrarlo y el recibo. Cualquiera puede hacer ptai replay contra el
objetivo en vivo y ver al oráculo reconfirmar, sin confiar en ptai. Las cápsulas son
deliberadamente sin firma: el replay es el mecanismo de confianza, no una firma que tengas que
aceptar por fe.
Números honestos
| Clases de vulnerabilidad con un oráculo funcional | 14 |
| Sondas en la biblioteca | 64 |
| Sondas que pueden obtener VERIFIED | 30 |
| Tipos de oráculo | 24 |
| Envoltorios de herramientas | 203 |
| …que hoy convierten la salida en hallazgos | 18 |
| Herramientas MCP | 52 |
| Agentes especialistas | 18 |
| Pruebas | 2.729 en Python 3.10 / 3.12 / 3.14 |
En un honeypot deliberadamente vulnerable, 23 hallazgos se verifican en esas 14 clases
con 100% de precisión y cero falsos positivos. En un OWASP Juice Shop estándar, 17
hallazgos se verificaron en el barrido del 2026-08-23 — informe HTTP en alcance / verificado /
precisión, no 17/116. Una sesión MCP Path 1 del 2026-08-25 (cliente MCP ejecutando
run_probe, el objetivo murió antes de la verificación del orquestador) obtuvo 12 pruebas verificadas
con 100% de precisión frente a 64 desafíos HTTP en alcance (20 no se perseguirán). Las claves de OSINT,
Web3 y solo-UI de Juice Shop quedan fuera del marcador de automatización por diseño.
Lee esos números con atención, porque las brechas son el punto. Existen 64 sondas pero solo 30 pueden obtener un veredicto; las otras 34 reportan candidatos honestos. 203 envoltorios están registrados pero solo 18 convierten la salida de herramientas en hallazgos — el resto se ejecutan y devuelven texto sin procesar. La puerta del oráculo compra precisión, no tasa de detección: elimina falsos positivos, no encuentra más bugs.
El arnés del honeypot (tests/honeypot/) y una puerta de cero falsos positivos
para aplicaciones limpias (tests/cleanapp/) se incluyen en este
repositorio y se ejecutan en CI, así que son reproducibles en lugar de capturas de pantalla.
Qué no hace
Dicho claramente, porque una herramienta de seguridad que se sobrevalora es peor que inútil.
- Es un escáner de aplicaciones web. Las 64 sondas y los 24 tipos de oráculo apuntan a HTTP. AD, cloud, móvil y wireless tienen agentes y envoltorios de herramientas, pero no hay biblioteca de sondas ni oráculos detrás de ellos.
- No puede hacer escalada de privilegios local. Eso requiere ejecución de código en un host
que ya controlas. ptai prueba de forma remota y no tiene ese canal, así que el agente de privesc
reporta
unsupporteden lugar de un cero engañoso. - No es un escáner de CVE. No hay base de datos de versión-a-CVE ni biblioteca de exploits. El trabajo de CVE se limita a consultas a osv.dev sobre manifiestos filtrados.
- Los playbooks planifican, no ejecutan.
ptai playbook runresuelve dependencias e imprime el plan. Ejecutarlo contra un objetivo aún no está conectado. - No es autónomo. Los agentes de pentest LLM totalmente autónomos completan el 21–31% de las tareas de principio a fin; las configuraciones asistidas por humanos alcanzan el 64%. ptai está construido para el segundo régimen. Pulsa Ctrl+C dos veces para tomar el control a mitad de ejecución.
La lista completa de defectos internos, incluido todo lo anterior, se rastrea abiertamente en lugar de en silencio. Si algo aquí está mal, abre un issue y se corregirá.
Instalación
Ruta 1 — Manejarlo desde Claude Code, Cursor o Codex (sin clave de API)
Tu suscripción de IA existente es el LLM. ptai aporta las herramientas.
pip install ptai
ptai mcp install # auto-detects your MCP clients and writes their configs