Niro

io.github.apxlabs-ai由 GitHub 账号 apxlabs-ai 发布v0.1.61更新于 Oct 24, 2026

AI pentester for PRs — finds exploitable bugs and hands your developer agent the fix.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

Niro 以自主的攻击者与开发者双代理对运行中的应用做安全测试,找出可利用漏洞并提交修复用的拉取请求。

可以做什么
Niro 会先启动目标应用或指向你提供的目标,准备测试用户与数据,然后探测 Web 应用、API、MCP 服务器等 HTTP 接口,寻找真正可利用的漏洞。每个发现都必须被复现并留下可运行的证明才算成立,确认的漏洞按根因分组。在修复模式下,开发者代理会修补它能安全修复的问题并记录验证证据,通常是回归测试,产出可直接审阅的拉取请求,但它自己不会合并。
适用场景
当你希望把针对运行中应用的安全测试并入拉取请求流程,并让结果以可审阅的代码差异而非一堆未验证告警呈现时,适合使用。它适合能够划定授权范围并审阅变更的团队,在常见可利用漏洞类型上表现最好,而新颖的多步业务逻辑仍需人工负责。
运行要求
通过所提供的 mcpb 包在本地安装,并从项目根目录运行;需要一个正在运行的目标应用,或一个 Niro 能自行启动的目标,以及它可驱动的代理 CLI。范围在 scope.yaml 中配置,应用目标、凭据与测试数据按文档配置。清单中未声明任何环境变量或请求头。
安装前请注意
攻击者代理会实际测试你运行中的应用,开发者代理会写代码并提交拉取请求,因此合并前应审阅每一处差异。无人值守运行需要 --autonomous 参数,它会授予代理 CLI 当前用户的完整主机权限且不再弹出审批提示;交互式运行仍遵循代理 CLI 自身的沙箱与审批策略,且并非每个操作都会提示。攻击工具运行在带内核级出网控制的沙箱中,只能访问 scope.yaml 中授权的目标。README 称 Niro 不代理模型请求,也不把仓库、凭据、发现或日志上传到 Niro 后端,并指向单独的安全与数据文档,说明 AI 服务商边界、遥测与退出选项。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Niro,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Niro]

Niro Community Edition

Finds security bugs. Ships fixes.

[Latest stable release]

Niro works like an autonomous, two-person team living in your repo — two roles with one goal: real security bugs, found and closed with proof.

Niro sets the stage first — it stands up your app (or points at a target you provide), seeds test state, and creates the users and data an attacker needs, so you skip most of the environment setup. Then the two-person team goes to work:

  • The attacker agent hits your running app like a real adversary — finds exploitable bugs and proves each with a working exploit. Never changes your code.
  • The developer agent patches the bugs it can safely fix and records validation evidence — normally a regression test in the project's suite — so every PR arrives with evidence, not just a claim. Never merges — you do.

Most security tools hand you a backlog of maybes and walk away. Niro doesn't stop at proven findings — in fix mode it turns each into a focused pull request. You review the diffs and decide what ships.

From a three-team relay to one run

Fixing a security bug is a relay across three teams — today's tools each cover one slice, so people stitch the rest together:

  1. Set up the test environment — engineering.
  2. Attack the app to find and exploit the bugs — security.
  3. Triage and fix every finding — developers.

A program manager chases the handoffs, and it's never one clean pass. The pentester needs another test tenant, back to eng. A finding won't reproduce, it ping-pongs between security and dev. A fix ships, security has to re-test. Weeks pass, a dozen people touch it, and the code has already moved on.

Niro collapses that relay into one agent-driven run. Its attacker agent does the security team's job, its developer agent does the dev team's — and it automates the setup engineering used to own. You still set the scope, review the diffs, and decide what merges; Niro handles the back-and-forth in between — so three teams' effort lands in a few hours as review-ready pull requests, grouped by root cause so each is small enough to actually review.

Quickstart

