LuaN1ao 安全代理
面向授权渗透测试的可追溯图推理自动化运行时。
按维度查看评分与理由
证据显示:最小权限原则在沙箱隔离和权限控制方面有较好体现(Docker 容器以 UID 1000 运行、无 capabilities、只读根文件系统、网络命名空间隔离),但缺少对 Agent 自身权限的细粒度限制,如工具调用级别的权限控制。用户确认机制存在但薄弱:CLI 启动时要求显式提供 --scope 和 --goal,但运行过程中没有逐步确认或审批机制。数据流透明度较好:事件日志、图增量、工件等持久化记录,但缺少对数据流向的完整可视化。敏感数据处理较好:凭证以 0600 权限存储且不可搜索,但未提及加密存储。依赖安全性一般:依赖版本部分固定,但未提供依赖漏洞扫描或供应链安全措施。外部影响控制较好:网络流量通过代理和网关进行管控,但未提供回滚机制。回滚能力薄弱:仅支持会话恢复,没有操作级回滚。来源归属一般:未提供明确的作者或维护者信息,仅提及团队。
证据显示:自一致性较好,README 与代码结构一致,测试覆盖了核心功能。依赖可用性一般:依赖了多个第三方库,但未提供依赖的可用性保障或镜像。失败消息较好:测试中验证了错误消息的明确性,如 'No part of the delta was accepted'。
证据显示:目标受众明确(安全研究人员),场景覆盖了授权渗透测试。能力边界清晰:通过 --scope 和 --goal 限制目标范围,工具集受限。触发精度较好:通过结构化工具和 schema 验证确保精确触发。环境适配较好:支持 macOS 和 Linux,但 Windows 未验证。
证据显示:信息架构清晰,README 结构完整。安装说明详细,包括依赖和构建步骤。命名稳定性一般:项目名称和版本号明确,但未提供 API 稳定性保证。示例和 FAQ 较好:提供了快速开始和 CLI 选项。已知限制明确:如 Windows 未验证。许可证为 AGPL-3.0,但未提供版权声明。版本和变更日志缺失:未提供 CHANGELOG。维护责任不明确:未提供维护者信息或贡献指南。
证据显示:输出可用性较好:提供 JSONL 和 TUI 等多种输出格式。边际价值较高:提供了因果图推理和证据保留等创新功能。成本效益较好:自动化渗透测试可节省人力,但需要 LLM API 和 Docker 等资源。
证据显示:声明可追溯性较好:README 中声明了功能,代码和测试支持。跨来源佐证一般:仅依赖单一仓库,未提供外部验证。事实与推断分离较好:明确区分了假设和确认的漏洞。
- 该 Agent 是自主渗透测试工具,必须在授权环境中使用,否则可能违反法律。
- 依赖的第三方技能集合(如 pentest-skills)可能包含恶意内容,需审查。
- 未提供回滚机制,操作失误可能导致不可逆后果。
- 未提供依赖漏洞扫描,供应链风险需关注。
这个 Agent 能做什么,适合哪些场景?
LuaN1aoAgent v2 是一个以 TypeScript 和 Pi SDK 重写的自治安全研究运行时,面向明确授权范围内的测试任务。它将 Planner、Executor 和 Observer 分离:Planner 管理任务图,Executor 在隔离工作区内执行有界任务,Supervisor 与 Projector 分别负责控制决策和图投影。运行时持久化执行事件、工件、任务图、推理图和操作图,并提供终端时间线与经认证的 Web Workbench 进行观察。Executor 可使用本地检查、受控 shell、Web 获取与搜索、漏洞检索、浏览器渲染及路由管理等能力;Docker 是推荐的隔离和透明网关后端。它适合具备授权目标、可隔离执行环境和 OpenAI 兼容 LLM 服务的安全团队,而不是无边界地扫描生产环境的工具。
用户通过 npm start -- --goal ... --scope ... 提交目标和授权范围后,Controller 调用 Planner 维护 Task Graph,并按依赖关系准入可并发任务。每个 Executor 接收 TaskEnvelope,在任务专属工作区中使用 read、grep、find、ls、bash、web_fetch、web_search、vulnerability_search、browser_render、artifact_read 和 artifact_write 等工具;完成或交接时调用 task_result_submit。Pi 事件会被规范化写入 ExecutionLog,较大输出保存为内容寻址工件;Projector 通过 graph_delta_submit 将观察结果投影为带证据引用的 Reasoning Graph 和 Operation Graph,Supervisor 通过 control_submit 决定继续、检查点、停止或交还 Planner。运行结束可输出最终 JSON 或 JSONL 事件流,也可用 Web Workbench 查看图、事件、工件与网络流量。
- 企业内部红队在书面授权的 Web 服务范围内,需要把侦察、验证和证据保留在同一可审计运行会话中。
- 安全研究人员测试实验室或 CTF 环境时,需要将公开 CVE 线索与对目标的实际验证区分开来。
- 需要并行处理多个相互独立的授权测试任务,同时通过依赖图控制后续验证任务的安全团队。
- 希望在终端实时查看 Agent 意图、工具调用和工件,或在浏览器中审查持久化执行记录的分析人员。
- 需要通过 Docker Gateway、SSH 或 Chisel 路由访问授权内网目标,并保留连接和流量证据的测试人员。
这个 Agent 有哪些优点和局限?
- Planner、Executor、Supervisor 和 Projector 具有明确职责边界,任务拓扑、低层工具动作和语义图投影不会混在同一 Agent 历史中。
- 推理图将 Evidence、Hypothesis、Vulnerability 与 Exploit 关联;确认漏洞和成功利用需要证据引用。
- 每个任务保留隔离工作区和同一任务的 Pi 会话谱系,同时用依赖感知调度支持独立任务并发。
- 执行日志、工件、图增量和网络流量均可持久化,并能在终端和认证 Web Workbench 中审查。
- v2 需要 Node.js 25+,仅验证 macOS 和 Linux;Windows 不是已验证的 v2 发布目标。
- 必须配置 OpenAI 兼容 LLM API;公开搜索的完整 Brave API 路径需要
BRAVE_SEARCH_API_KEY或BRAVE_API_KEY,NVD 限流提升需要可选的NVD_API_KEY。 - Executor 能运行 shell 命令并访问网络,文档要求使用隔离主机、VM 或容器,且只能测试获得明确授权的目标。
- Docker 是推荐透明 Gateway 后端;显式 Docker 模式在 Docker 或所需镜像不可用时会失败关闭,v2 的公开可复现基准尚未发布。
如何安装或部署这个 Agent?
要求 macOS 或 Linux、Node.js 25+ 以及 OpenAI 兼容 LLM API。克隆仓库后执行:
git clone https://github.com/SanMuzZzZz/LuaN1aoAgent.git
cd LuaN1aoAgent
npm ci
npm run build如使用推荐的 Docker 后端,再执行:
npm run build:executor-image
npm run build:network-image在项目根目录创建未提交的 .env:
LLM_API_KEY=your-api-key
LLM_API_BASE_URL=https://api.openai.com/v1
LLM_DEFAULT_MODEL=your-model-id
LLM_API_TYPE=openai-completions也可将 LLM_API_TYPE 设为 openai-responses。
如何使用这个 Agent?
使用明确授权的目标和范围启动一次新会话:
npm start -- --goal "在授权范围内评估 http://<authorized-routable-host>:8080" --scope "仅限 http://<authorized-routable-host>:8080" --max-cycles 8 --max-parallel-tasks 2交互终端会自动显示时间线;使用 --json 获取最终 JSON,或使用 --jsonl 获取持久化事件流。恢复未完成会话时运行 npm start -- --resume 20260720-080000Z-a1b2c3d4,且不要同时传入 --goal 或 --scope。如需审查某个会话,运行 npm run web -- --runtime-dir .agent-runtime/sessions/<session> --port 8787,然后访问 http://127.0.0.1:8787。
这个 Agent 与同类方案有什么区别?
仓库将 v2 与其 v1 分支和 v1.0.0 发布版对比:v1 使用 Python 与 Planner/Executor/Reflector 共享反思循环;v2 使用 TypeScript + Pi SDK、Planner/Executor/Observer、任务/推理/操作三图、任务级会话和认证运行时观测界面。仓库明确说明 v1 的基准结果不能自动归因于 v2。
常见问题
它能否用于任意公网目标?
运行时会保存什么?
.agent-runtime/sessions/<session>/ 下,包括 state.sqlite、execution.jsonl、graph-deltas.jsonl、工件、任务沙箱、Pi 会话谱系和流量数据。没有 Docker 可以运行吗?
workspace 开发回退,但 Docker 是推荐后端;若显式选择 Docker 且 Docker 或镜像不可用,运行会失败关闭。