pipeline-check
CI/CD Security Posture Scanner.
1.9K
Find security risks in your CI/CD pipelines before attackers do.
A read-only scanner for 19 CI/CD and infrastructure providers, mapped to 14 compliance standards, with 590+ checks and 111 autofixers. Every finding maps to the OWASP Top 10 CI/CD Security Risks, SLSA, NIST SSDF, PCI DSS, SOC 2, and nine more frameworks. Each scan is graded A through D so you can gate merges on the result.
pip install pipeline-checkThe image working directory is /scan. Bind-mount your repo there and
auto-detect handles the rest:
docker run --rm -v "$PWD:/scan" dmartinochoa/pipeline-check
Pass any CLI flag after the image reference:
docker run --rm -v "$PWD:/scan" dmartinochoa/pipeline-check \
--pipeline github --output sarif --output-file pipeline-check.sarif
docker run --rm -v "$PWD:/scan" dmartinochoa/pipeline-check \
--pipelines github,dockerfile,kubernetes --fail-on HIGH
For live AWS scans, pass through your credentials:
docker run --rm \
-e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN \
-e AWS_REGION \
dmartinochoa/pipeline-check --pipeline aws
| Tag | Points to |
|---|---|
latest | most recent release on master |
<version> (e.g. 0.5.0) | a specific release |
sha-<short> | a specific commit build, for digest-style pinning |
The same digest is published to GHCR at
ghcr.io/dmartinochoa/pipeline-check — pick whichever registry your
platform already pulls from. For air-gapped or supply-chain-locked
environments, pin by digest (@sha256:...) rather than tag.
linux/amd64 + linux/arm64python:3.12-slim (Debian 13)scanner)CI/CD platforms: GitHub Actions, GitLab CI, Jenkins, CircleCI, Azure DevOps, Bitbucket Pipelines, Buildkite, Drone, Tekton, Argo Workflows, Google Cloud Build.
Infrastructure: Terraform plans, CloudFormation, Kubernetes manifests, Helm charts, Dockerfile / Containerfile, OCI image manifests.
Live cloud: AWS accounts via the boto3 credential chain (no token needed inside the image; pass credentials at run time).
SCM posture: GitHub, GitLab, and Bitbucket repo governance via each platform's REST API.
Each provider checks dependency pinning, script injection, credential leaks, deploy approval gates, artifact signing, SBOM generation, container hardening, package integrity, timeout enforcement, vulnerability scanning, and TLS verification. A dataflow taint engine catches multi-step and cross-job propagation that single-rule scanners miss, and 36 attack chains correlate findings into MITRE ATT&CK-mapped kill chains.
GitHub Actions, container-only flow (no pip install step needed):
- name: Pipeline-Check scan
run: |
docker run --rm \
-v "${{ github.workspace }}:/scan" \
dmartinochoa/pipeline-check:latest \
--pipeline github \
--output sarif --output-file pipeline-check.sarif \
--fail-on HIGH
- if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: pipeline-check.sarif
GitLab CI:
security-scan:
image: dmartinochoa/pipeline-check:latest
script:
- pipeline_check --pipeline gitlab --fail-on HIGH --output json > report.json
artifacts:
reports:
sast: report.json
MIT. See the LICENSE file in the repo.
Content type
Image
Digest
sha256:f16d9d495…
Size
79.5 MB
Last updated
1 day ago
docker pull dmartinochoa/pipeline-check:sha-e138809