Noxaudit
Noxaudit

AI codebase audits,
one focus area at a time.

Noxaudit is an open-source CLI that runs focused AI audits across security, testing, dependencies, patterns, performance, docs, and hygiene — then validates, deduplicates, and remembers what you've already decided, so only genuinely new findings surface.

View on GitHubRead the docspip install noxaudit
MIT licensed·Claude, GPT, and Gemini·10 models benchmarked

More than a prompt

Raw LLM output is noisy and unstable between runs. Every audit goes through a seven-stage pipeline built to make findings trustworthy enough to act on.

  1. 01

    Gather

    Collects the files relevant to each focus area, with an optional cheap-model pre-pass that triages large repos before the expensive audit.

  2. 02

    Audit

    Sends focused prompts to Claude, GPT, or Gemini — synchronously or through provider batch APIs at half the price.

  3. 03

    Validate

    A second LLM pass reads each finding against the actual source and drops false positives.

  4. 04

    Deduplicate

    Normalizes finding titles to canonical forms so the same issue keeps the same identity across runs.

  5. 05

    Score

    Assigns confidence from cross-run frequency — findings that keep reappearing rank higher than one-offs.

  6. 06

    Remember

    Filters against your decision history, so dismissed or accepted findings don't resurface unless the file changes.

  7. 07

    Report

    Writes markdown and SARIF (GitHub Code Scanning), sends notifications, and can open GitHub issues.

Seven focus areas

Each focus area has a specialized prompt that goes far beyond “scan for issues.” Run one, several, or all of them — combined runs share file context and cut token use by up to 80%.

Security

Trace data flow from input to output, identify auth bypass paths, check for OWASP top 10, analyze session and token handling.

Testing

Analyze actual coverage gaps, suggest specific test cases with inputs and outputs, identify untested edge cases and critical paths.

Dependencies

Cross-reference against known CVEs, check license compatibility, identify abandoned or unmaintained packages, flag unused deps.

Patterns

Check for architectural consistency across modules, identify code that violates the project's own conventions and patterns.

Performance

Identify N+1 queries, missing indexes, hot loops, unbounded allocations, missing caching opportunities.

Docs

Diff README and docstrings against actual function signatures, find stale examples, identify undocumented public APIs.

Hygiene

Map dead code paths, find unused exports and imports, identify copy-paste duplication, flag orphaned config files.

Try it

Bring your own provider key. Everything runs locally; findings and decisions live in your repo under .noxaudit/.

pip install 'noxaudit[openai]'
export OPENAI_API_KEY=sk-...

# all seven focus areas
noxaudit run

# or pick a few
noxaudit run --focus security,performance

# dismiss a finding so it stays gone
noxaudit decide abc123 --action dismiss \
  --reason "test fixture"

CLI

pip install noxaudit — run against any repo with your own provider key.

GitHub Action

Scheduled audits in CI, with SARIF upload to GitHub Code Scanning.

MCP server

Query findings and record decisions from Claude Code, Cursor, or Windsurf.

Benchmarked across 10 models

September 2026: ten current models ran all seven focus areas against the same two repos, at the same commits, as the March run, through batch APIs, for $2.81 total. Quality is scored by hand against six real python-dotenv issues that four or more models found in March.

$0.03

gpt-5-mini for both repos

Still the daily pick six months on: 5 of 6 canary issues, same as March, for the same price.

6/6

Opus 5.5, Sonnet 5.5, Sonnet 4.6

Three models caught every canary issue, as three did in March. Frontier quality got cheaper per finding, not better on the canary.

2/6

gpt-6-luna

Newest isn't always better: a third of gpt-5-mini's price, and it missed four of the six issues.

ModelFindingsCostConsensusPick
gpt-5-mini34$0.035/6Best daily
gpt-6-sol100$0.215/6Best deep dive
claude-sonnet-5-567$0.396/6
claude-opus-5-5120$0.796/6Max depth

Read the write-up →All 10 models →Raw results and methodology on GitHub →

How the hosted version was built

Alongside the CLI sat a managed platform: install a GitHub App, and audits ran nightly on managed inference with a dashboard for triage. It ran on Atriumn's own repositories and is no longer offered — this is how it worked.

Noxaudit platform architectureA GitHub App sends webhooks to a Next.js app on Vercel backed by Supabase Postgres. Scheduled workflows start an ephemeral Fly.io worker, which clones repos with an installation token, runs noxaudit, submits provider batch jobs, retrieves the results, and posts findings and cost back to the API.webhooksread / writestart machinesubmitretrieveinstallation token + cloneingest findings · costGitHub Appinstall + webhooksrepo-scoped clone tokensNext.js 16 · Verceldashboard + triageAPI routes, MCP backendSupabasePostgres + RLSfindings, decisions, budgetsScheduled workflowssubmit nightlyretrieve every 10 minFly.io workerclone, pre-pass, noxauditexits when doneProvider batch APIsgpt-5-mini · gpt-5.4 · Opus50% off, async

GitHub App install

One-click install instead of YAML and API keys. Webhooks register repos; short-lived installation tokens scope each clone to a single repo.

Ephemeral Fly.io workers

A scheduled workflow starts a stopped machine nightly. It clones each repo, runs the pre-pass, submits batch jobs, and exits. A second machine polls every 10 minutes to retrieve finished batches.

Tiered model schedule

gpt-5-mini daily, gpt-5.4 weekly deep dives, Opus monthly — the tiers came straight out of the March benchmark.

Budget enforcement

Every batch is costed on retrieval. At 80% of a repo's monthly budget audits downgrade to the cheapest model; at 95% they stop.

Supabase Postgres + RLS

Findings, audits, decisions, and health history live in tenant tables behind row-level security; workers write through authenticated API routes.

Dashboard and triage

Next.js 16 app on Vercel with health scores, trend charts, audit comparisons, and bulk triage — plus an API-backed MCP server so decisions sync across a team.