-
Notifications
You must be signed in to change notification settings - Fork 36
Add SHA256 checksum verification for AWF binary installation via shell script #10745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Replace unverified installer script piping with direct binary download - Add SHA256 checksum verification from checksums.txt - Update tests to validate checksum verification presence - Eliminates trust in installer script itself (supply chain protection) Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
All 127 workflows now use checksum-verified AWF binary installation: - Download binary directly from GitHub releases - Verify SHA256 checksum against checksums.txt - No longer use unverified installer script piping Fixes unverified_script_exec security finding across the repository. Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
All AWF-related tests pass. Pre-existing TestStrictModeFirewallValidation failure is unrelated to checksum verification changes. Summary: - 127 workflows now use checksum-verified AWF installation - 0 workflows use unverified installer script - All AWF/Firewall tests passing - Code formatted and linted Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@copilot move new validation logic to shell script |
- Created actions/setup/sh/install_awf_binary.sh with checksum verification - Updated Go code to call script instead of inlining bash logic - Simplified generateAWFInstallationStep to single line script call - Updated tests to check for script invocation instead of inline code Addresses feedback to move validation logic to shell script for better maintainability and reusability. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
All 127 workflows now use the dedicated install_awf_binary.sh script: - Simple, maintainable script call: bash /opt/gh-aw/actions/install_awf_binary.sh VERSION - Checksum verification logic centralized in shell script - Easier to audit and test security logic This completes the refactoring to move validation logic to a shell script as requested. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
Merged PRs:
|
Smoke Test:
|
Smoke Test: Claude - 21150636106Status: Recent PRs:
Results:
|
Static analysis flagged
unverified_script_execin 127 workflows downloading AWF viacurl | sudo bashwithout integrity checks. This creates supply chain risk if the installer script or download is compromised.Changes
Replaced unverified script execution with dedicated shell script containing checksum verification:
actions/setup/sh/install_awf_binary.sh- standalone script with full checksum verification logicchecksums.txtdirectly from GitHub releasesBefore:
curl -sSL https://raw.githubusercontent.com/githubnext/gh-aw-firewall/main/install.sh | sudo AWF_VERSION=v0.10.0 bashAfter:
The shell script internally handles:
Files Modified
actions/setup/sh/install_awf_binary.sh- NEW: Dedicated shell script with checksum verification logicpkg/workflow/copilot_engine_installation.go- Simplified to call shell script (60+ lines → 2 lines)pkg/workflow/firewall_version_pinning_test.go- Test validations updated.lock.ymlfiles recompiledImpact
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Changeset
curl | bashinstaller withactions/setup/sh/install_awf_binary.shthat verifies checksums before installing the binary.