
NetLogic è un toolkit avanzato di analisi di rete e cybersecurity per l'ispezione del traffico, l'analisi dei pacchetti e il rilevamento delle minacce
Mapper di Superficie d'Attacco Cloud-Native & Correlatore di Vulnerabilità — v3.0
NetLogic è una piattaforma di sicurezza di rete che combina scansione attiva delle porte, correlazione CVE (tramite API NVD live), analisi SSL/TLS, audit di sicurezza HTTP, valutazione della sicurezza DNS/email, rilevamento di takeover di sottodomini, OSINT passivo, probing attivo delle vulnerabilità, un motore di ragionamento basato su IA, scoperta di catene di attacco cross-host e architettura di agenti di deep probe — presentata come web app (dashboard React + FastAPI). Il motore di scansione principale è puro Python 3.9+ stdlib senza dipendenze di terze parti.
| Modulo | Descrizione |
|---|---|
| Port Scanner | Scansione TCP connect su 43/58 porte, 22 sonde di servizio, cattura banner |
| CVE Correlator | API NVD v2.0 live + arricchimento EPSS tramite FIRST.org |
| TLS Analyzer | Versioni dei protocolli, cifrari deboli, POODLE/BEAST/CRIME/DROWN, scadenza certificati |
| HTTP Header Audit | HSTS, CSP, X-Frame-Options, CORS, flag cookie; punteggio 0–100 |
| Stack Fingerprint | Rilevamento CMS, framework, cloud provider, CDN, WAF da banner/header/corpo |
| DNS Security | SPF, DKIM, DMARC, DNSSEC, zone transfer, punteggio di spoofabilità |
| Passive OSINT | Log di trasparenza dei certificati, DNS DoH, lookup ASN — nessun contatto diretto con il target |
| Service Prober | Sonde non autenticate per Redis/Mongo/ES/Docker/K8s/etcd, 33 percorsi admin |
| Takeover Detector | Scoperta di sottodomini tramite log CT + 25 impronte CNAME di cloud provider |
| Nuclei Integration | Wrapper per oltre 13k template della comunità (CVE, tech, esposizione, misconfig) — licenza MIT |
| Fusion Pipeline | Gate multi-sensore → accordo deterministico → delibera IA → grafo d'attacco → report in 6 sezioni |
| Web Fingerprint | Hash favicon (mmh3 compatibile Shodan), segreti JS, marcatori versione, file esposti, rilevamento lander predefinito |
| AI Analysis | OpenAI / Anthropic / OpenRouter / Ollama / Gemini / Groq / Kimi / Qwen — streaming SSE tramite token |
| Reasoning Engine | Ciclo adattivo observe→reason→act con EvidenceGraph, motore di ipotesi, decadimento della confidenza, provenienza, scheduler, playbook, rilevamento cambiamenti, validazione attiva |
| Deep Probe | Architettura ad agente per servizio: ScoutAgent (ricognizione), ProbeAgent (verifiche CVE mirate), Coordinatore, Sandbox |
| AI Investigation Agent | Ciclo stile ReAct: dopo i sensori di base, l'IA guida una superficie di strumenti curata, limitata nell'ambito e sottoposta ad audit (~35 strumenti) per verificare indizi e costruire catene d'attacco — con strumenti aggressivi opzionali (crash probe, proof libero, exploit libero) per target autorizzati |
| Verifier Engine | Riverifica CVE guidata da IA: progetta piani di probe HTTP raw dal contesto CVE, esegue tramite socket stdlib |
| Multi-Host Orchestration | Pipeline di scansione completa per host → contesto cross-host e matrice di raggiungibilità → scoperta catena d'attacco |
| AI Sensor Directors | LLM decide quali sensori prioritizzare in base a porte aperte, stack tecnologico e CVE |
| Authenticated SSH | Sottoprocesso ssh con credenziali legge versioni reali dei pacchetti installati (60+ mapping di prodotto) |
| Service Enum | Estrazione di attributi a livello di protocollo (KEX SSH, SMBv1, NLA RDP, community SNMP, stato auth HTTP) |
| Topology Mapper | DNS inverso, IPv6, traceroute, ASN/org/paese tramite ip-api.com |
| Reachability Prober | Matrice di movimento laterale post-compromissione da adiacenza di sottorete |
| Network Prober | Scansione attiva di sottorete (/24 vicini privati) con scoperta in due fasi (live sweep → scansione porte completa) |
| Scan Diff | Differenze nel tempo: confronta la scansione corrente con l'ultimo report JSON precedente per target |
| License Management | Sistema di licenze commerciali con attivazione tramite chiave (stub per Stripe/Paddle/Lemon Squeezy) |
| Per-Org AI Config | Ogni organizzazione memorizza le proprie credenziali LLM crittografate a riposo tramite Fernet |
| OIDC / Clerk | Accessi umani tramite JWT di sessione emessi da Clerk, verificati contro JWKS pubbliche con provisioning automatico |
| PostgreSQL | Persistenza multi-tenant completa con migrazioni applicate automaticamente (job di scansione, impostazioni organizzazione, stato del ragionamento, audit) |
| Fusion Benchmark | Benchmark offline su cassette HTTP registrate; metriche di precisione/richiamo/richiamo critico/riduzione falsi positivi |
Ci sono esattamente due modi per eseguire NetLogic:
| Modalità | Comando | Cosa fa |
|---|---|---|
| Web app | netlogic --gui | Avvia FastAPI + serve la SPA React + agente di scansione in-process, genera segreti automaticamente e apre la dashboard nel browser. Questo è l'unico modo per eseguire la web app. |
| CLI | netlogic <target> [flags] | Scansione terminale one-shot (nessun server), stampa/scrive il report. |
La superficie del prodotto è la web app (dashboard React + FastAPI). Il motore di scansione sotto src/ alimenta i job avviati dall'interfaccia utente.
pip install -r requirements-api.txt pip install -e .
netlogic --gui
netlogic scanme.nmap.org --full
## Riferimento CLI```
netlogic [target] [flags]
The entry point is api.cli:main (defined in pyproject.toml), which delegates to netlogic.py:main(). All scan logic is in src/.
| Formato | Esempio | Modalità |
|---|---|---|
| Nome host | example.com | Scansione singolo host |
| IPv4 | 10.0.0.5 | Scansione singolo host |
| CIDR | 192.168.1.0/24 | Scansione CIDR (solo scanner, nessuna fusione) |
| Separati da virgola | target1,target2 | Orchestrazione multi-host (contesto cross-host) |
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
### Selezione della porta```
# 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
netlogic example.com --ai --ai-provider anthropic --ai-key $KEY
netlogic example.com --ai --ai-provider gemini --ai-key $KEY --ai-model gemini-2.0-flash
netlogic example.com --ai --ai-provider ollama