Does your CI actually block?

zanadir reads a repository's CI configuration and reports which security and quality controls are missing, or wired so they cannot fail a build.

zanadir scan --dir .
zanadir scan --repo github.com/owner/name
zanadir fix --dir .

Present is not protected

A scanner with continue-on-error, --exit-code 0, || true or a push-only trigger is in the pipeline but cannot stop a merge. zanadir grades every control it finds:

enforcingcan fail a merge
partialruns, but not on every change
advisorycannot fail a build
unknownbehind a condition the file cannot settle

What it checks

State of CI security 2026

We scanned 1,000 of the most-starred GitHub repositories with CI. 511 declare no dependency, secret or code scanning anywhere in the repository, and 1 in 6 of those that do run a scanner in CI have one that cannot fail the build. Read the report.

With OpenSSF Scorecard

Scorecard rates a project's security practices across the repository. zanadir reads the CI configuration and tells you whether the controls you have would stop a bad change, and what to add. Use both.