Skip to main content

auditron

One defensive security gate for a repository. Runs pip-audit (dependency CVEs), bandit (Python SAST) and zizmor (GitHub Actions security) in a single pass, normalizes every finding into one model, writes one report (JSON + SARIF 2.1.0), and exits 0/1 by a policy you declare. Self-contained and pluggable: pip install auditron + one workflow, in any repo.

Defensive by design: auditron only reads and reports — it never attacks or runs exploits. Offensive tooling (pentest, LLM red-team) are documented lab companions, not part of this package (see Companions).

Quickstart

pip install auditron
auditron scan .                      # scan the repo; exit 1 if a blocking engine finds something
auditron scan . --sarif out.sarif    # emit SARIF 2.1.0 for GitHub code scanning
auditron scan . --only bandit        # run a single engine

Drop it into CI (copy examples/auditron.yml into .github/workflows/):

- run: pip install auditron
- run: auditron scan . --sarif auditron.sarif
- uses: github/codeql-action/upload-sarif@<pinned>   # optional: findings as code-scanning alerts
  with: { sarif_file: auditron.sarif }

What it bundles

Engine License Covers SARIF level
pip-audit Apache-2.0 known CVEs in requirements*.txt error
bandit Apache-2.0 Python SAST (-ll -ii, medium+) HIGH→error, MEDIUM→warning, LOW→note
zizmor MIT/Apache-2.0 GitHub Actions security passthrough

The exact version of each engine is recorded in every report and in each SARIF run, so the evidence is reproducible.

Policy (auditron.toml)

Without a config, the default is: all three engines run; only pip-audit blocks (a known CVE in a dependency is factual), while bandit/zizmor report until the repo triages their findings. Override per engine:

[auditron]
blocking = ["pip-audit", "bandit"]   # which engines fail the gate
disabled = ["zizmor"]                 # which engines don't run at all

An engine that errors (not installed, bad output) never passes silently: if it is blocking, it blocks — absence of evidence is not evidence of absence.

Why auditron

Three first-class scanners already exist and are excellent. What is missing in most repos is the glue: one install, one command, one policy, one SARIF, one exit code — and a design that lets you lift it into its own repository unchanged. auditron is that glue, and nothing more. See POSITIONING.md for the honest comparison with rolling your own, with pre-commit, and with hosted scanners.

Companions (offensive, lab-only)

auditron is defensive. For adversarial testing, use these in a lab, never in the production gate:

  • Strix (pentest de app, confirma falhas com PoC) — docs/ops/STRIX-LAB.md no projecto-mãe.
  • Garak / promptfoo (red-team de LLM: prompt injection, jailbreak) — docs/ops/SECURITY-TOOLS.md.

License

MIT (see LICENSE). Bundled engines keep their own licenses (NOTICE).

Metadata

Release files for auditron 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auditron 0.1.0
File Size Uploaded
auditron-0.1.0.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for auditron 0.1.0
File Interpreter ABI Platform
auditron-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.4 kB

Release files / auditron-0.1.0.tar.gz

Download URL auditron-0.1.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c311a6f2f1e2bf6dd6ca4ef700260b64262b3ab385f0c66de0dd896279850f9c
BLAKE2b-256 checksum
How to use checksums
8ba5e6205d11428e754afad0a2da1f63dfc9f3ed4986a2630a5337e947c41379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / auditron-0.1.0-py3-none-any.whl

Download URL auditron-0.1.0-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
675553e0a655275ea4b1808b22dfc8a99510790e8dff7b07cbd7131740abbe5d
BLAKE2b-256 checksum
How to use checksums
c34a6da1c1226ac4a854b54f37ff372de9d87a4fe8cadfde1b9820e7674908be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page