Description
Background
Repo github.com/marmotedu/gopractise-demo
depends on github.com/marmotedu/[email protected]
.
https://github.com/marmotedu/gopractise-demo/blob/master/go.mod#L16
However, comparing version v1.6.2
of github.com/marmotedu/iam
from proxy.golang.org and github, there are inconsistencies.
"committer": {
"name": "Lingfei Kong",
"email": "[email protected]",
"date": "2022-07-18T14:49:56Z"
}
{"Version":"v1.6.2","Time":"2021-12-21T15:47:41Z"}
So the checksum from the code in github does not match the checksum saved in sum.golang.org. The v1.6.2
tag of github.com/marmotedu/iam
might have been retagged after a minor edition on github. I guess you use proxy.golang.org to get dependencies, but that also shows that your project is depending on the copy of github.com/marmotedu/[email protected]
before its edition. Depending upon such inconsistent tag version may also result in some unexpected errors as well as build errors due to different proxy settings.
For example, when someone who does not use proxy.golang.org, say GOPROXY=direct
, attempts to get github.com/marmotedu/[email protected]
, the following errors occur.
go: downloading github.com/marmotedu/iam v1.6.2
go: github.com/marmotedu/iam@v1.6.2: verifying module: checksum mismatch
downloaded: h1:m8ZrTf9O+XqStg5oUdUwB8hEhIVwexilVp6T/LpCgUY=
sum.golang.org: h1:MejFxvhRqa9kZMo7+XuW2qNUo2AsA8Mbq4s6v86Z3Uw=
SECURITY ERROR
This download does NOT match the one reported by the checksum server.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.
For more information, see 'go help module-auth'.
So, this is a reminder in the hope that you can get rid of this unreliable version of project github.com/marmotedu/iam
.
Solution
1. Change the version of dependency github.com/marmotedu/iam
I would recommend changing the version of github.com/marmotedu/iam
to another sync release to ensure dependency copy in proxy.golang.org and github in sync.