96% more reported CVEs per day in 2026 than last year.
CRACI

Comparison

CRACI and GitHub Advanced Security

GitHub Advanced Security reads your repository: code, secrets and declared dependencies. CRACI runs your GitHub Actions jobs and records what each build actually did. They sit in the same workflow and answer different questions.

The short answer

GitHub Advanced Security is now sold as two products. GitHub Secret Protection covers secret scanning and push protection. GitHub Code Security covers code scanning with CodeQL, Copilot Autofix, dependency review and premium Dependabot features. Both sit on top of platform features every GitHub team knows: the dependency graph, Dependabot and, in GitHub Actions, artifact attestations.

CRACI is a GitHub Actions-compatible runner. You keep GitHub, your workflows and your security tooling, and change runs-on to craci. While jobs run, CRACI records every external dependency they fetch, enforces an egress policy and signs provenance. GitHub tells you what your repository contains and declares. CRACI tells you what your build did. Most teams on GitHub should use both.

At a glance

Capability CRACI GitHub Advanced Security
Dependencies recorded from the build Observed fetches, including packages from CI caches Graph from manifests, plus submitted build data
SBOM export CycloneDX and SPDX per build, completeness stated SPDX export of the repository dependency graph
Build network egress policy Default deny or allow, fails closed Not part of GitHub Advanced Security
Signed build provenance Ed25519 evidence from the runner, no SLSA level claimed Artifact attestations, SLSA v1.0 Build Level 2
Dependency vulnerability alerts Aggregated across builds, monitored SBOMs re-evaluated Dependabot alerts from the GitHub Advisory Database
Compliance report export PDF, HTML, CSV, Excel and JSON Security overview dashboards inside GitHub
Code scanning (SAST) CodeQL with Copilot Autofix, in Code Security
Secret scanning and push protection GitHub Secret Protection
Runner operating systems Linux only, on x86-64 and ARM64 GitHub-hosted Ubuntu Linux, Windows and macOS runners
Pricing Pro is €30 per month until end of 2026. Build minutes are €0.002 per vCPU-minute. Secret Protection $19 and Code Security $30 per active committer per month, on Team or Enterprise (as of September 2026).
  • Included
  • Partly
  • Not included

The table mixes GitHub Advanced Security with the GitHub platform features it builds on (dependency graph, Dependabot, artifact attestations and hosted runners), because that is how teams experience them.

What GitHub does well

Code scanning with CodeQL is semantic static analysis built into pull requests, and Copilot Autofix proposes fixes for the alerts it raises. Secret scanning covers git history, pull requests, issues and wikis, and push protection blocks a secret before it lands. Validity checks tell you whether a leaked credential is still live. CRACI does none of this, and nothing on this page suggests replacing it.

On dependencies, the dependency graph parses the manifests and lock files in your repository, and Dependabot alerts you when one matches an advisory in the GitHub Advisory Database. Both are included in all GitHub plans. Security updates try to open a pull request for every open alert that has a patch, and dependency review (part of Code Security) shows what a pull request changes before merge. Automatic dependency submission can add build-resolved data for Maven, Gradle and Python. You can export the graph as an SPDX SBOM from the UI or the REST API.

Artifact attestations use Sigstore to sign build provenance for binaries and container images, and can attest SBOMs in SPDX or CycloneDX. GitHub documents that attestations alone provide SLSA v1.0 Build Level 2, and Level 3 with reusable workflows. For public repositories, code scanning and secret scanning are enabled by default; private repositories need the paid products, which require a Team or Enterprise plan.

Where CRACI is different

A record of the build, not the repository

The dependency graph describes the repository, and updates when a commit changes a manifest or lock file on the default branch. That is useful, but it is not the same as a record of the job that produced a release. CRACI observes the build itself: a package-aware proxy sees traffic to package sources, across npm, PyPI, RubyGems, Cargo, Go, Nix and OCI plus OS packages. Evidence travels with CI caches, and each SBOM states its completeness per job and per cache: Complete, Complete with connections, Incomplete, Unavailable or Not recorded.

The gap is structural. GitHub's dependency graph export is built from what GitHub knows about the repository rather than from the files a scanner reads, so it can list components no file-based tool finds and miss things they do find. It also reflects the default branch rather than the commit you built. CRACI cannot be compared that way, because it records builds rather than scanning a directory.

Control over what the job can reach

CRACI enforces an egress policy per job: default deny or default allow, with 24 built-in software-source presets and typed custom sources for registries and Git. Policies are validated before the job starts and fail closed, and CRACI can email you on a violation. This is a runtime control on the build, which scanning the repository cannot provide.

Provenance with the evidence attached

GitHub's attestations are a workflow step you add, and GitHub itself notes that an attestation is not a guarantee that an artifact is secure. CRACI's provenance comes from the runner that observed the job, so the artifact, its CycloneDX SBOM and the job's network trace link together through the API. Signatures are Ed25519 over SHA-512 and cover OCI artifacts. CRACI claims no SLSA level; if you need a documented SLSA level today, GitHub's attestations provide one.

Monitoring what shipped

CRACI aggregates vulnerabilities across builds and repositories, and keeps re-evaluating monitored SBOMs. Reports export in PDF, HTML, CSV, Excel and JSON.

How they fit together

  • GitHub Advanced Security on every pull request: CodeQL, secret scanning, push protection and dependency review.
  • Dependabot keeping declared dependencies patched.
  • CRACI as the runner: recording each build, enforcing egress policy, signing provenance and holding the evidence.

Runs on CRACI still appear in the GitHub UI, and your workflows keep their steps.

Stay on GitHub-hosted runners for Windows and macOS jobs: CRACI runs Linux only, on x86-64 and ARM64.

For the Cyber Resilience Act

GitHub's tools help you find and fix vulnerabilities before release, which a manufacturer needs to do. CRACI automates a significant part of the software supply chain visibility and evidence that companies need for their wider CRA compliance process: what went into each release, proof that the artifact came from that build, and ongoing vulnerability tracking. Neither makes a product compliant by itself. See what the CRA is and compliance reports.

Adding CRACI

Install the CRACI GitHub App on your organization, for all repositories or a selected set, then change runs-on to craci in the workflows you want recorded. Read more on CI/CD integration and build-time SBOM generation, or check pricing.

Keep GitHub. Change one line.

Point one workflow at a CRACI runner and compare its build record with your dependency graph export.

Book a demo