
Plateforme VAPT hébergée localement et isolée du réseau, qui exécute 8 modules de scan en parallèle, attribue des scores déterministes aux résultats avec CVSS v3.1, et génère des rapports PDF avec des recommandations de remédiation générées par IA via un LLM local.
Développé par maverickaayush.
Un outil VAPT auto-hébergé et isolé du réseau (air-gapped) : pointez-le vers un domaine cible autorisé et il exécute 8 modules de scan en parallèle, score chaque finding de manière déterministe (CVSS v3.1), ajoute optionnellement des descriptions en anglais simple générées par IA via un LLM local, et produit un rapport PDF ainsi qu'un tableau de bord web en direct. Aucun appel API externe - tout s'exécute sur votre propre réseau.
Deux façons d'exécuter ONUS :
- Auto-hébergé (ce dépôt) :
docker compose up→ saisissez un domaine → cochez la case d'autorisation → scannez. Pas de compte, pas de connexion, pas de vérification d'e-mail - c'est mono-opérateur par conception, et tout ce qui suit couvre ce chemin.- Hébergé : une instance gérée est en ligne sur tryonus.tech. Il ajoute des fonctionnalités réservées à la production (comptes / connexion OAuth, file d'attente de scan, historique par utilisateur) désactivées par défaut dans ce dépôt, afin que l'auto-hébergement reste simple. Voir Auto-hébergé vs hébergé.
| Auto-hébergé (ce dépôt) | Hébergé (tryonus.tech) | |
|---|---|---|
| Installation | docker compose up | aucune - il suffit d'ouvrir le site |
| Connexion | aucune - mono-opérateur | compte / Google / GitHub OAuth |
| Flux de scan | domaine → case d'autorisation → scan | identique, après connexion |
| Extras | - | file d'attente de scan, historique par utilisateur, e-mail hébergé |
| Exécution | votre propre réseau, air-gapped | cloud géré |
Le chemin par défaut de l'auto-hébergement est intentionnellement le plus simple : pas d'inscription, pas de vérification d'e-mail, pas d'OAuth. Les fonctionnalités réservées à l'hébergement (authentification, file d'attente de scan) se trouvent derrière des drapeaux de configuration désactivés par défaut (REQUIRE_AUTH=false, HOSTED_QUEUE_ENABLED=false ; voir Configuration) et ne sont pas définis dans docker-compose.yml - donc exécuter ONUS localement ne vous place jamais derrière une connexion. Vous préférez zéro configuration ? Utilisez le site hébergé sur tryonus.tech.
| Nouveau scan | Statut de scan en direct |
|---|---|
![]() | ![]() |
| Tableau de bord du rapport | Découverte des scans |
|---|---|
![]() | ![]() |
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
Six couches : frontend Next.js → FastAPI → Celery/Redis → 8 modules de scan en parallèle → Ollama (Qwen 2.5 7B) → WeasyPrint PDF + tableau de bord. Tous les détails dans ARCHITECTURE.md (schémas, contrats, garde-fous) et docs/QUICK_REF.md (référence rapide pour les modifications courantes).
mem_limit: 4g), et Postgres, Redis, l'API, le worker et le frontend s'exécutent à ses côtés.Voir Prérequis ci-dessus : ~8 Go d'espace disque et ~6 Go de RAM, et prévoyez une première construction de 10 à 15 minutes.
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)
Ouvrez http://localhost:3000, saisissez un domaine, cochez la case d'autorisation, puis lancez le scan.
Pas de connexion, d'inscription ni de vérification d'e-mail. ONUS auto-hébergé est mono-opérateur par défaut - il n'y a aucune étape de compte entre l'ouverture du tableau de bord et le scan.