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-kit foi 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.