
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.
概覽
Niro 以自主的攻擊者與開發者雙代理對執行中的應用程式做安全測試,找出可利用的漏洞並開出修復用的拉取請求。
- 可以做什麼
- Niro 會先啟動目標應用程式或指向你提供的目標,準備測試使用者與資料,接著探測網頁應用程式、API、MCP 伺服器等 HTTP 介面,尋找真正可利用的漏洞。每個發現都必須被重現並留下可執行的證明才算成立,確認的漏洞會依根因分組。在修復模式下,開發者代理會修補它能安全修復的問題並記錄驗證證據,通常是回歸測試,產出可直接審閱的拉取請求,但它自己不會合併。
- 適用情境
- 當你希望把針對執行中應用程式的安全測試納入拉取請求流程,並讓結果以可審閱的程式碼差異、而非一堆未驗證的告警呈現時,適合使用。它適合能劃定授權範圍並審閱變更的團隊,在常見可利用漏洞類型上表現最好,而新穎的多步業務邏輯仍需由人負責。
- 執行需求
- 透過所提供的 mcpb 套件在本機安裝,並從專案根目錄執行;需要一個正在執行的目標應用程式,或一個 Niro 能自行啟動的目標,以及它可驅動的代理 CLI。範圍在 scope.yaml 中設定,應用程式目標、憑證與測試資料依文件設定。清單中未宣告任何環境變數或請求標頭。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Niro,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Niro Community Edition
Finds security bugs. Ships fixes.
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:
- Set up the test environment — engineering.
- Attack the app to find and exploit the bugs — security.
- 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:
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:
- Attack — probes your HTTP surfaces (web apps, APIs, MCP servers) for real, exploitable bugs.
- 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.
- 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.
- Read the full penetration-test report (PDF, 64 pages)
- Inspect the exact GitHub Actions run
- Browse all 28 draft remediation PRs
Three representative fixes:
- Multi-step attack chain: Read and hijack another tenant's LDAP configuration — chains a forged owner segment into cross-tenant configuration disclosure, then overwrites the same record to redirect the victim's LDAP integration to attacker-controlled infrastructure.
- Derive authorization from the resource actually being accessed — closes tenant boundary bypasses caused by validating different identifiers from those the controller used.
- Stop returning replayable session credentials — prevents an organization administrator from replaying another user's live session ID.
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
--autonomousand 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
來源:README.md,提交 6e94021
工具
0版本歷史
1- v0.1.61最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。