Niro

io.github.apxlabs-aiPublished by GitHub account apxlabs-aiv0.1.61Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Niro is an AI pentester that attacks your running app to prove exploitable security bugs and opens fix pull requests for your review.

What you can do
  • Set up a target: stand up the app or point at a target, seed test state, and create users and data an attacker needs
  • Attack HTTP surfaces such as web apps, APIs and MCP servers, creating missing tenants or logins when testing is blocked
  • Prove findings by reproducing each bug with a runnable exploit, demoting anything that cannot be reproduced
  • Patch safely fixable bugs with a developer agent and record validation evidence such as a regression test
  • Group proven bugs by root cause into focused, review-ready pull requests, and report coverage gaps
When to use it
Useful when you want security testing of a running application or API folded into the development loop, with proven findings and draft fix PRs instead of a backlog of maybes. Suited to teams that will still review diffs and decide what merges.
Requirements
Runs as a local process on the desktop, installed from the provided package or the install script, from your project root. Needs a running app or a target you supply, a scope configuration authorizing targets, and a supported agent CLI. No environment variables or authentication are declared in the manifest.
Before you install
The attacker agent sends traffic to your app and creates users, tenants and data to unblock testing; attack tools are sandboxed to targets authorized in scope. The developer agent writes code and opens pull requests but does not merge. The autonomous flag grants the agent CLI full current-user host access without approval prompts, and the agent CLI's own sandbox and approval policy may not prompt for every operation.

Installation

In SourceWeft

  1. Open Niro in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit 6e94021

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.61LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.