Valid certificates, stolen accounts: how attackers broke npm's last trust signal