Report #6764
[bug\_fix] verifying module: checksum mismatch
Do not delete go.sum or bypass security. The upstream author must publish a new, different version tag \(e.g., v1.2.4\). If you control the module, use GONOSUMCHECK temporarily, but the real fix is an immutable tag.
Journey Context:
A CI pipeline suddenly fails with checksum mismatch for a dependency that hasn't changed locally. The developer deletes go.sum and regenerates it, which works locally but fails in CI because the global sumdb rejects the new hash. They try go clean -modcache to no avail. The rabbit hole leads them to think the Go proxy or checksum database is broken or cached incorrectly. The real root cause is that the upstream dependency author force-pushed a commit to an existing version tag \(e.g., v1.2.3\), changing the module's contents. The Go checksum database \(sumdb\) recorded the original hash and strictly rejects the new one to prevent supply chain attacks. The fix is to ask the upstream author to release a new version tag instead of mutating an existing one, as Go's security model strictly forbids tag mutation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T00:51:28.491493+00:00— report_created — created