Documentación

Aquí encontrarás la guía completa de uso de la plataforma, conceptos clave de pentesting, y respuestas a preguntas frecuentes.

Conceptos clave de pentesting
Lo mínimo que necesitas saber para usar la plataforma efectivamente.
Engagement
Un compromiso formal de pentest con un cliente. Contiene todos los datos: target, herramientas, findings, evidencia. Piensa en él como un 'proyecto' de pentest.
Scope
Lista de targets autorizados en el engagement. Antes de escanear algo, el sistema valida si está en scope.
Risk levels (R0-R5b)
Cada acción tiene un nivel de riesgo. R0 = solo lectura, R5b = post-explotación. R4+ requiere aprobación humana.
Tool / MCP Server
Las herramientas (subfinder, nuclei, etc.) corren como MCP servers independientes. Puedes invocarlas individualmente o como workflow.
Finding
Una vulnerabilidad o issue encontrado. Tiene severidad, CWE/CVE, evidencia, y remediación.
Evidence
Output crudo de las herramientas: PCAPs, screenshots, JSON. Se almacena en MinIO (S3).
Preguntas frecuentes
¿Necesito un engagement para correr herramientas?

Sí. Cada tool invocation requiere un engagement_id. Esto es para audit y trazabilidad — todas las acciones quedan registradas con quién, cuándo, y contra qué target.

¿Por qué mi herramienta fue denegada (decision: deny)?

El policy engine valida cada acción contra: scope del engagement, risk level permitido, y si requiere approval. Si te niega, revisa el reason en el output.

¿Cómo agrego un target a un engagement existente?

Ve a Engagements → selecciona el engagement → botón 'Add Target'. Necesitas: target_type (web_app, api, etc), target_class (lab, prod, staging), y value (URL o IP).

¿Cómo veo los findings de un scan?

Después de ejecutar las herramientas, ve a Engagements → selecciona el engagement → sección 'Findings'. Verás todos los hallazgos con su severidad y descripción.

¿Qué significa R4b / R5b?

R4b = limited DoS / resilience (load testing). R5b = post-exploitation (acciones después de obtener acceso). Ambos requieren approval explícito.

¿Cómo obtengo un reporte PDF?

Ve a Engagements → 'Generate Report' → elige formato (markdown, html). El HTML se puede imprimir a PDF desde el navegador. Próximamente: export PDF directo.

Arquitectura
Cómo está construida la plataforma (para entender qué hace cada componente).
API
FastAPI + Pydantic + SQLAlchemy 2.x
DB
PostgreSQL 16 (engagements, tools, findings, evidencia)
MCP Gateway
Policy engine + routing a 41 MCP servers
Auth
OIDC / API keys / Basic Auth
Storage
MinIO (S3-compatible) para evidencia
TLS
Let's Encrypt (auto-renovación vía Caddy)