
NetLogic es un kit de herramientas avanzado de análisis de red y ciberseguridad para la inspección de tráfico, análisis de paquetes y detección de amenazas.
Mapeador de Superficie de Ataque Nativo en la Nube y Correlacionador de Vulnerabilidades — v3.0
NetLogic es una plataforma de seguridad de red que combina escaneo activo de puertos, correlación CVE (API NVD en vivo), análisis SSL/TLS, auditoría de seguridad HTTP, evaluación de seguridad DNS/correo electrónico, detección de toma de control de subdominios, OSINT pasivo, sondeo activo de vulnerabilidades, un motor de razonamiento basado en IA, descubrimiento de cadenas de ataque entre hosts y arquitectura de agente de sonda profunda, presentada como una aplicación web (panel React + FastAPI). El motor de escaneo principal es Python 3.9+ puro con la biblioteca estándar y cero dependencias de terceros.
| Módulo | Descripción |
|---|---|
| Port Scanner | Escaneo TCP connect con 43/58 puertos, 22 sondas de servicio, captura de banners |
| CVE Correlator | Correlación CVE con API NVD v2.0 en vivo + enriquecimiento EPSS vía FIRST.org |
| TLS Analyzer | Versiones de protocolo, cifrados débiles, POODLE/BEAST/CRIME/DROWN, caducidad de certificados |
| HTTP Header Audit | HSTS, CSP, X-Frame-Options, CORS, indicadores de cookies; puntuación 0–100 |
| Stack Fingerprint | Detección de CMS, framework, proveedor cloud, CDN, WAF a partir de banner/cabecera/cuerpo |
| DNS Security | SPF, DKIM, DMARC, DNSSEC, transferencia de zona, puntuación de suplantación |
| Passive OSINT | Registros de transparencia de certificados, DNS DoH, consulta ASN — sin contacto directo con el objetivo |
| Service Prober | Sondas no autenticadas Redis/Mongo/ES/Docker/K8s/etcd, 33 rutas administrativas |
| Takeover Detector | Descubrimiento de subdominios por CT log + 25 huellas CNAME de proveedores cloud |
| Nuclei Integration | Envoltorio para más de 13k plantillas comunitarias (CVE, tecnología, exposición, mala configuración) — licencia MIT |
| Fusion Pipeline | Compuerta de señales multisensor → acuerdo determinista → adjudicación de IA → gráfico de ataque → informe de 6 secciones |
| Web Fingerprint | Hash de favicon (mmh3 compatible con Shodan), secretos en JS, marcadores de versión, archivos expuestos, detección de páginas predeterminadas |
| AI Analysis | OpenAI / Anthropic / OpenRouter / Ollama / Gemini / Groq / Kimi / Qwen — transmisión SSE de tokens |
| Reasoning Engine | Bucle adaptativo de observar→razonar→actuar con EvidenceGraph, motor de hipótesis, decaimiento de confianza, procedencia, planificador, playbooks, detección de cambios, validación activa |
| Deep Probe | Arquitectura de agente por servicio: ScoutAgent (recon), ProbeAgent (verificaciones CVE específicas), Coordinador, Sandbox |
| AI Investigation Agent | Bucle estilo ReAct: después de los sensores base, la IA impulsa una superficie de herramientas seleccionadas, con alcance acotado y auditadas (~35 herramientas) para verificar pistas y construir cadenas de ataque — con herramientas agresivas optativas (sondas de caída, prueba libre, exploit libre) para objetivos autorizados |
| Verifier Engine | Re-verificación de CVE impulsada por IA: diseña planes de sonda HTTP sin procesar a partir del contexto CVE, ejecuta a través de sockets de la biblioteca estándar |
| Multi-Host Orchestration | Tubería de escaneo completo por host → contexto entre hosts y matriz de alcanzabilidad → descubrimiento de cadenas de ataque |
| AI Sensor Directors | La LLM decide qué sensores priorizar según puertos abiertos, pila tecnológica y CVEs |
| Authenticated SSH | Subproceso ssh con credenciales lee versiones reales de paquetes instalados (más de 60 asignaciones de productos) |
| Service Enum | Extracción de atributos a nivel de protocolo (SSH KEX, SMBv1, RDP NLA, comunidad SNMP, estado de autenticación HTTP) |
| Topology Mapper | DNS inverso, IPv6, traceroute, ASN/org/país vía ip-api.com |
| Reachability Prober | Matriz de movimiento lateral posterior a la compromisión desde la adyacencia de subred |
| Network Prober | Barrido activo de subred (/24 vecinos privados) con descubrimiento en dos fases (barrido en vivo → escaneo completo de puertos) |
| Scan Diff | Cambio en el tiempo: diferencias del escaneo actual con respecto al informe JSON anterior más reciente por objetivo |
| License Management | Sistema de licencias comerciales con activación por clave (stub para Stripe/Paddle/Lemon Squeezy) |
| Per-Org AI Config | Cada organización almacena sus propias credenciales LLM cifradas en reposo mediante Fernet |
| OIDC / Clerk | Inicios de sesión humanos mediante JWTs de sesión emitidos por Clerk verificados contra JWKS público con aprovisionamiento automático |
| PostgreSQL | Persistencia multi-tenant completa con migraciones aplicadas automáticamente (trabajos de escaneo, configuración de organización, estado de razonamiento, auditoría) |
| Fusion Benchmark | Benchmark fuera de línea contra cassettes HTTP grabados; métricas de precisión/recuperación/recuperación crítica/reducción de FP |
Hay exactamente dos formas de ejecutar NetLogic:
| Modo | Comando | Qué hace |
|---|---|---|
| Web app | netlogic --gui | Inicia FastAPI + sirve la SPA React + agente de escaneo en proceso, genera automáticamente secretos y abre el panel en tu navegador. Esta es la única forma de ejecutar la aplicación web. |
| CLI | netlogic <target> [flags] | Escaneo único en terminal (sin servidor), imprime/escribe el informe. |
La superficie del producto es la aplicación web (panel React + FastAPI). El motor de escaneo en src/ impulsa los trabajos iniciados desde la interfaz de usuario.
pip install -r requirements-api.txt pip install -e .
netlogic --gui
netlogic scanme.nmap.org --full
## Referencia de CLI```
netlogic [target] [flags]
El punto de entrada es api.cli:main (definido en pyproject.toml), que delega en netlogic.py:main(). Toda la lógica de escaneo está en src/.
| Formato | Ejemplo | Modo |
|---|---|---|
| Nombre de host | example.com | Escaneo de un solo host |
| IPv4 | 10.0.0.5 | Escaneo de un solo host |
| CIDR | 192.168.1.0/24 | Barrido CIDR (solo escáner, sin fusión) |
| Separado por comas | target1,target2 | Orquestación multi-host (contexto entre hosts) |
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
### Selección de puertos```
# 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