icarus-cmd
v1.4.0
Published
Icarus — plateforme de pentest tout-en-un : nmap, nuclei, sqlmap, ZAP, ffuf, katana & co regroupés. CLI + TUI + interface web locale, analyse de code (SAST), base de résultats commune et rapports.
Maintainers
Readme
Icarus
Plateforme de pentest tout-en-un. Une seule CLI (+ TUI + interface web) qui orchestre les meilleurs outils de sécurité (nmap, nuclei, sqlmap, ZAP, ffuf, katana, httpx, nikto, dalfox…), avec base de résultats commune, rapports, analyse de code (SAST), scan de dépendances (CVE) et de secrets.
⚠️ Usage strictement autorisé. Uniquement sur tes propres systèmes ou avec un mandat écrit signé. Scanner un tiers sans autorisation est illégal.
Installation
Pré-requis : Node.js ≥ 20.
npm install -g icarus-cmd # installe la commande "icarus"
icarus setup # télécharge les outils (Go) + sqlmap/wafw00f (pip) — demande confirmation
icarus doctor # état des outils (installé / manquant + comment installer le reste)
icarus # lance l'interface interactive (TUI)icarus setup détecte ton OS (Windows / Linux / macOS, amd64 & arm64) et
télécharge les binaires précompilés. Les outils à runtime lourds (nmap, OWASP
ZAP, Metasploit, nikto, wpscan) s'installent à part — icarus doctor donne la
commande pour chacun.
Mise à jour : icarus update (= npm i -g icarus-cmd@latest).
Commandes
| Commande | Description |
|----------|-------------|
| icarus | TUI interactive (menu, logo animé) |
| icarus scan <cible> | scan non interactif (scriptable) |
| icarus pipeline <domaine> | chaîne subfinder → httpx → katana → nuclei (les URLs trouvées nourrissent l'outil suivant) |
| icarus diff [cible] | compare les 2 derniers scans (nouveau / corrigé) |
| icarus code <chemin> | analyse statique du code (SAST) |
| icarus deps <chemin> | CVE des dépendances (via OSV.dev) |
| icarus secrets <chemin> | secrets en dur (via gitleaks) |
| icarus web | interface web locale (http://localhost:7373) |
| icarus report | rapport HTML + JSON |
| icarus doctor | état des outils |
| icarus setup | télécharge / installe les outils |
| icarus update | met à jour Icarus |
| icarus --version | version |
Astuce :
icarus <fichier-ou-dossier>détecte un chemin local et lance l'analyse de code automatiquement.
Outils intégrés (21)
| Catégorie | Outils | |-----------|--------| | Recon | nmap · naabu · subfinder · amass · dnsx · httpx · katana · whatweb · wafw00f | | Vuln | nuclei · metasploit | | Web | ffuf · gobuster · feroxbuster · nikto · sqlmap · dalfox · wpscan · testssl · tlsx · OWASP ZAP |
Chaque outil a une sortie normalisée (sévérité, titre, détail) regroupée dans une base commune → rapports et comparaisons unifiés.
Options de scan
icarus scan example.com --profile full --timeout 300
icarus scan http://site/p?id=1 --tools sqlmap,nuclei --level 3
icarus scan example.com --parallel --concurrency 8| Option | Effet |
|--------|-------|
| --profile recon\|web\|vuln\|full | enchaîne un profil d'outils |
| --tools nmap,nuclei,sqlmap | choisit des outils précis |
| --parallel | lance les outils en parallèle (pool borné) |
| --concurrency 8 | nombre d'outils en parallèle (défaut 5) |
| --fast | mode rapide (parallèle + options légères) |
| --safe | mode sécurisé (throttle, user-agent aléatoire) |
| --no-waf-check | ne pas détecter le WAF avant le scan |
| --vuln | nmap : scripts NSE de vulnérabilités |
| --timeout 300 | délai max par outil (s) — large pour nuclei |
| --quiet | sans sortie live |
Profils : recon (cartographie), web (application web), vuln
(vulnérabilités), full (tout). Les outils non installés sont ignorés.
Le parallèle est borné (5 à la fois par défaut) : lancer les 21 outils simultanément saturerait la machine. Augmente avec
--concurrency.
Mode sécurisé (WAF-aware)
Avant chaque scan, Icarus lance wafw00f. Si un WAF est détecté (Cloudflare, Akamai, Imperva…) :
- 🚨 il prévient (bannière + nom du WAF) ;
- 🛡️ il passe en mode sécurisé automatiquement : requêtes ralenties, user-agent aléatoire, timing doux sur 10 outils (nuclei, sqlmap, ffuf, gobuster, feroxbuster, dalfox, nikto, nmap, httpx, katana) — pour éviter le ban.
Forçable avec --safe, désactivable avec --no-waf-check.
Analyse de code & dépendances
icarus code ./mon-projet # SAST : injections (SQL/cmd/code), XSS, secrets, désérialisation, TLS, crypto faible, SSRF, JWT…
icarus deps ./mon-projet # CVE connues des dépendances (package.json, requirements.txt) via OSV.dev
icarus secrets ./mon-projet # secrets en dur (clés AWS, tokens, mots de passe) via gitleaksMulti-langage (JS/TS, Python, PHP, Java, Go, Ruby…). Sortie = fichier:ligne +
sévérité, intégrée au rapport.
Pipeline & comparaison
icarus pipeline example.com # recon → vulns enchaînés automatiquement
icarus diff example.com # « 3 nouvelles failles, 1 corrigée depuis le dernier scan »Chaque scan enregistre un instantané → icarus diff montre ce qui a changé.
Interface web
icarus web # http://localhost:7373 (Ctrl+C pour arrêter)
icarus web --port 8080Configuration de la cible, sélection des outils par catégorie (+ options par outil), sortie live en streaming, détection WAF + mode sécurisé auto, modes parallèle / rapide / sécurisé, barre de progression et bouton stop.
- Onglet Cibles : une carte par cible (note A→F, score, findings, CVE, secrets, dernier scan) — inclut les scans CLI. Clic → dashboard de la cible.
- Dashboard (nouvel onglet) : page complète avec score, donut de sévérité, graph findings/outil, activité par jour, fichiers sensibles & secrets et CVE / dépendances vulnérables mis en avant, table filtrable. Accessible depuis une cible, une session (📊) ou un finding.
- Score de sécurité (0–100 + note A→F) calculé depuis la sévérité des findings.
- Sessions de scan conservées 30 jours (onglet Historique) : chaque scan = une session (cible, date, score, findings) → clic sur ▤ rapport = rapport complet de cette session (score, répartition par outil, impression/PDF).
- Rapports ciblés : dernier scan · une seule cible · tout.
- Findings : recherche, filtre par sévérité, détail dépliable, copie.
Même style que la CLI (noir + doré + logo).
Sécurité
- Validation des cibles : caractères dangereux (injection shell) rejetés.
- Serveur web lié à
127.0.0.1uniquement + contrôle du headerHost(anti DNS-rebinding) — pas exposé au réseau. - Les secrets ne sont pas stockés (gitleaks en mode
--redact).
Plateformes
Windows · Linux · macOS (amd64 & arm64). Le cœur (Node) tourne partout ; icarus
setup télécharge les bons binaires ; les outils à runtime s'installent via le
gestionnaire de paquets de l'OS (icarus doctor guide).
Licence
MIT.
