Nightcrawler запускає автономних локальних агентів пентестингу з Model Context Protocol на смартфонах
Nightcrawler — це відкритий агент для пентестингу, який запускає локальну LLM на 1.2B параметрів безпосередньо на GPU Android через NetHunter. Він автоматизує розвідку, сканування та експлуатацію без використання хмари чи доступу до інтернету.
Чому це важливо
Це демонструє, як крихітні офлайн-моделі мови можуть організовувати складні багатокрокові операції локально на мобільних GPU за допомогою Model Context Protocol.
TL;DR
- 01Працює повністю на пристрої завдяки NetHunter та OpenCL прискоренню на GPU.
- 02Використовує демон GPU governor для примусового забезпечення максимальної продуктивності на батареї з автозниженням при ≤15%.
- 03Алгоритм вибору цілей спрямовує 70% на хости з відкритими портами та 30% на виявлення нових.
- 04Застосовує проксі для обмеження зони тестування та блокування портів SCADA/ICS.
Локальна мобільна архітектура та прискорення на GPU
Nightcrawler працює повністю офлайн у середовищі Kali NetHunter на пристроях із Snapdragon 865, таких як OnePlus 8. Він використовує прискорення OpenCL на GPU Adreno 650 для запуску LLM LFM2.5-1.2B-Instruct-Heretic. Обсяг моделі обмежений ~1.3 ГБ ОЗП із загальних 12 ГБ системної пам'яті. Щоб протидіяти тротлінгу GPU на живленні від батареї, спеціальний демон GPU governor примусово забезпечує максимальну продуктивність та плавно знижує її при заряді ≤15%.
Інтеграція Model Context Protocol та цикли самовідновлення
Виклик інструментів здійснюється через сервер Kali Model Context Protocol (MCP). Цикл агента використовує зважений вибір цілей (70% хостів із відкритими портами, 30% виявлення нових хостів). Оскільки малі мовні моделі часто генерують некоректний синтаксис, Nightcrawler містить систему відновлення: серія з 5 помилок поспіль викликає скидання контексту з новими few-shot прикладами, а 5-хвилинний таймаут запобігає зацикленню. Високоризикові багатокрокові атаки виконуються детерміновано через 27 готових сценаріїв із локальною базою даних на 24,956 записів CVE.
Обмеження зони дії та прихована робота
Кордони тестування контролюються зовнішнім проксі-сервером (scope_proxy.py). Він автоматично визначає підмережі з інтерфейсу wlan0 та блокує дії щодо SCADA/ICS портів (наприклад, 502 та 503) або IP-адрес шлюзу. Для маскування сканування виконується на низькій швидкості (nmap -T2) із ротацією хостів. Веб-панель C2 на порту 8888 підробляє заголовки nginx та повертає порожні відповіді HTTP 404 на будь-які запити з досліджуваної мережі.