
NetLogic est une boîte à outils avancée d'analyse réseau et de cybersécurité pour l'inspection du trafic, l'analyse de paquets et la détection de menaces.
Cartographe de surface d'attaque Cloud-Native et corrélateur de vulnérabilités — v3.0
NetLogic est une plateforme de sécurité réseau combinant scan de ports actif, corrélation de CVE (API NVD en direct), analyse SSL/TLS, audit de sécurité HTTP, évaluation de la sécurité DNS/e-mail, détection de prise de contrôle de sous-domaine, OSINT passif, sondage de vulnérabilités actif, un moteur de raisonnement basé sur l'IA, la découverte de chaînes d'attaque inter-hôtes, et une architecture d'agent de sonde profonde — livrée en tant qu'application web (tableau de bord React + FastAPI). Le moteur de scan central est en Python 3.9+ pur avec la bibliothèque standard et zéro dépendance tierce.
| Module | Description |
|---|---|
| Scan de ports | Scan TCP connect avec 43/58 ports, 22 sondes de service, récupération de bannières |
| Corrélateur de CVE | API NVD v2.0 en direct + enrichissement EPSS via FIRST.org |
| Analyseur TLS | Versions de protocole, chiffrements faibles, POODLE/BEAST/CRIME/DROWN, expiration du certificat |
| Audit d'en-tête HTTP | HSTS, CSP, X-Frame-Options, CORS, drapeaux de cookie ; score 0–100 |
| Empreinte de pile | Détection de CMS, framework, fournisseur cloud, CDN, WAF à partir de bannière/en-tête/corps |
| Sécurité DNS | SPF, DKIM, DMARC, DNSSEC, transfert de zone, score d'usurpabilité |
| OSINT passif | Journaux de transparence des certificats, DNS DoH, recherche ASN — aucun contact direct avec la cible |
| Sonde de services | Sondes non authentifiées Redis/Mongo/ES/Docker/K8s/etcd, 33 chemins admin |
| Détecteur de prise de contrôle | Découverte de sous-domaines via logs CT + 25 empreintes CNAME de fournisseurs cloud |
| Intégration Nuclei | Wrapper pour 13 000+ templates communautaires (CVE, tech, exposition, mauvaise configuration) — licence MIT |
| Pipeline de fusion | Porte de signaux multi-capteurs → accord déterministe → arbitrage IA → graphe d'attaque → rapport en 6 sections |
| Empreinte Web | Hash de favicon (mmh3 compatible Shodan), secrets JS, marqueurs de version, fichiers exposés, détection de page d'accueil par défaut |
| Analyse IA | OpenAI / Anthropic / OpenRouter / Ollama / Gemini / Groq / Kimi / Qwen — streaming de jetons SSE |
| Moteur de raisonnement | Boucle adaptative observer→raisonner→agir avec EvidenceGraph, moteur d'hypothèses, décroissance de confiance, provenance, planificateur, playbooks, détection de changements, validation active |
| Sonde profonde | Architecture d'agent par service : ScoutAgent (recon), ProbeAgent (vérifications de CVE ciblées), Coordinateur, Sandbox |
| Agent d'investigation IA | Boucle de style ReAct : après les capteurs de base, l'IA pilote une surface d'outils organisée, limitée par scope et auditée (~35 outils) pour vérifier les pistes et construire des chaînes d'attaque — avec des outils agressifs optionnels (sondes de crash, preuve libre, exploit libre) pour les cibles autorisées |
| Moteur de vérification | Re-vérification de CVE pilotée par l'IA : conçoit des plans de sondes HTTP brutes à partir du contexte CVE, exécute via sockets stdlib |
| Orchestration multi-hôte | Pipeline de scan complet par hôte → contexte inter-hôtes et matrice d'accessibilité → découverte de chaîne d'attaque |
| Directeurs de capteurs IA | Le LLM décide quels capteurs prioriser en fonction des ports ouverts, de la pile technologique et des CVE |
| SSH authentifié | Sous-processus ssh avec identifiants lit les versions réelles des paquets installés (60+ correspondances de produits) |
| Énumération de services | Extraction d'attributs au niveau protocole (KEX SSH, SMBv1, NLA RDP, communauté SNMP, état d'authentification HTTP) |
| Cartographe de topologie | DNS inversé, IPv6, traceroute, ASN/org/pays via ip-api.com |
| Sonde d'accessibilité | Matrice de mouvement latéral post-compromise à partir de l'adjacence de sous-réseau |
| Sonde réseau | Balayage de sous-réseau actif (/24 voisins privés) avec découverte en deux phases (balayage en direct → scan de ports complet) |
| Diff de scan | Évolution dans le temps : différences entre le scan actuel et le rapport JSON antérieur le plus récent par cible |
| Gestion des licences | Système de licence commerciale avec activation par clé (stub pour Stripe/Paddle/Lemon Squeezy) |
| Configuration IA par organisation | Chaque organisation stocke ses propres identifiants LLM chiffrés au repos via Fernet |
| OIDC / Clerk | Connexions humaines via des JWT de session émis par Clerk vérifiés contre JWKS public avec provisionnement automatique |
| PostgreSQL | Persistance multi-locataire complète avec migrations automatiques (tâches de scan, paramètres organisation, état de raisonnement, audit) |
| Benchmark Fusion | Benchmark hors ligne contre des cassettes HTTP enregistrées ; métriques précision/rappel/rappel critique/réduction FP |
Il y a exactement deux façons d'exécuter NetLogic :
| Mode | Commande | Description |
|---|---|---|
| Application web | netlogic --gui | Démarre FastAPI + sert la SPA React + agent de scan intégré, génère automatiquement les secrets, et ouvre le tableau de bord dans votre navigateur. C'est la seule façon d'exécuter l'application web. |
| CLI | netlogic <target> [flags] | Scan terminal unique (pas de serveur), imprime/écrit le rapport. |
La surface du produit est l'application web (tableau de bord React + FastAPI). Le moteur de scan sous src/ alimente les tâches lancées depuis l'interface utilisateur.
pip install -r requirements-api.txt pip install -e .
netlogic --gui
netlogic scanme.nmap.org --full
## Référence CLI```
netlogic [target] [flags]
Le point d'entrée est api.cli:main (défini dans pyproject.toml), qui délègue à netlogic.py:main(). Toute la logique de scan se trouve dans src/.
| Format | Exemple | Mode |
|---|---|---|
| Nom d'hôte | example.com | Scan mono-hôte |
| IPv4 | 10.0.0.5 | Scan mono-hôte |
| CIDR | 192.168.1.0/24 | Balayage CIDR (scanner uniquement, pas de fusion) |
| Séparés par des virgules | target1,target2 | Orchestration multi-hôtes (contexte inter-hôtes) |
netlogic example.com
netlogic example.com --full
netlogic example.com --tls --headers
netlogic example.com --takeover
netlogic example.com --osint
netlogic example.com --stack
netlogic example.com --dns
netlogic 10.0.0.5 --probe
netlogic example.com --full --probe
### Sélection du port```
# Quick — 43 common ports (default)
netlogic example.com --ports quick
# Full — 58 extended ports
netlogic example.com --ports full
# Custom list
netlogic example.com --ports custom=22,80,443,8080,9200
netlogic example.com --ai --ai-key $KEY
netlogic example.com --ai --ai-provider openai --ai-key $KEY --ai-model gpt-4o-mini