Allow integrity audit access to public Actions logs and artifacts - #10626
Conversation
There was a problem hiding this comment.
Pull request overview
Updates DIFC labeling so public-repository Actions logs and artifacts inherit public secrecy.
Changes:
- Makes
get_job_logsandactions_getvisibility-aware. - Updates public-repository expectations and adds private log coverage.
Show a summary per file
| File | Description |
|---|---|
tool_rules.rs |
Updates labeling rules and focused tests. |
mod.rs |
Updates public Actions secrecy expectations. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 4
- Review effort level: Balanced
| // === Actions log and artifact reads (repo-scoped) === | ||
| // S = S(repo) — inherits from repository visibility | ||
| // I = writer |
|
|
||
| #[test] | ||
| fn apply_tool_labels_actions_get_artifact_download_is_always_private() { | ||
| fn apply_tool_labels_actions_get_artifact_download_inherits_repo_visibility() { |
| Vec::<String>::new(), | ||
| "actions_get download_workflow_run_artifact should inherit public repo visibility", |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@copilot address review feedback |
…act test, update docs
Addressed all four review findings in commit
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@copilot fix this failing ci check https://github.com/github/gh-aw-mcpg/actions/runs/30833377553/job/91754178731?pr=10626 |
Fixed in |
🔒 mcpg Read-Only Stress — gVisorSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS References: §30838305641
|
🔒 mcpg Read-Only Stress — default AWFSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS
|
🔒 mcpg Read-Only Stress — docker-sbxSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: PASS
Run: §30838308115
|
The integrity audit workflow could list run metadata but was blocked from the evidence needed for DIFC analysis (
get_job_logs,download_workflow_run_artifact) because those reads were always labeled private. This made the audit incomplete even for public repositories.Guard labeling behavior
get_job_logssecrecy now inherits repository visibility.actions_get(includingdownload_workflow_run_artifact) secrecy now inherits repository visibility.Rule-set cleanup
get_job_logsfrom the “always private security-sensitive” bucket intool_rules.rs.writer_integrity) for these operations.Targeted test updates
secrecy = [].get_job_logsto ensure private secrecy labels are preserved.