pipefort

command module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

README

Pipefort

Scan your CI/CD pipelines for the OWASP Top 10 CI/CD security risks. Pipefort is a fast, offline-first CLI that inspects GitHub Actions and GitLab CI pipelines — 60+ rules spanning workflow YAML, online action-pin supply-chain audits, SLSA build-track coverage, and repository/project configuration — with auto-fix and cross-finding "Attacker Mind" toxic-combination detection.

CI

Install

# Install script (macOS / Linux) — downloads the prebuilt release binary
curl -fsSL https://pipefort.com/install.sh | sh

# Homebrew
brew install raphabot/tap/pipefort

# Go toolchain (needs Go 1.25+)
go install github.com/raphabot/pipefort@latest

Prebuilt archives for Linux, macOS, and Windows (amd64/arm64) are attached to each GitHub Release. See the installation docs for details.

Docker

Build the CLI image from source and run it against a mounted repo:

docker build -f Dockerfile.action -t pipefort .
docker run --rm -v "$PWD:/repo" pipefort -p /repo

Quick start

# Scan the current directory
pipefort -p .

# Scan a remote repository (GitHub owner/repo, or a full GitHub/GitLab URL)
pipefort -g owner/repo
pipefort -g https://gitlab.com/group/subgroup/project

# JSON output (machine-readable)
pipefort -p . -o json

# SARIF 2.1.0 for GitHub code scanning
pipefort -p . -o sarif > pipefort.sarif

# Auto-fix fixable findings in workflow YAML, in place
pipefort -p . --fix

Useful flags (run pipefort --help for the full list, or see the flags reference):

Flag Purpose
-p, --path Local path to scan (default .).
-f, --file Scan a single workflow file.
-g, --git Remote repo: owner/repo, or a full GitHub/GitLab URL.
--org Scan every repo owned by a GitHub org or user (needs a token).
-o, --output console (default), json, or sarif.
-s, --fail-on Exit 1 on findings at/above HIGH, MEDIUM, LOW, INFO, or NONE (default MEDIUM).
-r, --ruleset all (default), owasp, slsa, or a specific SLSA level.
--min-confidence Drop findings below HIGH, MEDIUM, or LOW.
--persona Noise tier: regular (default), pedantic, or auditor.
--fix Auto-fix fixable workflow findings in place.
--audit-pins / --offline Force online supply-chain pin audits on / off.
--config / --no-config Use / ignore a .pipefort.yml config file.

Online supply-chain pin audits (impostor-commit, known-vulnerable, typosquat, etc.) run automatically when a GitHub token is available (--github-token, $GITHUB_TOKEN/$GH_TOKEN, or gh auth token). Use --audit-pins to force them on without a token, or --offline to keep the scan fully local.

GitHub Action

Run Pipefort in CI and upload results to GitHub code scanning:

name: Pipefort
on: [push, pull_request]

permissions:
  contents: read
  security-events: write   # required to upload SARIF

jobs:
  pipefort:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - id: scan
        uses: raphabot/pipefort@v0.1.0   # pin a released tag; see latest at /releases
        with:
          path: .
          ruleset: all
          fail-on: MEDIUM
          output: sarif        # default; writes pipefort.sarif

      - name: Upload SARIF
        if: always()           # upload findings even when the scan fails the build
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: ${{ steps.scan.outputs.sarif-file }}

Action inputs: path, ruleset, fail-on, output, sarif-file, and github-token (defaults to the workflow token, enabling the online pin audits; set it to '' to keep the scan offline). See the CI integration docs.

MCP server

Pipefort ships a Model Context Protocol server so AI coding assistants can scan CI workflows as they write them — catching an injection sink or an unpinned action before it is committed:

# Register with Claude Code
claude mcp add pipefort -- pipefort mcp

pipefort mcp serves the scanner over stdio (read-only, offline). See the MCP docs.

Documentation

Full documentation, including the complete rules reference, lives at pipefort.com/docs. The hosted web dashboard (scan history, trends, org-wide posture) is at pipefort.com.

Contributing

Contributions are welcome — see CONTRIBUTING.md. Every feature (especially a new scanner rule) ships with tests.

Security

To report a vulnerability, see SECURITY.md. Please use GitHub's private vulnerability reporting rather than a public issue.

License

Apache License 2.0 © 2026 Raphael Bottino.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
mcp
Package mcp exposes Pipefort's scanner over the Model Context Protocol so AI coding assistants (Claude Code, Gemini CLI, …) can scan CI workflows as they write them.
Package mcp exposes Pipefort's scanner over the Model Context Protocol so AI coding assistants (Claude Code, Gemini CLI, …) can scan CI workflows as they write them.
vcs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL