github-actions-audit
Audits GitHub Actions workflow files for supply-chain risks, including script injection, leaked secrets, unpinned actions, broad permissions, and pull_request_target vulnerabilities.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
GitHub Actions Security Audit
MCP server that audits
.github/workflows/*.ymlfiles for supply-chain risks. Catches script injection, leaked tokens, unpinned actions, broad permissions, andpull_request_targetfoot-guns — the patterns behind several 2024–2025 supply-chain incidents.
Built by Unbearable Labs. Pay-per-event — only billed when a tool is actually called.
Available on
Apify Actor Store — primary, metered usage (PPE)
MCPize — pending submission
MCP.so — pending submission
PulseMCP — pending submission
Smithery — pending submission
Glama — pending submission
Newsletter: Unbearable TechTips Weekly · All Actors: github.com/UnbearableDev
Related MCP server: actions-guard-mcp
What it does
Point any MCP-capable client (Claude Desktop, Cursor, n8n, Make, Zapier, custom agents) at this server, hand it a workflow YAML, and get back structured findings with:
Severity — critical / high / medium / low / info
Affected job and step — exact location of the problem
Description — why it matters, with the actual attack vector
Remediation — what to do about it
Fix snippet — YAML you can paste directly
Tools
Tool | Purpose |
| Run all checks |
| Secret-leakage paths only |
|
|
| Action version-pinning only |
| Self-hosted runner + script injection |
| Timeout / config hygiene |
| TeamPCP-class supply-chain patterns (GHA-201..208) |
| Browse the catalog |
Provide exactly one of workflow_yaml (paste the content) or workflow_url (HTTPS URL — typically a GitHub raw URL to a specific workflow file).
Check catalog (v2: 21 checks)
ID | Category | Severity | Title |
GHA-001 | secrets | high | Secret interpolated directly into |
GHA-002 | secrets | high | Secret printed via echo / set-output |
GHA-003 | secrets | medium | Secret used in |
GHA-004 | secrets | high | Hardcoded credential pattern in |
GHA-010 | permissions | high |
|
GHA-011 | permissions | medium | No top-level |
GHA-013 | permissions | high |
|
GHA-020 | action_pinning | high | Third-party action pinned to mutable tag |
GHA-021 | action_pinning | high | Third-party action pinned to mutable branch |
GHA-022 | action_pinning | medium | First-party action not SHA-pinned |
GHA-030 | runner_security | medium | Self-hosted runner used on |
GHA-032 | runner_security | high | Script injection via untrusted |
GHA-040 | workflow_config | low | No |
GHA-201 | supply_chain_advanced | high | Action pinned to unpinned branch ref (TeamPCP-class: @main/@master) |
GHA-202 | supply_chain_advanced | high | Action pinned to mutable tag — SHA pin recommended |
GHA-203 | supply_chain_advanced | critical |
|
GHA-204 | supply_chain_advanced | high | Script injection via |
GHA-205 | supply_chain_advanced | medium | Action from non-allowlisted owner (untrusted 3rd-party) |
GHA-206 | supply_chain_advanced | high | Top-level |
GHA-207 | supply_chain_advanced | medium | Secret logged via |
GHA-208 | supply_chain_advanced | low | Action uses a known-retired tag |
Pricing
Event | USD |
Any audit / check_* tool call | $0.02 |
| $0.005 |
Connecting from Claude Desktop
{
"mcpServers": {
"gha-audit": {
"transport": "streamable-http",
"url": "https://YOUR-ACTOR-URL.apify.actor/mcp"
}
}
}Sibling MCPs from Unbearable Labs
docker-compose-audit—docker-compose.ymlsecurity auditdockerfile-audit— Dockerfile security & qualityhu-postcode-validator— Hungarian postcode lookup
What's NOT covered (yet)
Reusable workflow auditing (multi-file resolution)
CodeQL-grade dataflow tracking
Marketplace-listed action reputation scoring
Source / contact
Source: github.com/UnbearableDev/github-actions-audit.
Issues + ideas: unbearabledev@gmail.com.
📬 Built by Noel @ Unbearable Labs. More MCP servers + audit tips in the newsletter: https://unbearabletechtips.beehiiv.com
Related MCP Connectors
Audit GitHub Actions workflows for script injection, unpinned actions and missing permissions.
Audit GitHub repos for malicious and supply-chain code before you depend on them.
GitHub security scanning, code audit, and workflow automation for repositories.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Related MCP Servers
- AlicenseAqualityDmaintenanceSecurity auditor for CI ecosystems that detects supply-chain and injection flaws in CI/CD configuration files across seven CI platforms, providing taint analysis, remediation, and compliance scoring.2MIT
- AlicenseAqualityCmaintenanceScans GitHub Actions workflow files for dangerous triggers, template injection, unpinned actions, excessive permissions, and secrets in shell commands before they are committed, exposing the checks as MCP tools for agents.2MIT
- AlicenseAqualityBmaintenanceEnables reviewing GitHub Actions workflows for outdated actions, deprecated Node runtimes, retired runners, deprecated commands, and security risks, with file, line, and fix for each finding.31MIT
- AlicenseNot gradedqualityCmaintenanceEnables scanning GitHub Actions workflow YAML for real-world security vulnerabilities such as script injection from attacker-controlled expressions, unpinned third-party actions, missing permissions blocks, and dangerous pull_request_target checkouts. It returns each finding with its exact location, an explanation of the risk, and a concrete remediation.MIT