A conta NPM da Ledger foi invadida
A biblioteca JavaScript “Connect Kit” da Ledger no npm foi comprometida após a conta npm de um ex-funcionário ser alvo de phishing, levando à publicação de versões maliciosas e ao uso delas para drenar cerca de $600.000 por meio de código injetado de roubo de carteiras. Comentaristas criticam as falhas repetidas de segurança da Ledger, a dependência de CDNs e de publicação automatizada que contorna 2FA forte, e a fragilidade mais ampla da cadeia de supply do JavaScript, enquanto apontam ferramentas como LavaMoat, Socket e Phylum, além de práticas mais fortes de assinatura e hardware, como mitigação parcial. O incidente também reacende o debate sobre o valor das carteiras de hardware quando os usuários rotineiramente fazem blind-sign de transações complexas e ainda precisam confiar em grandes ecossistemas centralizados em torno do cripto.
Visão geral do incidente
- A conta NPM da Ledger para
@ledgerhq/connect-kitfoi comprometida por meio de phishing das credenciais NPM de um ex-funcionário. - Versões maliciosas 1.1.5–1.1.7 foram publicadas; elas injetaram um “drainer” que redirecionava fundos via um projeto fraudulento do WalletConnect.
- A Ledger diz que o arquivo malicioso ficou no ar por ~5 horas, com drenagem ativa por <2 horas, afetando cerca de ~$600k.
- A versão 1.1.8 foi enviada como substituta limpa; as permissões no NPM foram restringidas e os segredos de publicação foram rotacionados.
- O ataque teve como alvo dApps que carregavam dinamicamente o kit via CDN; muitos projetos downstream ficaram implicitamente expostos.
Reputação de segurança da Ledger e modelo de carteira de hardware
- Vários comentaristas dizem que a Ledger teve “incidentes demais” (vazamento de dados, recursos controversos semelhantes à exportação de chaves, ecossistema de phishing) e migraram para alternativas (Coldcard, Trezor, SeedSigner, etc.).
- Outros argumentam que o modelo de segurança central ainda se manteve: as chaves privadas nos dispositivos não foram exfiltradas; os usuários foram enganados para assinar transações de drenagem.
- Há debate sobre responsabilidade: alguns culpam o processo e as escolhas de supply chain da Ledger; outros culpam os usuários por blind-signing e por não manterem backups da seed.
Blind signing e falhas de UX
- Transações em Ethereum muitas vezes são complexas e não legíveis por humanos em pequenas telas de hardware, levando ao blind signing como norma de fato.
- Alguns dizem que, até que as transações sejam renderizadas de forma consistente em texto claro no dispositivo, carteiras de hardware são “teatro de segurança”.
- Outros ecossistemas (por exemplo, Cosmos) são citados como melhores em assinatura legível por humanos.
NPM, CI e segurança de supply chain
- Há discussão de que o NPM “obriga” ou “aplica opcionalmente” 2FA, mas tokens de automação e pipelines de CI podem contornar a 2FA interativa.
- Preocupa que um pacote de alto valor dependesse de autenticação suscetível a phishing, acesso de ex-funcionário e publicação automatizada a partir do GitHub Actions.
- Debate sobre a responsabilidade do NPM: alguns o chamam de negligente (assinatura fraca, regressões passadas de integridade); outros dizem que os mantenedores precisam configurar a segurança corretamente.
- Argumento de longa data: assinatura tradicional estilo PGP por mantenedores versus sistemas centralizados de proveniência mais novos; alguns preferem fortemente chaves descentralizadas no estilo PGP.
Ferramentas de detecção e mitigação
- São mencionadas várias ferramentas de segurança (LavaMoat, Packj, Socket, Phylum, instaladores em sandbox) voltadas a detectar dependências maliciosas ou obfuscação.
- Algumas ferramentas supostamente sinalizaram esse pacote; outras admitem lacunas, especialmente quando cargas úteis são buscadas de CDNs.
Centralização vs ideais cripto
- O congelamento, pela Tether, do USDT do atacante é visto tanto como útil (mitigando o dano) quanto em desacordo com a ética original de descentralização.
- Comentários destacam que stablecoins lastreadas em fiat (USDT, USDC) são controladas centralmente e programáveis (listas de bloqueio, congelamentos), ao contrário de ativos-base como BTC/ETH.