You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[guard-coverage] Guard coverage gap: 3 operations from github-mcp-server / GitHub CLI not fully covered #8222
The GitHub guard does not fully cover 3 operation(s) from the github-mcp-server and/or GitHub CLI. This may allow write operations to bypass DIFC classification or leave repo-scoped mutations without explicit secrecy/integrity labeling.
MCP tools scanned: 114
CLI write commands scanned: 79
Guard-covered write tools (tools.rs): 117
Tools with explicit DIFC rules (tool_rules.rs): 118
New gaps found this run: 3
MCP Tool Classification Gaps (tools.rs)
These MCP tools perform write or mutating operations but are missing from WRITE_OPERATIONS or READ_WRITE_OPERATIONS in guards/github-guard/rust-guard/src/tools.rs:
Tool Name
Operation Type
Suggested Classification
Notes
add_issue_reaction
write
WRITE_OPERATIONS
Upstream tool: "Add a reaction to an issue or pull request." Mutates repo discussion state.
add_issue_comment_reaction
write
WRITE_OPERATIONS
Upstream tool: "Add a reaction to an issue or pull request comment." Mutates repo discussion state.
add_pull_request_review_comment_reaction
write
WRITE_OPERATIONS
Upstream tool: "Add a reaction to a pull request review comment." Mutates repo discussion state.
Suggested fix for tools.rs
// Add to WRITE_OPERATIONS (keep sorted for binary_search correctness):pubconstWRITE_OPERATIONS:&[&str] = &[// ... existing entries ..."add_issue_comment_reaction",// POST reaction on issue/PR comment"add_issue_reaction",// POST reaction on issue or PR"add_pull_request_review_comment_reaction",// POST reaction on PR review comment];
MCP Tool DIFC Labeling Gaps (tool_rules.rs)
These MCP tools exist in the upstream server but have no explicit match arm in apply_tool_labels in guards/github-guard/rust-guard/src/labels/tool_rules.rs. They currently fall through to default handling even though they are repo-scoped writes:
Tool Name
Data Scope
Suggested Labels
Risk
add_issue_reaction
repo-scoped
secrecy: S(repo), integrity: writer(repo)
Medium
add_issue_comment_reaction
repo-scoped
secrecy: S(repo), integrity: writer(repo)
Medium
add_pull_request_review_comment_reaction
repo-scoped
secrecy: S(repo), integrity: writer(repo)
Medium
Suggested fix for tool_rules.rs
Add an explicit repo-scoped write rule alongside the existing issue / PR write cases:
The three reaction tools were inserted into WRITE_OPERATIONS (sorted for binary_search) in tools.rs and added to the repo-scoped write match arm in tool_rules.rs, following the same pattern as adjacent issue/PR write operations. Tests added for both classification and DIFC label assignment. All 539 Rust guard tests pass.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
proxy.golang.org
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
Activity
fix(guard): add reaction operations to WRITE_OPERATIONS and DIFC rules
github-actions commentedon Jun 28, 2026
🤖 This is an automated response from Repo Assist.
I've implemented this fix in draft PR #8235.
The three reaction tools were inserted into
WRITE_OPERATIONS(sorted forbinary_search) intools.rsand added to the repo-scoped write match arm intool_rules.rs, following the same pattern as adjacent issue/PR write operations. Tests added for both classification and DIFC label assignment. All 539 Rust guard tests pass.Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
proxy.golang.orgSee Network Configuration for more information.
Add this agentic workflows to your repo
To install this agentic workflow, run
[Repo Assist] fix(guard): add reaction operations to WRITE_OPERATIONS…