github-actions-audit
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
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/UnbearableDev/github-actions-audit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server