Replace curl | sh uv install with pinned astral-sh/setup-uv action#17688
Replace curl | sh uv install with pinned astral-sh/setup-uv action#17688
curl | sh uv install with pinned astral-sh/setup-uv action#17688Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…p-uv action pinned to commit SHA Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
curl | sh uv install with pinned astral-sh/setup-uv action
| GH_TOKEN: ${{ github.token }} | ||
| - name: Install uv | ||
| run: curl -LsSf https://astral.sh/uv/install.sh | sh | ||
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 |
There was a problem hiding this comment.
Validated. The original SHA d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 is correct for v5.4.2 (commit message and date both match), but I've updated to the latest release — eac588ad8def6316056a12d4907a9d4d84ff7a3b (v7.3.0, 2026-02-06) — in commit ed1e45f.
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR addresses a supply chain security vulnerability identified by poutine static analysis by replacing an insecure curl | sh installation pattern with a pinned GitHub action for the uv Python package manager.
Changes:
- Replaced
curl -LsSf https://astral.sh/uv/install.sh | shwith the officialastral-sh/setup-uvGitHub Action pinned to commit SHAeac588ad8def6316056a12d4907a9d4d84ff7a3b(v7.3.0) - Regenerated lock file
daily-copilot-token-report.lock.ymlviamake recompileto reflect the change from the importedcopilot-setup-steps.yml - Unintentionally changed the
experimentalflag fromtruetofalseinsmoke-gemini.lock.ymlduring recompilation
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/copilot-setup-steps.yml |
Replaced insecure curl | sh uv installation with pinned astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b action |
.github/workflows/daily-copilot-token-report.lock.yml |
Auto-generated lock file updated to reflect the change from imported copilot-setup-steps.yml; includes minor comment formatting inconsistency |
.github/workflows/smoke-gemini.lock.yml |
Unrelated change setting experimental: false, likely from running make recompile |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: make recompile | ||
| - name: Install uv | ||
| run: curl -LsSf https://astral.sh/uv/install.sh | sh | ||
| uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # eac588ad8def6316056a12d4907a9d4d84ff7a3b |
There was a problem hiding this comment.
The inline comment should specify the version tag v7.3.0 instead of repeating the commit SHA. This maintains consistency with the convention used throughout the codebase where actions are commented with their version tags (e.g., # v6.0.2, # v5.0.1). The source file at .github/workflows/copilot-setup-steps.yml:42 correctly uses # v7.3.0.
| uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # eac588ad8def6316056a12d4907a9d4d84ff7a3b | |
| uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0 |
| agent_version: "", | ||
| workflow_name: "Smoke Gemini", | ||
| experimental: true, | ||
| experimental: false, |
There was a problem hiding this comment.
This change from experimental: true to experimental: false appears unrelated to the PR's stated purpose of replacing the uv installation method. While the change itself is consistent with the rest of the codebase (all other workflows have experimental: false), it should either be explained in the PR description or removed from this PR and addressed separately to maintain a focused change scope.
Smoke Test Results
Overall Status: FAIL
|
Addresses a poutine
unverified_script_execsupply chain finding:curl -LsSf https://astral.sh/uv/install.sh | shexecutes arbitrary remote code with no integrity verification.Changes
copilot-setup-steps.yml: ReplaceInstall uvrun step withastral-sh/setup-uvaction pinned to immutable commit SHA (v7.3.0, latest as of 2026-02-06):daily-copilot-token-report.lock.yml: Regenerated viamake recompile— importscopilot-setup-steps.yml, so the lock file reflects the same fix.Original prompt
curl | bashpatterns and review ARM self-hosted runner PR usage #17672✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.