Skip to content

ci(release-verify): document why the audit step pins bash - #109

Merged
Jaro-c merged 1 commit into
mainfrom
ci/release-verify-pin-bash-comment
Aug 9, 2026
Merged

ci(release-verify): document why the audit step pins bash#109
Jaro-c merged 1 commit into
mainfrom
ci/release-verify-pin-bash-comment

Conversation

@Jaro-c

@Jaro-c Jaro-c commented Aug 9, 2026

Copy link
Copy Markdown
Member

What

Adds a comment in front of the bash -c "$AUDIT_COMMAND" run step, explaining the choice of bash -c "$VAR" over an argv array.

Why

The input comes from a trusted workflow_call caller — a repo-owned release.yml — so it is not exploitable today. But the shape earns the same comment rust-ci.yml carries for the cross-OS PowerShell trap: bash -c evaluates a string rather than receiving argv, and a future caller can construct a value that interacts badly with shell expansion.

This job runs on ubuntu-latest only, so the PowerShell half of that pattern does not apply here; the comment states that explicitly so the next reader does not have to re-derive it.

The ideal follow-up is to take audit-command as an argv array, removing the parsing entirely. That is a separate change.

Closes Glyndor/apt#82 (filed against apt because Glyndor/.github has issues disabled; the fix lives in this repo).

The caller-supplied command runs through `bash -c "$VAR"` rather than
as argv. Today the input comes from a trusted release.yml, so it is
not exploitable; the shape still earns a comment, the way rust-ci.yml
earns the same one for cross-OS behaviour. The job runs on
ubuntu-latest only today, so the PowerShell trap does not apply here.

Closes Glyndor/apt#82

[Note: filed against apt because Glyndor/.github has issues disabled;
the fix lives in this repo.]

Signed-off-by: Jose <75870284+Jaro-c@users.noreply.github.com>
@Jaro-c
Jaro-c force-pushed the ci/release-verify-pin-bash-comment branch from 0b6e493 to f8dc1cb Compare August 9, 2026 21:34
@Jaro-c
Jaro-c merged commit 41a00f6 into main Aug 9, 2026
6 checks passed
@Jaro-c
Jaro-c deleted the ci/release-verify-pin-bash-comment branch August 9, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

ci(release-verify): document why the audit step pins bash (lives in .github, filed here)

1 participant