Skip to main content
Glama

Gha Workflow Lint

gha_workflow_lint
Read-onlyIdempotent

Security audit of a GitHub Actions workflow YAML (zizmor / actionlint style): pwn-request checkouts under pull_request_target / workflow_run, script injection from attacker-controlled ${{ github.event.* }} contexts in run: and github-script, actions not pinned to a commit SHA, missing or write-all permissions, toJSON(secrets), secrets in workflow-wide env, self-hosted runners on PR triggers, persisted checkout credentials, disabled ::set-env / ::add-path commands, curl | bash, cache poisoning in release workflows, artifact poisoning, spoofable bot-actor conditions and hard-coded credentials. Findings carry line numbers, severity and the fix. Price: $0.003 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/gha-workflow-lint

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workflow": "<workflow>"
    },
    "name": "gha_workflow_lint"
  }
}

Input Schema

NameRequiredDescriptionDefault
workflowYesWorkflow file content (.github/workflows/*.yml)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely non-obvious behavior: findings include line numbers, severity and fixes, and each successful call costs $0.003 USDC via x402 on Solana, with an HTTPS fallback endpoint. Cost and payment rail are exactly the kind of context annotations cannot convey.

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?

The lead clause front-loads the purpose and the pricing/endpoint detail is placed last, which is correct. The middle is a long comma-separated checklist that reads as a keyword dump, but those terms are what let an agent match the tool to a specific concern, so most of them earn their place.

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

Completeness4/5

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

For a single-input, no-output-schema tool, the description covers input kind, the finding shape (line numbers, severity, fix), and commercial/auth requirements. Only the exact response structure (counts, aggregation, failure modes on malformed YAML) is left unstated.

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?

Only one parameter, and the schema already documents it fully (100% coverage: workflow file content, 300KB cap). The description adds no syntax, formatting, or partial-file guidance beyond the schema, so the 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?

States a specific verb and resource ('Security audit of a GitHub Actions workflow YAML') and then enumerates exactly what categories of issues are detected. An agent can distinguish this from neighbors like dockerfile_lint or k8s_manifest_lint without opening any schema.

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

Usage Guidelines3/5

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

The domain is narrow enough that the intended use (auditing .github/workflows/*.yml) is strongly implied, but there is no explicit when-to-use versus when-not guidance and no sibling is named as the alternative target for other file types.

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