关于 Niro
Niro 面向希望验证安全问题并获得修复建议的开发团队,是一款针对代码仓库运行的渗透测试工具。它准备测试状态,让攻击与开发 Agent 协作,并生成带验证证据、供人工审核的拉取请求。
主要功能
- 01自动准备应用与测试状态
- 02探测 HTTP 接口的安全问题
- 03提供可复现的漏洞证据
- 04按根因归组修复拉取请求
- 05附带回归测试等验证证据
- 06报告无法覆盖的区域
适用场景
- 01检测运行中 Web 应用或 API 的可利用漏洞
- 02为安全问题生成可审核的修复方案
- 03在本地或 CI 中运行范围受限的渗透测试
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Niro 社区版
查找安全漏洞。提交修复。
Niro 就像一个驻扎在你的代码仓库中的自主双人团队——两个角色, 一个目标:发现真实的安全漏洞,并提供证据将其修复。
Niro 会先做好准备——启动你的应用(或连接到你提供的目标),植入测试状态,并创建攻击者所需的用户和数据,让你省去大部分环境配置工作。然后,双人团队开始行动:
- 攻击者 Agent 会像真正的对手一样攻击正在运行的应用——发现 可利用的漏洞,并通过有效的漏洞利用证明每个漏洞。绝不会修改你的 代码。
- 开发者 Agent 会修补能够安全修复的漏洞,并记录 验证证据——通常是在项目测试套件中添加回归测试——让每个 PR 都附有 证据,而不只是声称已修复。绝不会合并——由你来合并。
大多数安全工具只会给你一份充满疑似问题的待办清单,然后就撒手不管。Niro 不会止步于已验证的发现——在修复模式下,它会将每个问题转化为一个有针对性的拉取请求。 你可以审查差异,并决定要发布什么。
从三团队接力到一次运行
修复安全漏洞需要三个团队接力协作——如今的工具各自只覆盖其中一环,因此需要人来串联其余工作:
- 搭建测试环境——工程团队。
- 攻击应用以发现并利用漏洞——安全团队。
- 分类并修复每项发现——开发团队。
项目经理还要追踪各环节的交接,而整个流程绝不会一遍顺利完成。渗透测试人员需要另一个测试租户,于是又要找工程团队。某项发现无法复现,就在安全团队和开发团队之间来回流转。修复发布后,安全团队还得重新测试。几周过去,十几个人都参与过,而代码早已发生变化。
Niro 将这场接力整合为一次由 Agent 驱动的运行。它的攻击者 Agent 负责安全团队的工作,开发者 Agent负责开发团队的工作——而且它还自动化了原本由工程团队负责的环境搭建。你仍然负责设定范围、审查差异并决定合并什么;Niro 则处理其间的来回协作——让三个团队的工作在几小时内产出可供审查的拉取请求,并按根本原因分组,确保每个请求都足够精简,便于实际审查。
快速开始
在项目根目录下,检查前置条件,然后安装 Niro 并启动修复运行:
curl -fsSL https://raw.githubusercontent.com/apxlabs-ai/niro/main/install.sh | sh
niro fix
niro fix 会以交互方式打开所选的 Agent CLI,并自动提交 Niro 的第一条消息。Agent CLI 会应用自身的沙盒和审批策略;并非每项操作都会提示确认。若要有意启动无人值守运行,--autonomous 会授予 Agent CLI 完整的当前用户主机访问权限,且无需审批提示。使用前请阅读 Agent CLI 权限与威胁模型
。Niro 会打开可供审查的修复 PR;是否合并由你决定。
请参阅运行 Niro,了解仅生成报告和限定范围的运行、支持的 Agent CLI、CI,以及交互式开发者 Agent 工作流。
一次运行实际会做什么
完成设置后,Niro 会像真正的攻击者一样检查正在运行的应用—— 并持续工作,直到每个漏洞都得到验证:
- 攻击——探测你的 HTTP 接口(Web 应用、API、MCP 服务),寻找真实、 可利用的漏洞。
- 解除阻碍——当登录、空数据库、禁用的功能或缺失的租户 阻碍测试时,Niro 会创建继续测试所需的内容,而不是悄悄跳过应用的这部分。
- 验证——每项发现都视为误报,直到 Niro 将其复现并留下 可运行的证明。存疑的问题会降级处理,绝不会夸大。
已验证的漏洞会按根本原因分组,形成有针对性、可供审查的 PR——每个原因一个, 并附有各自的验证证据。
别只听我们说
你可以亲自检查一次完整的 Niro 运行记录:从固定版本的源代码和公开工作流,到未经修改的报告和每一项拟议代码变更。 Niro 测试了 Casdoor 的一个公开演示分支,使用的是这个 确切提交, 并记录了 33 项已确认的问题(9 项严重、12 项高危、12 项中危)、3 处覆盖盲区和 28 个修复草案 PR。
三个有代表性的修复:
- 多步骤攻击链:读取并劫持其他租户的 LDAP 配置——将伪造的所有者字段串联起来,先泄露跨租户配置, 再覆盖同一条记录,将受害者的 LDAP 集成重定向至攻击者控制的基础设施。
- 根据实际访问的资源推导授权——修复因验证的标识符与控制器实际使用的标识符不同而导致的租户边界绕过。
- 停止返回可重放的会话凭据——防止组织管理员重放其他用户仍有效的会话 ID。
为信任而构建
AI 让代码交付更快,也让信任变得更难。Niro 旨在重新赢得这份信任:
- **你的环境,你的服务提供商。**Niro 不会代理模型请求,也不会要求将你的代码库、凭据、发现或日志上传至 Niro 后端。有关 AI 服务提供商边界、遥测和退出控制,请参阅安全与数据。
- **主机权限明确透明。**默认情况下,本地运行需要交互;无人值守执行则必须使用
--autonomous,其授予的完整主机权限已在 Agent CLI 威胁模型中说明。 - **由你设定影响范围。**攻击工具在沙箱中运行,并通过内核级出口流量控制——它们只能访问你在
scope.yaml中授权的目标,且授权会在网络层强制执行。 - **覆盖情况透明。**Niro 会在每次运行中报告无法触及的部分,因此覆盖情况绝不是黑箱;它还会记住预期行为,避免反复将其标记出来。对日常可利用的问题类型覆盖最强;新颖的多步骤业务逻辑仍由你负责。
Niro Enterprise 将单独规划,用于组织级治理、审计、合规、部署和商业支持。
文档
- 开始使用 — 前置条件、安装和首次运行。
- 准备应用 — 目标、范围、凭据、测试夹具和测试状态。
- 运行 Niro — 查找或修复问题、本地或 CI、整个应用或指定范围。
- 查看结果 — 发现项、漏洞利用、验证证据和修复 PR。
- 安全与数据 — 数据流、AI 提供商、沙盒、出口流量和遥测。
- Agent CLI 安全 — 交互式和自主执行时,文件系统、命令、环境、出口流量和提示词注入方面的边界。
- 安全政策 — 受支持的版本和私下报告漏洞的方式。
- 版本发布与验证 — 支持生命周期、版本固定、校验和、镜像摘要和发布说明。
- 覆盖范围与限制 — Niro 测试的内容、报告的内容,以及仍需由人工负责的部分。
- 参考 — 命令、标志和配置。
- 故障排除 — 常见故障、诊断和支持材料。
版本与许可证
Niro Community Edition 是免费提供的专有软件,以预构建二进制文件的形式分发。不提供源代码,“Community Edition”也不表示开源或提供源代码。此公开仓库用于提供文档和分发二进制文件,不包含 Niro 产品源代码。
您可以安装和使用 Niro、保留备份副本,并在组织内部镜像未经修改的二进制文件,具体条款见 Niro Community Edition 许可协议 。不允许公开再分发、转售、修改和逆向工程。第三方组件仍受各自许可证约束,详见 NOTICE。
问题
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。