
Assistente de red team com IA local no seu telefone
Um agente autônomo de teste de penetração que roda inteiramente em um smartphone. Coloque o telefone em uma rede, afaste-se, e ele descobre hosts, mapeia serviços, encontra vulnerabilidades e gera um relatório de pentest — tudo sem conectividade com a nuvem.
░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0
AUTONOMOUS MOBILE PENTEST AGENT
OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU
Teste de penetração (pentest) é a prática de testar a segurança de uma rede de computadores simulando um ataque — com a permissão explícita do proprietário da rede. Pentesters profissionais são contratados para encontrar vulnerabilidades antes que atacantes reais o façam.
O Nightcrawler automatiza esse processo em um telefone. Ele usa um pequeno modelo de IA (LFM2.5-1.2B-Instruct-Heretic, 1,2 bilhão de parâmetros) rodando localmente na GPU do telefone para decidir o que fazer em seguida — qual host sondar, qual ferramenta usar, o que procurar. Nenhuma conexão com a internet ou API em nuvem é necessária.
▶️ Assista ao Nightcrawler em ação no Instagram
O agente opera como um pentester humano paciente — ele rotaciona entre hosts, faz uma pequena ação por turno e constrói conhecimento gradualmente ao longo de horas. Isso o torna muito mais difícil de detectar do que scanners de vulnerabilidade tradicionais que atacam todos os hosts de uma vez.
| Termo | O que significa |
|---|---|
| Drop box | Um dispositivo deixado em uma rede alvo para realizar testes autonomamente |
| Escopo | O conjunto de redes/hosts que você está autorizado a testar |
| Regras de Engajamento (ROE) | Um documento legal especificando o que você tem permissão para fazer |
| Furtividade | Técnicas para evitar detecção por monitoramento de rede (IDS/IPS) |
| MCP | Model Context Protocol — uma interface padrão para uso de ferramentas por IA |
| C2 | Command and Control — o painel web para monitorar e direcionar o 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 o design completo do sistema, consulte docs/ARCHITECTURE.md.
Consulte docs/FEATURES.md para a referência completa de recursos.
Toda a inferência via OpenCL na GPU Adreno 650:
| Modelo | Quantização | Velocidade de Prompt | Velocidade de Geração |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic (produção) | 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: O Android limita a GPU quando alimentado por bateria (desaceleração de 6x). O Nightcrawler inclui um daemon de governança de GPU que força o desempenho máximo e limita automaticamente a ≤15% de bateria.
# 1. Instalação (dentro do chroot do Kali NetHunter)
bash INSTALL.sh
# 2. Aguarde o llama-server iniciar (~5 min após o boot)
curl -s http://127.0.0.1:8080/health # Deve retornar {"status":"ok"}
# 3. Inicie todos os serviços
bash scripts/run-36h.sh
# 4. Abra o painel web (de qualquer dispositivo na sua rede Tailscale)
# https://<seu-hostname-tailscale>:8888
NC_DRY_RUN=1 python3 main.py
Isso usa um servidor Kali simulado para que você possa testar o loop do agente sem executar comandos reais de rede.