Skip to content

security: SHA-pin manual workflows and prune dead lock entries (P0)#1016

Merged
microsasa merged 1 commit intomainfrom
fix/security-audit-92
Apr 20, 2026
Merged

security: SHA-pin manual workflows and prune dead lock entries (P0)#1016
microsasa merged 1 commit intomainfrom
fix/security-audit-92

Conversation

@microsasa
Copy link
Copy Markdown
Owner

@microsasa microsasa commented Apr 20, 2026

Addresses all items in #1014 (rescoped) as part of the P0 response to audit #92.

Changes

SHA-pinned manual workflow actions (#1014 item 4)

Pinned tag refs to immutable commit SHAs in 5 workflows:

  • ci.yml: checkout@v6, setup-uv@v7
  • codeql.yml: checkout@v6, codeql-action/init@v4, codeql-action/analyze@v4
  • copilot-setup-steps.yml: checkout@v6, setup-uv@v7 (setup-cli line intentionally untouched)
  • dependency-review.yml: checkout@v6, dependency-review-action@v4.9.0
  • pipeline-orchestrator.yml: checkout@v6

Pruned dead lock file entries (#1014 items 1 and 3)

Removed unused entries from actions-lock.json:

  • actions/github-script@v8 — zero references
  • github/gh-aw/actions/setup@v0.58.1 — zero references

Not in this PR

Original item #2 from #1014 (bump gh-aw-actions/setup v0.68.3 → v0.68.7) has been split out to #1021 because it is blocked on an upstream gh-aw CLI release. This PR fully addresses all currently unblocked P0 items.

Verification

  • All SHAs verified via GitHub API (tag-to-commit resolution including annotated tag peeling)
  • gh aw compile clean, no diff vs committed .lock.yml files
  • Triple-reviewed by Codex, Sonnet 4.6, Opus 4.6 — all clean

Issue linkage

Closes #1014
Refs #92 (meta audit — do NOT close)
Refs #1021 (blocked sibling P0 — do NOT close)

P0 remediation from security audit (#92, #1014).

Manual workflows (not gh-aw compiled) now SHA-pinned:
- ci.yml: checkout@v6, setup-uv@v7
- codeql.yml: checkout@v6, codeql-action/init@v4, codeql-action/analyze@v4
- copilot-setup-steps.yml: checkout@v6, setup-uv@v7
  (setup-cli@v0.68.1 line intentionally untouched)
- dependency-review.yml: checkout@v6, dependency-review-action@v4.9.0
- pipeline-orchestrator.yml: checkout@v6

actions-lock.json: removed unused entries
- actions/github-script@v8 (zero references)
- github/gh-aw/actions/setup@v0.58.1 (zero references)

All SHAs verified via GitHub API. Triple-reviewed by Codex, Sonnet 4.6,
and Opus 4.6 — all clean.

Refs #92 #1014

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens the repo’s GitHub Actions supply chain by SHA-pinning previously tag-pinned actions in manually maintained workflows, and by pruning unused entries from the agent workflow action lock file.

Changes:

  • SHA-pin actions/checkout, astral-sh/setup-uv, CodeQL, and dependency-review actions in manually maintained workflows.
  • Remove dead/unused action pins from .github/aw/actions-lock.json (actions/github-script@v8, legacy github/gh-aw/actions/setup@v0.58.1).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/pipeline-orchestrator.yml Pins actions/checkout to an immutable SHA for the orchestrator workflow.
.github/workflows/dependency-review.yml Pins checkout + dependency-review action to immutable SHAs.
.github/workflows/copilot-setup-steps.yml Pins checkout + setup-uv to immutable SHAs (keeps setup-cli pin unchanged).
.github/workflows/codeql.yml Pins checkout + CodeQL init/analyze to immutable SHAs.
.github/workflows/ci.yml Pins checkout + setup-uv to immutable SHAs.
.github/aw/actions-lock.json Removes unused lock entries to reduce attack surface and drift.

Comment thread .github/aw/actions-lock.json
@microsasa microsasa enabled auto-merge April 20, 2026 05:33
@microsasa microsasa disabled auto-merge April 20, 2026 05:33
@microsasa microsasa merged commit 589324a into main Apr 20, 2026
13 checks passed
@microsasa microsasa deleted the fix/security-audit-92 branch April 20, 2026 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P0: Remove stale/dead lock entries + SHA-pin manual workflows

3 participants