
Локальный ИИ-ассистент для red team на телефоне
Автономный агент для пентеста, который полностью работает на смартфоне. Оставьте телефон в сети, уйдите, и он обнаружит хосты, просканирует сервисы, найдёт уязвимости и сформирует отчёт о пентесте — всё без подключения к облаку.
░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0
AUTONOMOUS MOBILE PENTEST AGENT
OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU
Тестирование на проникновение (пентест) — это практика проверки безопасности компьютерной сети путём имитации атаки — с явного разрешения владельца сети. Профессиональных пентестеров нанимают, чтобы найти уязвимости до того, как это сделают реальные злоумышленники.
Nightcrawler автоматизирует этот процесс на телефоне. Он использует небольшую ИИ-модель (LFM2.5-1.2B-Instruct-Heretic, 1,2 миллиарда параметров), работающую локально на GPU телефона, чтобы решать, что делать дальше — какой хост исследовать, какой инструмент использовать, что искать. Никакого подключения к интернету или облачных API не требуется.
▶️ Посмотрите Nightcrawler в действии на Instagram
Агент действует как терпеливый человек-пентестер — он ротируется между хостами, выполняет одно небольшое действие за ход и постепенно накапливает знания в течение часов. Это делает его гораздо более сложным для обнаружения, чем традиционные сканеры уязвимостей, которые «бомбардируют» все хосты одновременно.
| Термин | Что означает |
|---|---|
| Drop box | Устройство, оставленное в целевой сети для автономного тестирования |
| Scope (Область) | Набор сетей/хостов, которые вам разрешено тестировать |
| Правила взаимодействия (ROE) | Юридический документ, определяющий, что вам разрешено делать |
| Стелс | Методы, позволяющие избежать обнаружения сетевым мониторингом (IDS/IPS) |
| MCP | Model Context Protocol — стандартный интерфейс для использования инструментов ИИ |
| C2 | Command and Control — веб-панель для мониторинга и управления агентом |
┌──────────────────────────────────────────────────────────┐
│ 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 │ │
│ └──────────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────────────┘
Полное описание системного дизайна см. в docs/ARCHITECTURE.md.
Полный справочник возможностей см. в docs/FEATURES.md.
Весь инференс через OpenCL на GPU Adreno 650:
| Модель | Квантование | Скорость промпта | Скорость генерации |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic (продакшн) | Q8_0 | 115 ток/с | 13 ток/с |
| Qwen3.5-0.8B | Q8_0 | 30,5 ток/с | 6,3 ток/с |
| Qwen3.5-4B | Q4_0 | 10,1 ток/с | 2,0 ток/с |
Примечание: Android ограничивает GPU при питании от батареи (замедление в 6 раз). Nightcrawler включает демон управления GPU, который принудительно задаёт максимальную производительность и автоматически снижает её при заряде ≤15%.
# 1. Установка (внутри chroot Kali NetHunter)
bash INSTALL.sh
# 2. Дождитесь запуска llama-server (~5 минут после загрузки)
curl -s http://127.0.0.1:8080/health # Должен вернуть {"status":"ok"}
# 3. Запустите все сервисы
bash scripts/run-36h.sh
# 4. Откройте веб-панель (с любого устройства в вашей сети Tailscale)
# https://<your-tailscale-hostname>:8888
NC_DRY_RUN=1 python3 main.py
При этом используется имитационный Kali-сервер, чтобы вы могли протестировать цикл агента без выполнения реальных сетевых команд.