chore(deps): bump golang.org/x/crypto and build with Go 1.26.5 - #330
Merged
Conversation
Clears all 13 open Dependabot alerts on the default branch: 7 critical, 2 high and 4 moderate, every one of them golang.org/x/crypto and every one fixed in 0.52.0. golang.org/x/text comes along as a transitive requirement of the new version. Nothing else in go.mod moves. x/crypto is an indirect dependency and `go mod why` reports that the main module does not import it, so exposure was limited, but the alerts are real and the bump is free. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHJQ1QSdKmJMivqw7SER6t
The pinned 1.24.9 toolchain carries standard-library vulnerabilities that govulncheck flags as reachable from this code, including crypto/x509, crypto/tls, net/http and net/textproto. release.yml builds the published binaries, so the pin decides what ships to users. Verified against both toolchains on the same tree: go1.26.1 10 vulnerabilities (1 module + standard library) go1.26.5 1 vulnerability (1 module, no standard library) The remaining one is GO-2026-5932, the unmaintained x/crypto/openpgp package reached transitively through go-github. It is marked "Fixed in: N/A" and no version bump resolves it. Note the pin was already misleading: go.mod declares `go 1.25.0`, above the pinned 1.24.9, so Go was auto-downloading a newer toolchain anyway. test-homebrew-build.yml already derives its version from go.mod and is left alone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HHJQ1QSdKmJMivqw7SER6t
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Go module dependencies and CI Go toolchain pins to reduce/clear reported vulnerabilities in the Hookdeck CLI build and release pipelines (notably release.yml, which produces the distributed binaries).
Changes:
- Bump indirect deps
golang.org/x/cryptotov0.52.0(and resultinggo.sumupdates, including transitive module versions). - Update GitHub Actions workflows to build/test with Go
1.26.5instead of1.24.9. - Refresh
go.sumentries for updated module resolution (e.g.,x/net,x/tools) as part of the dependency bump.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Updates indirect module versions (x/crypto, x/text) to patched releases. |
| go.sum | Updates checksum entries to match the new dependency graph after the bump. |
| .github/workflows/test.yml | Pins all test/build jobs to Go 1.26.5. |
| .github/workflows/test-npm-build.yml | Pins the npm build verification workflow to Go 1.26.5. |
| .github/workflows/release.yml | Pins release build workflows to Go 1.26.5 (affects shipped binaries). |
| .github/workflows/acceptance.yml | Pins acceptance workflows to Go 1.26.5 (but still uses actions/setup-go@v3). |
Suppressed comments (1)
.github/workflows/acceptance.yml:58
- Same as the main acceptance matrix job: this job is still on
actions/setup-go@v3while other workflows are onactions/setup-go@v5(see.github/workflows/test.yml). With the Go version bump to 1.26.5, it’s better to keep the action version consistent across workflows.
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: "1.26.5"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
33
to
+36
| - name: Set up Go | ||
| uses: actions/setup-go@v3 | ||
| with: | ||
| go-version: "1.24.9" | ||
| go-version: "1.26.5" |
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.
Two changes that together clear every fixable vulnerability the CLI currently reports, ahead of the v2.4.0 release. Both matter because
release.ymlbuilds the binaries users install.1.
golang.org/x/crypto→ v0.52.0Clears all 13 open Dependabot alerts on the default branch. Every one is
x/crypto, and every one is fixed in 0.52.0.Two lines in
go.mod;x/textfollows as a transitive requirement.go mod tidyis a no-op afterwards.Exposure was limited —
x/cryptois indirect andgo mod whyreports(main module does not need package golang.org/x/crypto); it comes viago-github,x/modandx/net. The bump is free regardless.2. CI toolchain 1.24.9 → 1.26.5
The pinned toolchain carried standard-library vulnerabilities that
govulncheckfinds reachable from this code —crypto/x509,crypto/tls,net/http,net/textproto. Sincerelease.ymlbuilds the published binaries, the pin decides what ships.Verified on the same tree under both toolchains:
12 pins across
acceptance.yml,release.yml,test.ymlandtest-npm-build.yml.test-homebrew-build.ymlalready derives its version fromgo.modand is untouched.Worth noting the old pin was already misleading:
go.moddeclaresgo 1.25.0, above the pinned 1.24.9, so Go was auto-downloading a newer toolchain anyway.What still isn't fixed
GO-2026-5932—x/crypto/openpgpis unmaintained, "Fixed in: N/A", reached transitively viago-githubthrough packageinit()(pkg/version/version.go→github.init→openpgp.init). No bump resolves it; it needsgo-githubto drop the dependency or that import removed. Not a Dependabot alert, so out of scope — worth its own issue.Test plan
go build ./...andgo test ./...clean on both go1.26.1 and go1.26.5 — 14 packagesgo mod tidyis a no-op after the bumpgovulncheckunder go1.26.5: 10 findings → 1, no standard-library findings left🤖 Generated with Claude Code
https://claude.ai/code/session_01HHJQ1QSdKmJMivqw7SER6t