Skip to content

Hash-pin all action references, address other zizmor findings#723

Merged
KodrAus merged 6 commits intorust-lang:masterfrom
woodruffw-forks:ww/ci
Apr 14, 2026
Merged

Hash-pin all action references, address other zizmor findings#723
KodrAus merged 6 commits intorust-lang:masterfrom
woodruffw-forks:ww/ci

Conversation

@woodruffw
Copy link
Copy Markdown
Contributor

Hello! Apologies for the cold PR.

I'm opening this in my capacity as one of uv's maintainers; we have a set of downstreams (including log!) that we depend on, and we'd like to ensure their CI/CD processes are as hermetic and secure as possible (within the limits of GitHub's platform).

To that effect, this PR contains a few different commits that aim to make log's CI more secure. None of these changes fix vulnerabilities; they're purely defense-in-depth changes that will make a future Trivy-style compromise less fruitful for an attacker.

To summarize:

  • I've hash-pinned all of your action dependencies with pinact run -v. You can use Dependabot to keep these up to date with minimal maintenance burden, although it isn't enabled at the moment. I'm happy to also send a follow-up PR enabling Dependabot.
  • I've disabled actions/checkout's default credential-persistence behavior with persist-credentials: false.

Most of the above was detected automatically with zizmor, which you can integrate into GitHub Actions if you'd like. I've left that out of this PR however, since not every project wants another thing running in CI. But let me know if you'd like it and I'd be happy to send a follow-up PR!

Last but not least, please let me know if there's any other information I can provide. All of the above was 100% human written and reviewed 🙂

Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
@KodrAus
Copy link
Copy Markdown
Contributor

KodrAus commented Apr 12, 2026

Thanks for the PR @woodruffw! Pinning our dependencies is a good idea, and should be enough of an improvement here without introducing any new tooling 👍

The build failure is unrelated. It looks like we need to bump our MSRV.

Copy link
Copy Markdown
Collaborator

@Thomasdezeeuw Thomasdezeeuw left a comment

Choose a reason for hiding this comment

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

I'm 👍 on the idea. Here are the (unique) commits we're using:

I've checked them all they seem good 👍 (GitHub actually allows references to commits in forks via the main repo path, so even using a commit hash isn't a full security solution)

I've made two suggestions to update checkout to v6 and the rust toolchain to 1.68.2:

Comment thread .github/workflows/main.yml Outdated
Comment thread .github/workflows/main.yml Outdated
Signed-off-by: William Woodruff <william@yossarian.net>
@KodrAus
Copy link
Copy Markdown
Contributor

KodrAus commented Apr 13, 2026

Perhaps while we're here we should bump that version to 1.71 so we get a green build. We've tried previously to limit our MSRV as it's pulled forwards by dependencies but it's a bit of a losing battle.

Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw
Copy link
Copy Markdown
Contributor Author

Done, bumped to 1.71 🙂

with:
components: clippy
- uses: taiki-e/install-action@cargo-hack
toolchain: "1.71"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We'll just need to update the value in our Cargo.toml too to 1.71

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks, done!

Signed-off-by: William Woodruff <william@yossarian.net>
Copy link
Copy Markdown
Contributor

@KodrAus KodrAus left a comment

Choose a reason for hiding this comment

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

Thanks for working through this @woodruffw!

@KodrAus KodrAus merged commit 67bc7e3 into rust-lang:master Apr 14, 2026
13 checks passed
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.

3 participants