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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@github-actions-auditaudit the workflow file at https://raw.githubusercontent.com/owner/repo/branch/.github/workflows/build.yml"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: ci-sentinel
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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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