
Red teamer local impulsado por IA en un teléfono
Un agente autónomo de pruebas de penetración que se ejecuta completamente en un smartphone. Deja el teléfono en una red, aléjate, y descubre hosts, mapea servicios, encuentra vulnerabilidades y genera un informe de pentest — todo sin conectividad a la nube.
░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0
AUTONOMOUS MOBILE PENTEST AGENT
OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU
Las pruebas de penetración (pentesting) son la práctica de probar la seguridad de una red informática simulando un ataque — con el permiso explícito del propietario de la red. Los pentesters profesionales son contratados para encontrar vulnerabilidades antes de que lo hagan los atacantes reales.
Nightcrawler automatiza este proceso en un teléfono. Utiliza un pequeño modelo de IA (LFM2.5-1.2B-Instruct-Heretic, 1.2 mil millones de parámetros) que se ejecuta localmente en la GPU del teléfono para decidir qué hacer a continuación — qué host sondear, qué herramienta usar, qué buscar. No requiere conexión a internet ni API en la nube.
▶️ Mira Nightcrawler en acción en Instagram
El agente opera como un pentester humano paciente — rota entre hosts, realiza una pequeña acción por turno y construye conocimiento gradualmente a lo largo de horas. Esto lo hace mucho más difícil de detectar que los escáneres de vulnerabilidades tradicionales que atacan todos los hosts a la vez.
| Término | Qué significa |
|---|---|
| Drop box | Un dispositivo dejado en una red objetivo para realizar pruebas de forma autónoma |
| Alcance | El conjunto de redes/hosts que estás autorizado a probar |
| Reglas de Compromiso (ROE) | Un documento legal que especifica lo que se te permite hacer |
| Sigilo | Técnicas para evitar la detección por monitoreo de red (IDS/IPS) |
| MCP | Model Context Protocol — una interfaz estándar para el uso de herramientas por IA |
| C2 | Command and Control — el panel web para monitorear y dirigir al agente |
┌──────────────────────────────────────────────────────────┐
│ PHONE (OnePlus 8) │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ LFM2.5 │ │ Agent Loop │ │
│ │ 1.2B model │◄───►│ (main.py) │ │
│ │ on GPU │ │ Decides what │ │
│ │ (:8080) │ │ to do next │ │
│ └─────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Scope Proxy │ ← Safety layer │
│ │ Validates every │ Blocks out- │
│ │ command before │ of-scope │
│ │ execution │ actions │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Kali MCP Server │ ← Runs the │
│ │ nmap, curl, │ actual │
│ │ smbclient, ... │ commands │
│ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Web Dashboard │ │ SQLite DB │ │
│ │ (:8888) │ │ Hosts, vulns, │ │
│ │ Monitor & steer │ │ creds, commands │ │
│ └──────────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────────────┘
Para el diseño completo del sistema, consulta docs/ARCHITECTURE.md.
Consulta docs/FEATURES.md para la referencia completa de características.
Toda la inferencia mediante OpenCL en GPU Adreno 650:
| Modelo | Cuantización | Velocidad de prompt | Velocidad de generación |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic (producción) | Q8_0 | 115 tok/s | 13 tok/s |
| Qwen3.5-0.8B | Q8_0 | 30.5 tok/s | 6.3 tok/s |
| Qwen3.5-4B | Q4_0 | 10.1 tok/s | 2.0 tok/s |
Nota: Android limita la GPU cuando se usa con batería (desaceleración de 6x). Nightcrawler incluye un daemon de gobernador de GPU que fuerza el rendimiento máximo y se auto-limita al ≤15% de batería.
# 1. Instalación (dentro del chroot de Kali NetHunter)
bash INSTALL.sh
# 2. Espera a que se inicie llama-server (~5 min después del arranque)
curl -s http://127.0.0.1:8080/health # Debería devolver {"status":"ok"}
# 3. Inicia todos los servicios
bash scripts/run-36h.sh
# 4. Abre el panel web (desde cualquier dispositivo en tu red Tailscale)
# https://<tu-hostname-tailscale>:8888
NC_DRY_RUN=1 python3 main.py
Esto usa un servidor Kali simulado para que puedas probar el bucle del agente sin ejecutar comandos de red reales.