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 适配器自主地破解 WPA2 网络。
- 侦察 (Reconnaissance): 代理执行隐蔽扫描以发现本地网络上的设备。
- 枚举 (Enumeration): 它探测已发现的服务,例如 SSH、DNS 和 Web 服务器。
- 利用 (Exploitation): 代理使用包含 24,956 个 CVE 和 27 个多步利用剧本 (playbooks) 的本地数据库来测试已知漏洞和默认凭据。
- 报告 (Reporting): 生成包含所有发现结果和修复建议的结构化报告。
代理决策逻辑
由于 1.2B 模型具有约 50% 的命令成功率,系统依赖于广泛的恢复工程:
- 垃圾检测 (Garbage Detection): 五次连续失败会触发带有各种 few-shot 示例的上下文重置。
- 卡顿检测 (Stuck Detection): 五分钟的后备机制会强制执行上下文重置,以防止无限循环。
- 确定性剧本 (Deterministic Playbooks): 复杂的多步攻击会完全绕过 LLM,以确保可靠性。
- 重复检测 (Duplicate Detection): 如果代理重复执行动作,系统将强制其使工具和目标多样化。
系统设计与安全层
Nightcrawler 将“大脑” (LLM) 与“手” (工具执行) 分离开来,以确保安全性和稳定性。
范围限制代理 (Scope Enforcement Proxy)
LLM 生成的每个命令都必须通过 Scope Proxy。这一安全层根据定义的任务范围(网络、排除的主机和排除的端口)验证命令,并通过命令过滤器在命令到达 Kali MCP server 之前将其拦截,以阻止破坏性命令。
技术栈
- OS: Android 配合 Kali NetHunter (需要通过 Magisk 获取 Root 权限)。
- Hardware: OnePlus 8 (Snapdragon 865, 12GB+ RAM)。
- Database: SQLite 用于主机、漏洞和凭据的持久化存储。
- C2 Interface: 一个基于 Flask 的 Web 仪表板,提供实时数据流、网络地图和 C2 控制,该仪表板通过伪造 nginx headers 来保持对目标网络的隐蔽性。
社区洞察与考量
围绕该项目的讨论突显了对 AI 驱动的安全工具的实用性与“双用途”软件的法律复杂性之间的紧张关系。
"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."
用户提出的其他技术担忧包括“格式正确”但错误的命令(例如,针对错误的主机)可能会绕过范围检查,因为范围代理验证的是目标的 legality (合法性) 而非 AI 推理的 intent (意图)。
硬件要求
要部署 Nightcrawler,需要以下规格:
- Rooted Android Phone: 必须安装 Kali NetHunter。
- Memory: 12GB+ RAM (模型大约占用 1.3GB,Android 系统占用 4GB)。
- Optional Hardware: 用于监听模式和 WPA2 破解的 Ralink RT3572 USB WiFi 适配器。
Sources
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目