noorqureshi/security-skills/code-review-cicd
Claude Code and agent skill by noorqureshi/security-skills
- community
Checking that the SKILL.md file is still in the repository.
Review CI/CD pipelines for security flaws — poisoned workflows, secret leakage, and injection. Load on GitHub Actions / GitLab CI / Jenkins config, ".github/workflows", pull_request_target, self-hosted runners, or "pipeline security". Signals: workflow YAML, secrets in CI, third-party actions.
Install
npx vskill@latest install noorqureshi/security-skills/code-review-cicdSKILL.md
CI/CD pipeline security review
When it applies
You can read a repo's CI config (GitHub Actions, GitLab CI, Jenkinsfile, CircleCI). Pipelines run with secrets and often on attacker-influenced input (PRs), making them a high-value, under-reviewed target.
Why it works
CI runs code with privileged tokens/secrets. Misconfigurations let a fork PR run in a trusted context, inject commands via untrusted inputs, or exfiltrate secrets — a supply-chain foothold. On public repos this can be exploitable by anyone who opens a PR.
Method
- Dangerous triggers:
pull_request_target/workflow_runthat check out and run PR code
with secrets in scope → fork PRs can steal secrets or run arbitrary code (the classic GitHub Actions bug).
- Script injection: untrusted data (
github.event.issue.title, PR body, branch name) used
directly in run: shells → command injection. Look for ${{ github.event.* }} in run blocks.
- Secret handling: secrets echoed/logged, passed to third-party actions, or available to fork PRs;
overly broad permissions: (default write), long-lived GITHUB_TOKEN.
- Untrusted dependencies: third-party actions pinned to a mutable tag/branch (not a SHA),
curl-pipe-to-shell steps, unpinned package installs → supply-chain.
- Self-hosted runners on public repos: fork PRs executing on your infra → RCE on the runner.
Gotchas
pull_request(safe-ish) vspull_request_target(dangerous) — the trigger name is the crux.- An action pinned to
@v3(tag) can be moved; require a full commit SHA for third-party actions. - Secret leakage often happens via a step passing
${{ secrets.X }}to an untrusted action.
Verify success
A concrete path where an outsider (fork PR / issue) can execute code with pipeline privileges or exfiltrate a secret, or a clear secret-leak/injection in the workflow.
References
GitHub Actions security hardening docs; "GitHub Actions pwn requests" (Nathan Davison); semgrep CI rules.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/code-review/code-review-cicd/SKILL.md
Popularity
- Repository stars
- 23
- Repository forks
- 7
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/noorqureshi/security-skills/code-review-cicd)