github apxlabs-ai/niro v0.1.66

latest releases: v0.1.81-dev.1, v0.1.80, v0.1.79...
one month ago

Niro v0.1.66

Summary

This release makes autonomous runs legible in real time, lets you resume a prior run, and reworks how run outputs are produced and delivered. Autonomous find and fix runs now stream a concise, real-time narration of the developer agent and attacker agent as they work. niro find and niro fix accept --resume to continue a prior agent session. Niro now writes one canonical penetration-test report plus the findings summary and knowledge bundle into the config directory's artifacts/ folder, preserves them across runs, and the supplied CI workflows publish them by stable filename. The default per-run time budget is raised so a whole-application run finishes without hand-tuning.

Changes

  • Autonomous find and fix runs stream a live narration feed to the console. The developer agent and attacker agent each report their work as it happens, on unified, timestamped [developer agent] and [attacker agent] lines.
  • niro find and niro fix accept --resume <niro-session-id> to continue a prior agent session instead of starting over.
  • Run outputs are consolidated under <config-dir>/artifacts/: a single canonical penetration-test-report.pdf, the summary.md findings summary, and the knowledge.tar bundle. These deliverables are preserved across runs; only per-run scratch is cleared, at both run start and run end.
  • The supplied GitHub and GitLab CI workflow examples are reworked. The config directory is set once through a NIRO_CONFIG_DIR variable, and the run's deliverables are uploaded by stable filename as a niro-artifacts artifact — on GitHub the report and knowledge bundle (the findings summary renders in the job summary), on GitLab the report, summary, and knowledge bundle. The previous stdout parsing and report-staging steps are gone.
  • The default limits.max_duration_minutes is raised from 15 to 180 so a no-scope, whole-application sweep completes without raising the limit by hand.
  • niro fix generates the customer report by default; no extra flag is required.
  • The incomplete USD cost reporting is removed from run output.

Security

  • niro-debug-logs.tar remains a separate, explicitly unsafe support artifact. It is produced only when you opt in with --upload-debug-logs=true, is never included in the regular niro-artifacts bundle, and should be shared only through an approved channel.
  • The customer config directory is no longer mounted into the attack-tool sandbox. Scope and the sandbox configuration are passed as a manifest rather than read from files inside the container.
  • The developer agent and attacker agent no longer edit niro.yaml; the run policy in that file (including min_severity) is person-owned.

Compatibility and upgrade

  • limits.max_duration_minutes now defaults to 180 minutes (was 15). Runs allow up to three hours by default; pin a lower value in niro.yaml for tight CI budgets. The floor remains 15.
  • Adopt the updated example workflows under examples/github-actions/ and examples/gitlab-ci/. The uploaded artifact is now named niro-artifacts; if any downstream automation referenced the previous niro-knowledge or niro-pentest-report artifact names, update it. On GitLab the findings summary now ships inside the niro-artifacts archive as summary.md; on GitHub it renders in the job run's summary.
  • The customer report is now the single, stably named <config-dir>/artifacts/penetration-test-report.pdf. Automation that expected a dated report filename or a per-run report path should read the stable name.
  • Only one Niro process may run against a given config directory at a time. Use separate config directories for concurrent environments.
  • No customer configuration keys were removed. The developer agent and attacker agent MCP tool surfaces are unchanged except as noted above.

Known issues

  • If a requested PDF fails after the Markdown summary is generated, the run fails and the reason is written to the job log, but the published job summary may not include that failure explanation.
  • checksums.txt covers platform archives but not niro.mcpb.
  • Release artifacts do not include detached signatures, public binary provenance attestation, or an SBOM.
  • niro upgrade follows stable rather than dev or RC releases, and Windows users must rerun the installer to change versions.

Don't miss a new niro release

NewReleases is sending notifications on new releases.