npm Trusted Publishing ha esposto oltre 1.500 package a takeover perché la fiducia seguiva lo slug GitHub, non l’ID permanente del repository. Bloom Security ha verificato l’attacco end to end su un package esistente, e GitHub dice di aver già distribuito una correzione.
Il difetto era semplice: se un repository veniva rinominato, trasferito o cancellato, il vecchio nome poteva essere reclamato da un altro account. npm continuava però a trattare quel nome come prova del publisher fidato, così un nuovo proprietario di quello slug poteva pubblicare versioni che sembravano legittime senza rubare credenziali. Il rilascio così ottenuto portava anche una provenance attestation valida.
Per chi usa Trusted Publishing, il punto non è solo proteggere token o account. Se il vincolo di fiducia si appoggia a nomi che possono essere riusati, la supply chain resta esposta anche dopo una modifica di nome o la chiusura di un repository, e la fiducia va ricontrollata e riagganciata dove serve.
Over 1,500 npm packages exposed by Trusted Publishing validation flaw
A weakness in npm's trust model could let attackers publish updates to legitimate packages by claiming abandoned GitHub repository names, researchers found.