
Plataforma VAPT alojada localmente y aislada de red (air-gapped) que ejecuta 8 módulos de escaneo en paralelo, puntúa de forma determinista los hallazgos con CVSS v3.1 y genera informes PDF con remediación opcional generada por IA mediante un LLM local.
Creado por maverickaayush.
Una herramienta VAPT autoalojada y aislada de la red: apúntala a un dominio objetivo autorizado y ejecuta 8 módulos de escaneo en paralelo, puntúa de forma determinista cada hallazgo (CVSS v3.1), añade opcionalmente descripciones en inglés sencillo generadas por IA mediante un LLM local, y produce un informe PDF además de un panel web en vivo. Sin llamadas a API externas - todo se ejecuta en tu propia red.
Dos formas de ejecutar ONUS:
- Autoalojado (este repositorio):
docker compose up→ introduce un dominio → marca la casilla de autorización → escanea. Sin cuenta, sin inicio de sesión, sin verificación de correo - es de operador único por diseño, y todo lo que sigue cubre esta vía.- Alojado: una instancia gestionada está disponible en tryonus.tech. Añade funciones exclusivas de producción (cuentas / inicio de sesión con OAuth, cola de escaneos, historial por usuario) que están desactivadas por defecto en este repositorio, para que el autoalojamiento siga siendo sencillo. Ver Autoalojado vs alojado.
| Autoalojado (este repositorio) | Alojado (tryonus.tech) | |
|---|---|---|
| Configuración | docker compose up | ninguna - solo abre el sitio |
| Inicio de sesión | ninguno - operador único | cuenta / Google / GitHub OAuth |
| Flujo de escaneo | dominio → casilla de autorización → escaneo | igual, tras iniciar sesión |
| Extras | - | cola de escaneos, historial por usuario, correo alojado |
| Se ejecuta en | tu propia red, aislado | nube gestionada |
La vía autoalojada por defecto es intencionadamente la sencilla: sin registro, sin
verificación de correo, sin OAuth. Las funciones exclusivas del alojamiento
(autenticación, cola de escaneos) viven detrás de flags de configuración que por
defecto están desactivados (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false;
ver Configuración) y no están definidos en docker-compose.yml -
por lo que ejecutar ONUS localmente nunca te pone detrás de un inicio de sesión.
¿Prefieres cero configuración? Usa el sitio alojado en
tryonus.tech.
| Nuevo escaneo | Estado del escaneo en vivo |
|---|---|
![]() | ![]() |
| Panel de informe | Descubrimiento de escaneos |
|---|---|
![]() | ![]() |
domain → [recon | webscan | ssl_tls | headers | owasp | tech_fingerprint | nuclei | enumeration] (parallel, Celery)
→ any module failed/timed out? → pause for operator retry/continue/cancel
→ aggregator (dedup + OWASP-map + sort)
→ confidence verification (passive re-observation)
→ deterministic CVSS scoring
→ Ollama (Qwen 2.5 7B) AI analysis
→ WeasyPrint PDF + PostgreSQL
→ dashboard / PDF download
Seis capas: frontend Next.js → FastAPI → Celery/Redis → 8 módulos de escaneo en
paralelo → Ollama (Qwen 2.5 7B) → PDF WeasyPrint + panel. Todos los detalles en
ARCHITECTURE.md (esquemas, contratos, salvaguardas) y
docs/QUICK_REF.md (consulta rápida para cambios habituales).
mem_limit: 4g),
y Postgres, Redis, la API, el worker y el frontend se ejecutan a la vez.Ver Requisitos previos más arriba: ~8 GB de disco y ~6 GB de RAM, y espera una primera compilación de 10-15 minutos.
cp .env.example .env
cp backend/subfinder-config/provider-config.yaml.example backend/subfinder-config/provider-config.yaml
docker compose up -d
docker compose ps # wait for zap to report healthy (~2 min)
Abre http://localhost:3000, introduce un dominio, marca la casilla de autorización y comienza el escaneo.
Sin inicio de sesión, registro ni verificación de correo. ONUS autoalojado es de operador único por defecto - no hay ningún paso de cuenta entre abrir el panel y escanear.