Nightcrawler v0.1.0: 智慧型手機自主在地 AI 滲透測試代理程式
Nightcrawler v0.1.0 是一款自主滲透測試代理程式,旨在完全在智慧型手機上運行,使紅隊人員能夠部署一個「掉落箱 (drop box)」裝置,在不需要雲端連線或網路存取的情況下,發現主機、映射服務並識別漏洞。透過將在地 LLM 與一系列安全工具相結合,它能在保持隱蔽特性的同時,自動化專業滲透測試的偵察與利用階段。
在地 AI 架構與效能
Nightcrawler 利用運行在裝置 GPU 上的小參數 AI 模型來做出操作決策。目前的生產配置使用 LFM2.5-1.2B-Instruct-Heretic 模型,量化為 Q8_0,透過 OpenCL 在 Adreno 650 GPU (測試於 OnePlus 8) 上運行。
推論基準測試
| Model | Quantization | Prompt Speed | Generation Speed |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic | 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 |
為了對抗 Android 在電池供電下的原生 GPU 節流,Nightcrawler 實作了一個 GPU governor daemon,強制執行最大效能,僅在電池電量降至 15% 或更低時才自動降低頻率。
自主滲透測試工作流程
該代理程式透過目標選擇、推理與執行之連續循環進行運作。其設計旨在模仿具備耐心的真人滲透測試人員,透過在不同主機間輪替並在每回合執行單一動作,以避免被入侵偵測系統 (IDS) 發現。
操作流程
- WiFi Breach (可選): 如果在沒有網路存取的部署情況下,代理程式可以使用外部 USB WiFi adapter 進行自主 WPA2 網路破解。
- Reconnaissance: 代理程式執行隱蔽掃描以發現在地網路上的裝置。
- Enumeration: 它會探測已發現的服務,例如 SSH、DNS 與 web servers。
- Exploitation: 代理程式使用包含 24,956 個 CVEs 與 27 個多步驟利用程序 (playbooks) 的在地資料庫,測試已知漏洞與預設憑證。
- Reporting: 生成一份包含所有發現與修復建議的結構化報告。
代理程式決策邏輯
由於 1.2B 模型約有 50% 的指令成功率,系統依賴廣泛的恢復工程 (recovery engineering):
- Garbage Detection: 五次連續失敗會觸發上下文重置,並提供多樣化的 few-shot 範例。
- Stuck Detection: 五分鐘的後備機制會強制執行上下文重置,以防止無限迴圈。
- Deterministic Playbooks: 複雜的多步驟攻擊會完全繞過 LLM,以確保可靠性。
- Duplicate Detection: 如果代理程式重複執行動作,將會被強制要求使其工具與目標多樣化。
系統設計與安全層
Nightcrawler 將「大腦」(LLM) 與「雙手」(工具執行) 分離,以確保安全與穩定性。
Scope Enforcement Proxy
每個由 LLM 生成的指令都必須通過 Scope Proxy。此安全層會根據定義的任務範圍 (networks, excluded hosts, and excluded ports) 驗證指令,並透過指令過濾器在指令到達 Kali MCP server 之前進行破壞性指令的攔截。
技術棧
- OS: Android 搭配 Kali NetHunter (需要透過 Magisk 取得 Root 權限)。
- Hardware: OnePlus 8 (Snapdragon 865, 12GB+ RAM)。
- Database: 使用 SQLite 進行主機、漏洞與憑證的持久化儲存。
- C2 Interface: 一個基於 Flask 的 web dashboard,提供即時串流、網路映射與 C2 控制,該介面會偽裝 nginx headers 以對目標網路保持隱蔽。
社群洞察與考量
圍繞此專案的討論突顯了 AI 驅動的安全工具與「雙用途 (dual-use)」軟體的法律複雜性之間的緊張關係。
"I cant publish a attack surface mapping / pentesting tool i wrote which runs fully deterministic and really controlable due to 'dual use' legal problems - but llm driven tools hit public space."
其他用戶提出的技術擔憂包括「格式正確」但錯誤的指令 (例如:針對錯誤的主機) 可能會繞過範圍檢查,因為範圍代理 (scope proxy) 驗證的是目標的 legality 而非 AI 推理的 intent。
硬體需求
部署 Nightcrawler 需要以下規格:
- Rooted Android Phone: 必須安裝 Kali NetHunter。
- Memory: 12GB+ RAM (模型約需 1.3GB,Android 系統需 4GB)。
- Optional Hardware: Ralink RT3572 USB WiFi adapter 用於 monitor mode 與 WPA2 cracking。
Sources
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案