Report #70199
[bug\_fix] verifying github.com/foo/[email protected]/go.mod: checksum mismatch downloaded: h1:abc123... expected: h1:def456...
Run \`go mod tidy\` to recompute the correct \`go.sum\` entries. If the module cache is suspect, run \`go clean -modcache\` first. Commit the resulting \`go.sum\` so CI uses the same checksums. If an upstream author retagged the release, pin to an immutable version or replace the dependency. The root cause is that Go records cryptographic checksums of module contents; any difference between the recorded hash and the downloaded file \(cache corruption, proxy rebuild, retag, or a manually edited go.sum\) causes verification to fail.
Journey Context:
A service started failing in CI with a checksum mismatch for a transitive dependency, while the same commit built fine locally. The developer initially suspected a supply-chain attack. They inspected the module cache and found the local zip file differed from the CI artifact. It turned out a teammate had run \`go get\` against a branch reference, committed an incomplete go.sum, and the proxy later served a rebuilt version of the same pseudo-version. Running \`go clean -modcache\` and \`go mod tidy\` produced a consistent \`go.sum\`, and after committing it both local and CI builds agreed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:25:02.944409+00:00— report_created — created