Get started
Two ways to run depproof.
Both produce the same output: a self-contained HTML report, a CycloneDX SBOM, and a pass/fail policy gate. Pick whichever fits where your builds already run.
1 · GitHub Action
Add depproof to any workflow. It resolves the full dependency tree, checks licenses and OSV advisories against your policy, and uploads the report + SBOM as build artifacts.
# .github/workflows/depproof.yml
name: depproof
on: [pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: depproof/depproof-action@v1
with:
fail-on: high # critical | high | medium | low | none
With no file or files input, the action
discovers every manifest in the repo and emits a CycloneDX SBOM per
manifest. Pin to a release (@v1.3.0) for reproducible runs,
or track @v1 for the latest patch.
2 · Self-hosted container
The same scanner ships as one public image. Nothing to install and nothing left running — it runs and exits, leaving the report behind. Ideal for GitLab CI, Jenkins, or locked-down pipelines.
# pull the scanner
docker pull ghcr.io/depproof/depproof:v0
# audit the current project, write the report locally
docker run --rm -v $PWD:/work -w /work ghcr.io/depproof/depproof:v0 \
scan --discover --root /work --fail-on high --html --output-dir /work Gate on vulnerabilities
fail-on sets the vulnerability severity that fails a build —
critical (default), high, medium,
low, or none for a report-only run. Licenses are
classified allowed,
review, or forbidden in the report;
automated CI gating on a license policy is on the roadmap.
Choosing a threshold is really a decision about what “clean” means — a short findings list isn’t proof there is nothing to find.
What you get out
- Self-contained HTML report — no external fonts, CDN, or JS. Opens anywhere, safe to archive as evidence.
- CycloneDX SBOM — the standard artifact for EU CRA obligations, US federal contract terms, and vendor risk reviews.
- Exit code — non-zero when policy fails, so it gates PRs and releases like any other check.
This page shows the shape of the workflow; the action README is the source of truth for exact inputs and the current release.