Skip to main content
Glama

Jeevesus — DugganUSA threat-intel MCP

Check a GitHub Actions workflow for script injection

check-workflow
Read-only

Checks the text of one GitHub Actions workflow file for script injection: places where text an outside user controls (an issue or pull request title or body, a comment, a branch name, a commit message) is pasted into a shell script or a github-script body, a privileged trigger that checks out a pull request's code, event text re-evaluated through eval, an externally triggerable workflow with open token permissions, and an AI agent action on such a trigger. Built from Radware's 2026-10-29 report of 83 hidden-command attacks on 61 public repositories.

Static and local: nothing is fetched, run or stored. Pass the workflow's YAML as text (max 28000 characters; use the DugganUSA Checks GitHub Action for whole repositories). Returns {verdict:"block"|"review"|"advisory"|"no-findings"|"unknown", findings:[{rule, severity, verdict, line, expression, message, fix}], coverage, note}. "no-findings" means none of the listed patterns were seen; it does NOT mean the workflow is safe. "unknown" means nothing was analyzed.

One tool call, no auth.

Input Schema

NameRequiredDescriptionDefault
workflowYesThe workflow file text (the YAML of a file under .github/workflows).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations say read-only and closed-world; the description goes further by stating nothing is fetched, run or stored, that no auth is needed, and that it is one call. It also pre-empts the two most dangerous misreadings of the result: 'no-findings' does not mean safe, and 'unknown' means nothing was analyzed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and the detection categories, then moves to operational facts (static/local, size limit, return shape). The detection enumeration is dense but each item earns its place by telling the agent what will be flagged; the sourcing sentence is the only piece that could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return contract itself, giving verdict values, the findings array shape with per-finding fields, and coverage/note fields. Combined with the analysis scope and limits, an agent has everything needed to call it and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter's description already defines the workflow text, so the description cannot add much. It restates the max-length constraint and the 'pass as text' framing, which is consistent with the schema but not additive. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (checks), a specific resource (the text of one GitHub Actions workflow file), and the exact class of defect (script injection) with an enumerated list of patterns. Explicitly scoped to a single workflow's YAML text, which distinguishes it from the repository-level siblings like check-repo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the input mode ('Pass the workflow's YAML as text'), the size ceiling (28000 characters), and an alternative for whole repositories (DugganUSA Checks GitHub Action). It does not, however, clarify the relationship to the sibling check-repo tool, so an agent must infer which to use when it has a repo rather than a file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources