Objective
Fix a Medium severity security vulnerability (artipacked) in the daily-copilot-token-report workflow identified by zizmor in discussion #18283.
Context
actions/checkout persists GitHub token credentials in .git/config by default (persist-credentials: true). If the workflow uploads artifacts that include the workspace directory or .git/, those credentials can be exfiltrated by anyone with artifact download access.
- Tool: zizmor
- Severity: Medium
- Affected file:
.github/workflows/daily-copilot-token-report.md
- Location: Checkout step (compiles to line 282 in
.github/workflows/daily-copilot-token-report.lock.yml)
Approach
- Open
.github/workflows/daily-copilot-token-report.md
- Locate the
actions/checkout step in the frontmatter or workflow body
- Add
persist-credentials: false to the checkout step's with block:
- uses: actions/checkout@(sha)
with:
persist-credentials: false
If the workflow requires authenticated git operations after checkout, alternatively ensure the artifact upload step excludes .git:
- uses: actions/upload-artifact@(sha)
with:
path: |
.
!.git
- Run
make recompile to regenerate the .lock.yml file
- Run
make agent-finish to validate
Files to Modify
.github/workflows/daily-copilot-token-report.md — add persist-credentials: false to checkout
Acceptance Criteria
Generated by Plan Command for issue #discussion #18283
Objective
Fix a Medium severity security vulnerability (
artipacked) in thedaily-copilot-token-reportworkflow identified by zizmor in discussion #18283.Context
actions/checkoutpersists GitHub token credentials in.git/configby default (persist-credentials: true). If the workflow uploads artifacts that include the workspace directory or.git/, those credentials can be exfiltrated by anyone with artifact download access..github/workflows/daily-copilot-token-report.md.github/workflows/daily-copilot-token-report.lock.yml)Approach
.github/workflows/daily-copilot-token-report.mdactions/checkoutstep in the frontmatter or workflow bodypersist-credentials: falseto the checkout step'swithblock:If the workflow requires authenticated git operations after checkout, alternatively ensure the artifact upload step excludes
.git:make recompileto regenerate the.lock.ymlfilemake agent-finishto validateFiles to Modify
.github/workflows/daily-copilot-token-report.md— addpersist-credentials: falseto checkoutAcceptance Criteria
actions/checkoutstep haspersist-credentials: false(or artifact upload excludes.git)make recompilesucceeds without errorsmake agent-finishpassesartipackedfor this workflow