一部安卓手机能够做什么?
打电话、拍照、刷视频、运行几个应用程序。
但最近,一个名为 Nightcrawler 的开源项目,给出了一个完全不同的答案:
把手机放进一个经过授权的网络中,它可以自动发现设备、识别服务、分析漏洞、执行安全测试,最后生成一份完整的渗透测试报告。
更关键的是,整个过程不需要调用云端大模型。
AI、数据、工具和测试记录,全部运行在手机本地。
这已经不只是“在手机上安装几个网络工具”。
Nightcrawler 真正想做的,是把一部安卓手机改造成一个能够自主工作的 本地 AI 安全测试 Agent。

一、Nightcrawler 是什么?
Nightcrawler 是一个运行在安卓手机上的自动化渗透测试系统。
它基于 Kali NetHunter 环境,将本地大语言模型、Kali Linux 安全工具、任务规划器、漏洞数据库、持久化存储和 Web 控制台组合到了一起。
按照项目设计,测试人员只需要提前配置允许测试的网络范围和规则,然后把手机接入目标网络。
接下来,系统可以自动完成:
-
发现网络中的设备 -
扫描开放端口 -
识别运行中的服务 -
分析软件版本 -
匹配已知漏洞 -
测试弱口令和错误配置 -
记录测试过程 -
生成修复建议和测试报告
项目当前标注的版本是 v0.1.0,测试设备为搭载骁龙865处理器的 OnePlus 8,并要求手机具备 Root 权限、Kali NetHunter 环境以及至少12GB内存。
从这些要求也能看出,Nightcrawler 目前仍然更像一个面向安全研究人员的实验性项目,而不是普通用户安装后就能使用的手机应用。
二、它和传统漏洞扫描器有什么不同?
传统漏洞扫描器的工作方式通常比较固定。
扫描器内部提前写好大量规则:
-
扫描目标端口; -
获取服务版本; -
按照规则匹配漏洞; -
输出扫描结果。
无论面对什么网络,它基本都按照固定流程执行。
Nightcrawler 则在扫描器中加入了一个本地语言模型。
这个模型会根据当前已经获得的信息,决定下一步应该做什么。
例如,它可以判断:
-
哪台设备更值得继续分析; -
某个端口应该使用什么工具; -
一条命令的输出意味着什么; -
当前方法失败后是否应该更换方向; -
某个已经确认的问题是否值得继续深入; -
哪些操作已经尝试过,不应该再次重复。
项目文档将这种行为描述为:它不像一个执行固定清单的扫描器,而更像一个拥有无限耐心的渗透测试人员。
这也是 Nightcrawler 最值得关注的地方。
它不是简单地让 AI “生成几条命令”,而是让 AI 持续运行在一个闭环中:
观察环境 → 决定行动 → 调用工具 → 分析结果 → 更新记忆 → 继续行动。
这就是一个真正的 Agent 系统。
三、一部手机里,装下了哪些组件?
Nightcrawler 的整体架构可以拆成几个核心部分。
1. 本地语言模型
项目使用一个约12亿参数的本地模型作为推理引擎,并通过 llama.cpp 在手机上运行。
模型不会直接分析网络数据包,而是负责做决策:
-
选择目标; -
选择工具; -
生成命令; -
阅读执行结果; -
判断下一步方向。
按照项目提供的测试数据,生产配置中的模型经过 Q8_0 量化,在 Adreno 650 GPU 上提示词处理速度约为115 token/s,生成速度约为13 token/s。
这些数字来自项目自身的测试环境,并不代表所有手机都能达到相同表现。
2. Agent 循环
Agent 循环是整个系统的“大脑中枢”。
它不断读取当前任务阶段、已发现设备、历史命令、漏洞信息和模型输出,然后决定下一轮行动。
系统会按照不同阶段推进任务:
-
网络接入 -
资产发现 -
服务枚举 -
漏洞验证 -
结果整理 -
报告生成
每完成一次操作,执行结果都会重新返回 Agent,成为下一次决策的上下文。
3. Kali MCP Server
语言模型本身并不会扫描端口,也不会直接连接服务器。
真正执行操作的是 Kali Linux 中已经安装的安全工具。
Nightcrawler 通过 Kali MCP Server,将模型的决策转换为实际的工具调用。
这意味着系统不需要为每一个 Kali 工具单独编写复杂的 AI 接口。模型可以生成原始命令,再由执行层运行并返回标准输出、错误输出和返回码。
这种设计非常灵活,但同时也带来了一个严肃问题:
语言模型可能产生错误命令,甚至产生超出授权范围的操作。
因此,Nightcrawler 在模型和工具之间增加了一个关键组件。
四、最重要的组件不是AI,而是安全代理
Nightcrawler 在 Agent 和 Kali 工具之间设置了一个 Scope Enforcement Proxy,也就是范围控制代理。
模型生成的每一条命令,都不能直接交给系统执行,而是必须先经过代理检查。
代理会验证:
-
目标IP是否处于授权网段; -
是否访问了明确排除的主机; -
是否访问了禁止测试的端口; -
是否包含破坏性命令; -
是否超过命令执行频率; -
是否符合当前任务范围。
每一条被允许或者被阻止的命令,都会写入数据库,形成完整的审计记录。
项目把命令执行划分为三层:
第一层是 AI Agent,负责生成命令;
第二层是范围控制代理,负责检查命令;
第三层才是 Kali MCP Server,负责真正执行命令。
这套设计背后有一个非常重要的工程原则:
永远不要只依靠提示词约束一个拥有真实执行能力的 AI。
在很多 Agent 项目中,开发者会在系统提示词中写:
“不要删除文件。”
“不要访问未授权系统。”
“不要执行危险操作。”
但提示词只是一种软约束。
模型可能误解指令,也可能因为上下文污染、提示词注入或者推理错误而产生不安全行为。
真正可靠的 Agent 系统,必须在执行层设置独立于模型的硬性边界。
Nightcrawler 的安全代理,正是这类思想的一种实践。
五、12亿参数的小模型,真的能独立完成安全测试吗?
仅靠一个12亿参数的小模型,很难完成长期、复杂的渗透测试任务。
Nightcrawler 的项目文档也明确提到,小模型会产生大量无效输出,因此系统设计了多层工程机制进行补偿。
其中包括:
持久化记忆
每台设备的端口、服务、历史发现、失败命令和测试状态,都会保存到 SQLite 数据库。
即使手机重启,系统仍然能够恢复之前的测试进度。
漏洞数据库
项目内置了一个包含约24956条记录的漏洞数据库,可以根据服务名称和版本信息匹配已知问题。
这样,小模型不必完全依赖自身参数记忆所有漏洞知识。
攻击流程模板
项目提供了27套多步骤测试流程。
当系统识别出特定服务或配置时,可以直接触发预先定义的流程,而不是要求语言模型临时规划每一步。
输出解析器
工具返回的往往是大量原始文本。
Nightcrawler 会从中自动提取:
-
IP地址 -
主机名 -
开放端口 -
服务版本 -
用户名 -
漏洞编号 -
可疑配置 -
已确认凭据
随后再把这些结构化信息写入数据库。
错误恢复
当模型连续输出无效内容、重复命令或者长时间没有产生有效行动时,系统会清理上下文、注入新的示例,或者通过外部看门狗重启相关进程。
所以,Nightcrawler 并不是单纯依靠模型能力。
它真正采用的是一种更现实的方案:
小模型负责有限决策,确定性程序负责记忆、规则、验证、执行和恢复。
这可能也是未来大量本地 Agent 的典型架构。
六、为什么一定要把它运行在手机上?
从计算性能来看,笔记本电脑和服务器显然比手机更适合运行安全工具。
但手机拥有几个特殊优势。
第一,体积小
一部手机很容易被放置在目标网络中。
在专业授权测试中,这类被留在网络内部持续工作的设备通常被称为 Drop Box。
过去的 Drop Box 往往是树莓派、小型主机或者专门的硬件设备。
Nightcrawler 证明,一部旧手机也可以承担类似角色。
第二,自带完整硬件
手机本身已经具备:
-
CPU -
GPU -
内存 -
存储 -
电池 -
Wi-Fi -
USB接口 -
移动网络 -
屏幕
它不需要额外显示器,也不一定依赖持续供电。
第三,适合本地推理
所有模型和测试数据都在设备本地运行,不需要把目标网络信息上传到第三方云端。
对于安全测试、企业内网和敏感环境而言,本地推理能够减少数据外泄风险,也能在没有互联网连接的环境中继续工作。
第四,可以长时间独立运行
项目使用 tmux、开机启动脚本、GPU调度、进程看门狗和自动恢复机制,让系统能够在熄屏甚至重启后继续工作。
它不是要求测试人员一直盯着终端,而是希望设备能够独立运行数小时甚至更长时间。
七、本地运行,不等于绝对安全
Nightcrawler 强调本地推理、范围控制和审计日志,但这并不意味着它没有风险。
恰恰相反,任何能够自动调用网络安全工具的 Agent,都应该被视为高风险系统。
它至少面临几个问题。
1. 模型仍然可能犯错
小模型可能误解工具输出、选择错误目标,或者生成格式正确但逻辑错误的命令。
安全代理可以限制执行范围,却不能保证每一个范围内的动作都是正确的。
2. 边界规则可能配置错误
如果授权网段设置得过大,或者排除主机配置不完整,Agent 仍然可能访问不应该访问的设备。
3. 自动化会放大错误
人类测试人员执行一次错误操作,影响可能有限。
Agent 可以连续运行数小时。一旦决策逻辑或配置存在问题,错误也可能被自动重复和放大。
4. 必须获得明确授权
项目文档反复强调,渗透测试必须建立在网络所有者明确授权的基础上,并通过测试范围和 Rules of Engagement 限制行为。
未经授权扫描、尝试口令、验证漏洞或者接入他人网络,可能违反法律。
因此,Nightcrawler 更适合用于:
-
企业授权安全评估 -
自建实验环境 -
网络安全教学 -
靶场测试 -
Agent 安全研究
而不是用来测试任何不属于自己的网络。
八、这个项目真正值得关注的,不只是网络安全
从表面看,Nightcrawler 是一个手机渗透测试工具。
但从工程角度看,它展示了本地 AI Agent 的一种完整形态。
一个能够长期工作的 Agent,至少需要:
-
推理模型 -
工具调用系统 -
环境感知 -
长期记忆 -
任务规划 -
权限控制 -
执行审计 -
错误恢复 -
人工接管界面
这些能力并不只适用于网络安全。
把 Kali 工具替换成其他工具,同样的架构可以用于:
-
自动化服务器巡检 -
局域网设备管理 -
工业设备状态监测 -
软件测试 -
日志分析 -
文件整理 -
数据采集 -
边缘计算任务
Nightcrawler 证明了一件很有意思的事情:
AI Agent 不一定需要部署在昂贵的云服务器上,也不一定需要几百亿参数的大模型。
当任务范围足够明确,并且拥有完善的工具链、记忆系统和规则约束时,一个小模型也可以在普通移动设备上完成持续性的专业任务。
九、手机正在从“应用终端”变成“智能节点”
过去,我们一直把手机当作一个应用终端。
人在屏幕上点击按钮,应用按照预先编写的流程执行。
Nightcrawler 展示的则是另一种可能:
手机可以观察周围环境,调用本地工具,保存长期记忆,根据执行结果调整计划,并在没有人持续操作的情况下完成任务。
这意味着未来的手机,可能不仅仅运行一个个独立应用。
它也可能成为一个随身携带的智能节点:
-
本地运行模型; -
自主使用工具; -
接入现实环境; -
长时间执行任务; -
只在关键节点请求人工介入。
Nightcrawler 目前仍处于早期阶段,安装门槛很高,硬件要求严格,模型能力和安全边界也需要经过更多实际验证。
但它所展示的方向非常清晰:
AI 正在离开聊天窗口,进入能够真实感知环境、调用工具并持续行动的设备之中。
而这一次,承载 AI Agent 的不是数据中心里的服务器。
只是一部被放在角落里的安卓手机。
参考来源
- Nightcrawler GitHub 仓库:项目源码、最新说明与后续更新的官方入口。
- VulnClaw GitHub 仓库:用于对比桌面或服务器端 AI 渗透 Agent 的工作流、Skill 和证据管理设计。
2、本站永久网址:https://xheishou.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7.本站原创内容版权归 X黑手网 及对应作者共同所有,欢迎转载,转载请务必注明原文出处及作者信息。









暂无评论内容