From your project root, check the prerequisites, then install Niro and start a fix run:

bash
curl -fsSL https://raw.githubusercontent.com/apxlabs-ai/niro/main/install.sh | shniro fix

niro fix opens the selected agent CLI interactively with Niro's first message already submitted. The agent CLI applies its own sandbox and approval policy; not every operation necessarily prompts. For an intentionally unattended run, --autonomous grants the agent CLI full current-user host access without approval prompts. Read the agent CLI privilege and threat model before using it. Niro opens review-ready fix PRs; you decide what to merge.

See Run Niro for report-only and scoped runs, supported agent CLIs, CI, and interactive developer agent workflows.

What a run actually does

Setup done, Niro works your running app the way a real attacker would — and doesn't stop until each bug is proven:

  1. Attack — probes your HTTP surfaces (web apps, APIs, MCP servers) for real, exploitable bugs.
  2. Unblock — when a login, empty database, disabled feature, or missing tenant blocks testing, Niro creates what it needs to keep going instead of silently skipping that part of the app.
  3. Prove — every finding is a false alarm until Niro reproduces it and leaves a runnable proof. Doubt is demoted, never inflated.

Proven bugs are grouped by root cause into focused, review-ready PRs — one per cause, each with its own validation evidence.

Don't take our word for it

Here is a complete Niro run you can inspect yourself — from the pinned source and public workflow to the unedited report and every proposed code change. Niro tested a public Casdoor demo fork at this exact commit and recorded 33 confirmed findings (9 critical, 12 high, and 12 medium), 3 coverage gaps, and 28 draft remediation PRs.

Three representative fixes:

Built for trust

AI makes code faster to ship and harder to trust. Niro is built to earn that trust back:

  • Your environment, your provider. Niro does not proxy model requests or require uploading your repository, credentials, findings, or logs to a Niro backend. See Security and data for AI-provider boundaries, telemetry, and opt-out controls.
  • Host authority is explicit. Local runs are interactive by default; unattended execution requires --autonomous and the full host authority it grants is documented in the agent CLI threat model.
  • You set the blast radius. Attack tools run in a sandbox with kernel-level egress control — they can reach only the targets you authorize in scope.yaml, enforced at the network layer.
  • Transparent coverage. Niro reports what it couldn't reach on every run, so coverage is never a black box — and it remembers intended behavior so it won't keep flagging it. Strongest on the everyday exploitable class; novel, multi-step business logic stays yours.

Niro Enterprise is planned separately for organization-scale governance, audit, compliance, deployment, and commercial support.

Docs

  • Get started — prerequisites, installation, and your first run.
  • Prepare your app — targets, scope, credentials, fixtures, and test state.
  • Run Niro — find or fix, local or CI, whole-app or focused.
  • Review the results — findings, exploits, validation evidence, and fix PRs.
  • Security and data — data flow, AI providers, sandboxing, egress, and telemetry.
  • Agent CLI security — filesystem, command, environment, egress, and prompt-injection boundaries for interactive and autonomous execution.
  • Security policy — supported versions and private vulnerability reporting.
  • Releases and verification — support lifecycle, version pinning, checksums, image digests, and release notes.
  • Coverage and limitations — what Niro tests, what it reports, and where humans remain responsible.
  • Reference — commands, flags, and configuration.
  • Troubleshooting — common failures, diagnostics, and support artifacts.

Edition and license

Niro Community Edition is free-of-charge, proprietary software distributed as a prebuilt binary. Source code is not provided, and "Community Edition" does not mean open source or source available. This public repository is the documentation and binary-distribution surface; it does not contain Niro product source code.

You may install and use Niro, keep backup copies, and mirror the unmodified binary inside your organization under the Niro Community Edition License Agreement. Public redistribution, resale, modification, and reverse engineering are not permitted. Third-party components remain under their own licenses; see NOTICE.

Issues

https://github.com/apxlabs-ai/niro/issues

来源:README.md,提交 6e94021

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.61最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。