cicd-security

Featured

CI/CD pipeline security hunting — GitHub Actions workflow injection, secret exfiltration, self-hosted runner poisoning, dependency confusion, OIDC token theft, and supply chain attacks. Covers sisakulint scanning, manual workflow analysis, and chaining CI/CD bugs into critical findings. Use when a target has public repos, GitHub Actions, CircleCI, Jenkins, or GitLab CI.

DevOps & Infrastructure 4,744 stars 838 forks Updated 6 days ago MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# CI/CD SECURITY — Pipeline Attack Surface > CI/CD pipelines are high-value targets — a single workflow injection can give you code execution on the build server, read ALL org secrets, and push backdoored releases to production. --- ## 0. QUICK KILL CHECKLIST ``` [ ] Run cicd_scanner.sh <owner/repo> — catch low-hanging workflow lint issues [ ] Check for script injection: ${{ github.event.*.body/title/name }} [ ] Find secrets referenced in env: — test if they leak in logs [ ] Check pull_request_target with checkout of untrusted code [ ] Look for self-hosted runners on public repos [ ] Search for OIDC token requests without audience restriction [ ] Check for unpinned actions (uses: owner/action@main) [ ] Look for workflow_dispatch with no input validation [ ] Find artifact downloads without integrity checks [ ] Search for GITHUB_TOKEN with write permission used insecurely ``` --- ## 1. TOOL — cicd_scanner.sh ```bash # Single repo bash tools/cicd_scanner.sh owner/repo # Org-wide (up to 30 repos) bash tools/cicd_scanner.sh "org:orgname" --limit 50 --parallel 5 # Scan with recursive reusable workflow analysis bash tools/cicd_scanner.sh owner/repo --recursive --depth 5 # Custom output bash tools/cicd_scanner.sh owner/repo --output-dir ./findings/target/cicd ``` **Output:** `findings/<target>/cicd/scan_results.txt` + `summary.txt` **What sisakulint finds:** - Script injection via untrusted context - Unpinned actions (tag instead of SHA) - `pull_request_target` misuse - D...

Details

Author
shuvonsec
Repository
shuvonsec/claude-bug-bounty
Created
6 months ago
Last Updated
6 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category