Skip to content

[guard-coverage] Guard coverage gap: 1 operation from github-mcp-server / GitHub CLI not fully covered #8758

Description

@github-actions

Summary

The GitHub guard does not fully cover 1 operation from the github-mcp-server and/or GitHub CLI. This may allow a write operation to bypass DIFC classification when invoked through the GitHub CLI surface.

  • MCP tools scanned: 118
  • CLI write commands scanned: 84
  • Guard-covered write tools (tools.rs): 120
  • Tools with explicit DIFC rules (tool_rules.rs): 193
  • New gaps found this run: 1

MCP Tool Classification Gaps (tools.rs)

None. The current 118-tool upstream GitHub MCP surface is covered by the existing explicit write/read-write sets plus the guard's prefix-based classification rules.


MCP Tool DIFC Labeling Gaps (tool_rules.rs)

None. Every current upstream GitHub MCP tool has an explicit apply_tool_labels rule.


GitHub CLI-Only Gaps

These write operations are reachable via the GitHub CLI but have no corresponding modeled guard entry today:

CLI Command REST Endpoint GitHub API Action Risk
gh codespace stop POST /user/codespaces/{codespace_name}/stop and POST /orgs/{org}/members/{user}/codespaces/{codespace_name}/stop Stops a running codespace Medium

Suggested remediation

  1. Add a modeled CLI-only operation name such as stop_codespace to WRITE_OPERATIONS in guards/github-guard/rust-guard/src/tools.rs.
  2. If this operation is later surfaced as an MCP tool or other first-class action, add an explicit apply_tool_labels arm in guards/github-guard/rust-guard/src/labels/tool_rules.rs that treats it as a private user/org-scoped write.
  3. Consider filing an upstream github-mcp-server feature request for codespace lifecycle controls so the operation can be guarded through the MCP surface as well.

Suggested fix for tools.rs

pub const WRITE_OPERATIONS: &[&str] = &[
    // ... existing entries ...
    "stop_codespace", // gh codespace stop — POST /user|/orgs/.../codespaces/.../stop
];

Stale Guard Entries (bonus)

None identified in this run.


References

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • awmgmcpg
  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"
    - "proxy.golang.org"

See Network Configuration for more information.

Generated by GitHub Guard Coverage Checker (MCP + CLI) · 763.4 AIC · ⊞ 25.2K ·

  • expires on Jul 20, 2026, 3:25 AM UTC

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions