The public module ecosystem is backed by a transparency log
https://go.dev/ref/mod#checksum-database
This doesn't allow you to reuse (change the definition of) any
published module + tag combination observed by the proxy
infrastructure.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/15c2db5e-1817-4163-bedf-272cefa7d623n%40googlegroups.com.
On Friday, December 27, 2024 at 6:41:08 PM UTC-6 Sean Liao wrote:The public module ecosystem is backed by a transparency log
https://go.dev/ref/mod#checksum-database
This doesn't allow you to reuse (change the definition of) any
published module + tag combination observed by the proxy
infrastructure.
It does not exist, and is not possible due to the guarantees the module ecosystem wishes to provide. Any removal request you file only hides the generated documentation.
The zips (of your code) cached by the proxy can be removed.
The checksums held by the subdb cannot. The design for this is similar
to https://en.wikipedia.org/wiki/Certificate_Transparency not
blockchains which can hold arbitrary data.
Allowing you to change the contents of a given module+version is a non
goal as that opens the ecosystem up to supply chain attacks.
> We need "go-delete". Security is not important to us. There should be a balance between people that need security and people that don't need it.Security might not be important to you, but it is important for the clients of your code
Remember left-pad.
A per-domain go-delete would not be any better than a global go-delete.
If the package has been downloaded by the Go proxy but not a go tool, then request that the package be removed from the proxy.
How about a flag for 'go list' making the transaction log on sum.golang.org optional?
Or, how about just let users run their own:
sum.wit.com # my own immutable transaction log.
I don't see how this helps with your initial request to delete
modules from the proxy.
Ah, poor scripting languages. Since we are a compiler, it's not a fair fight is it?
The left-pad incident has absolutely nothing to do with how code
is executed. Gophers can delete their repositories just like
NodeJS devs can.
Asking to be able to delete errors and mistakes and start over is reasonable.
It is, and a solution exists: retract all versions of the module
and start over. Inform the users of your module to switch over to
the new namespace. (Give them time.)
If you actually want to hide errors and mistakes,
retracting obviously doesn't help with this. Everyone makes
mistakes (I do!), so why not leave them where they are and simply
mark them as such.
We can 'git clone' anything into the namespace at compile time
Not if the repo owner has deleted it. Of course, you can vendor
all direct and indirect dependencies into your repo, if you don't
mind the added work and disk space consumption. But it's not an
ideal solution.
some magic super ultra security system that trumps PGP signed git repositories.
It is, and it doesn't trump PGP signing but complement it.
The Go proxy and its transparency log solve a completely different
problem than commit signing. A signed repo can still be rug-pulled
under your feet.
https://go.dev/desidesign/25530-sumdbgn/25530-sumdb.
Yes, a consequence of a secure module proxy is that module names can't
be reused. Fortunately, the set of module names is unbounded, and the
only part that matters much for Go programs is the final path element.
On Jan 4, 2025, at 11:53 AM, Christoph Berger <christoph...@gmail.com> wrote:> We need "go-delete". Security is not important to us. There should be a balance between people that need security and people that don't need it.Security might not be important to you, but it is important for the clients of your code—for the users that won't expect that a module provider removes their repo or specific versions of a module, thus breaking all downstream projects.
git tag was strategically altered on GitHub to remove traces of malware, hiding it from manual code review.""As of this publication, the malicious package remains available on the Go Module Proxy. We have petitioned its removal from the module mirror and have also reported the threat actor’s GitHub repository and account, which were used to distribute the backdoored boltdb-go package."
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/39A1062E-BF01-4B2A-80D9-3A4CD6139390%40gmail.com.
On Feb 6, 2025, at 12:56 PM, 'Sean Liao' via golang-nuts <golan...@googlegroups.com> wrote:
To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/CAGabyPrKq%3DDSJGAsHpXOZ2d3NpQSQNzZ04amNeHY9m9fGeF0Eg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/C456F8A3-0E92-456B-9581-74DDBD19DC25%40newclarity.net.