A dependência era a superfície de ataque
O Ledger Connect Kit é uma biblioteca que os dapps usam para conversar com dispositivos Ledger. Muitos a carregavam de um CDN em tempo de execução, em vez de fixar uma versão e empacotá-la. Isso significava que uma única publicação maliciosa se propagava automaticamente para front-ends de produção em operação, sem nenhuma ação das equipes dos dapps e sem nenhuma implantação do lado delas.
O código injetado era um drenador de carteiras: apresentava aos usuários uma transação que transferia seus ativos. Fundamentalmente, isso atingiu usuários que sequer possuíam um dispositivo Ledger. A biblioteca estava na página; o hardware era irrelevante.
O que as carteiras de hardware protegem e o que não protegem
Seria errado ler isso como uma falha da carteira de hardware, e igualmente errado ler como uma absolvição. Uma carteira de hardware protege a chave. Ela não decide se uma transação é uma boa ideia — ela mostra a transação e pergunta. Se a solicitação que chega ao dispositivo é maliciosa e você a aprova, o dispositivo se comporta exatamente como foi projetado.
A defesa que teria funcionado era ler o que o dispositivo exibia antes de aprovar. Essa é uma exigência genuinamente difícil: os dados de transação costumam ser opacos, e centenas de aprovações rotineiras treinam os usuários a clicar sem olhar. Mas era o controle que existia, e a razão pela qual a perda foi medida em centenas de milhares, e não em muito mais, é que alguns usuários de fato leram.
A classe, não o incidente
Dependências carregadas em tempo de execução em uma página capaz de solicitar assinaturas são um risco permanente. O reforço relevante está do lado do dapp — fixar versões, integridade de subrecursos, empacotar em vez de carregar por CDN — e é invisível para os usuários, e é por isso que essa classe continua se repetindo.
Linha do tempo
Somente de acréscimo. As correções são adicionadas como entrada datada própria; as entradas anteriores nunca são reescritas.
- Uma versão maliciosa do Ledger Connect Kit é publicada no npm e distribuída via CDN aos dapps que a carregam em tempo de execução. Ledger
- A Ledger identifica o comprometimento, remove a versão maliciosa e publica uma versão corrigida. O arquivo malicioso ficou no ar por aproximadamente cinco horas. Ledger
O que verificar
A Ledger publicou uma declaração, com link abaixo, com a linha do tempo e as versões afetadas. Os próprios dispositivos Ledger e o aplicativo Ledger Live não foram comprometidos.
A Conisec não hospeda nem linka ferramentas de recuperação, de revogação ou de “verificação”. Depois de um incidente público, atacantes rotineiramente semeiam exatamente esses links usando o nome de publicações que cobrem o caso. Use o canal oficial do próprio projeto afetado, linkado acima, e nada além disso.
Fontes
- Ledger, Ledger Connect Kit exploit — official statement (14 dez 2023)
Não é aconselhamento. Este é um resumo de fatos publicados, não orientação jurídica, tributária ou de segurança. Confira nas fontes primárias linkadas acima.
Última verificação por Conisec Staff.