Fix unpinned GitHub Actions in firewall log parsing#2686
Merged
Conversation
- Replace hardcoded actions/github-script@v8 with GetActionPin() call - This ensures all firewall workflows use the commit SHA from action_pins.go - Recompiled affected workflow lock files to use ed597411d8f924073f98dfc5c65a23a2325f34cd Fixes #2680 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
pelikhan
approved these changes
Oct 28, 2025
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR addresses security vulnerabilities identified by zizmor analysis by pinning GitHub Actions to commit SHAs instead of using mutable version tags. The main change updates the copilot engine to use centrally-managed action pinning for the actions/github-script action, eliminating supply chain attack vectors across 15+ generated workflow files.
Key changes:
- Updated
copilot_engine.goto useGetActionPin("actions/github-script")instead of hardcoded@v8tag - All affected
.lock.ymlworkflow files now reference the pinned SHAed597411d8f924073f98dfc5c65a23a2325f34cd
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pkg/workflow/copilot_engine.go | Updated firewall log parsing step to use centrally-managed action pinning |
| .github/workflows/*.lock.yml (13 files) | Auto-generated workflow files updated with pinned SHA for github-script action |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
|
Agentic Changeset Generator triggered by this pull request. |
Copilot
AI
changed the title
[WIP] Fix zizmor warnings by pinning GitHub Actions to commits
Fix unpinned GitHub Actions in firewall log parsing
Oct 28, 2025
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The firewall log parsing step used a hardcoded mutable version tag (
actions/github-script@v8) instead of the centrally-managed commit SHA, creating a supply chain attack vector.Changes
actions/github-script@v8withGetActionPin("actions/github-script")at line 953ed597411d8f924073f98dfc5c65a23a2325f34cdThis aligns firewall workflows with the existing action pinning infrastructure used throughout the codebase.
Fixes #2680
Original prompt
This section details on the original issue you should resolve
<issue_title>[q] Fix zizmor warnings: Pin GitHub Actions to commit SHAs</issue_title>
<issue_description># Q Workflow Optimization Report
Issues Found (from zizmor-style analysis)
Analyzed 56 compiled agentic workflows (.lock.yml files) and identified security vulnerabilities related to unpinned GitHub Actions.
Cluster 1: Unpinned Version Tags (Medium Severity)
Risk: Supply chain attack vulnerability from mutable version tags
Affected Actions:
actions/github-script@v8- 15 instances across multiple workflowsactions/ai-inference@v1- 2 instances in issue-classifier workflowRoot Cause:
pkg/workflow/copilot_engine.goline 953.github/workflows/shared/actions-ai-inference.mdWorkflows Affected:
Changes Made
1. pkg/workflow/copilot_engine.go
Change: Line 953 now uses centrally-managed action pinning
Before:
" uses: actions/github-script@v8",After:
Benefits:
ed597411d8f924073f98dfc5c65a23a2325f34cdaction_pins.go2. .github/workflows/shared/actions-ai-inference.md
Change: Pinned
actions/ai-inferenceto commit SHABefore:
After:
Benefits:
Expected Improvements
actions/github-script@v8actions/ai-inference@v1in shared configValidation
Changes compiled successfully - note that
.lock.ymlfiles will be regenerated automatically after merge via the copilot agent workflow compilation process.Note: As per project guidelines,
.lock.ymlfiles are not included in this PR - they will be compiled automatically after merge.Positive Findings
The codebase already demonstrates strong security practices:
actions/github-script@ed597411...actions/upload-artifact@ea165f8d...actions/download-artifact@634f93cb...pull_request_targetorworkflow_runtriggersSecurity Impact
Before: Good security posture with 20 unpinned actions
After: Excellent - all generated actions properly pinned to commit SHAs
This PR addresses the remaining vulnerabilities in the automated workflow generation system and ensures all future compiled workflows use immutable action references.
References
/tmp/gh-aw/cache-memory/zizmor-analysis.md- Detailed findingszizmor-solutions.md- Solution approacheszizmor-fix-plan.md- Implementation planShow patch (50 lines)