logo

ハードウェアウォレットだからって安全ではない

〜詐欺師のメタ思考〜
profile photo
TaniguchiAkira
(この記事は2023年12月15日時点の情報をもとに記述しています。)

今回のまとめ

  • Ledgerのライブラリ(以下Ledger Connect Kit)のリリース権限がハックされ、悪意のあるコードが仕込まれたライブラリが公開された
  • それを参照しているDappsにLedgerを接続し署名処理を行うと、犯人のアドレスに資産が流出

なんでそうなったの?

Ledgerの元従業員が、ライブラリをリリースするプロダクトであるnpmのアカウントをハックされたから。
話は変わるが、人材の流動性が高い故か、属人的な管理が多いからか、「元従業員の置き土産」がこの業界には多すぎる。

現在はどうなの?

最新のLedger Connect Kit(ver1.1.8)は悪意のあるコードが取り除かれたものなので、それを利用していればOK。
悪意のあるコードが仕込まれていたバージョンである1.1.5から1.1.7までは現在npmから削除されている。コマンドでインストールされることはないと思われる。
悪意のあるコードが仕込まれていたバージョンである1.1.5から1.1.7までは現在npmから削除されている。コマンドでインストールされることはないと思われる。

ユーザが行うべき対策は?

今回問題になったプロダクトは何かしらのCDNを利用しており、自動で悪意のあるライブラリを利用してしまう状況にあったため、公式は問題が解決されたライブラリを公開(CET2023年12月14日午後4時49分、日本時間2023年12月15日午前3時49分)してから、さらに24時間待てば同じように元に戻るといっている
  • が、2,3日は様子を見た方がいいと思われ。常識的に考えて。
    • 私は一週間触りません。
24時間経ってもブラウザのキャッシュが残っている可能性があるので、Dappsを利用する場合は、F5連打すべき

再発防止策は?

1.やめた従業員のアカウントは全て削除しましょう
→Discord、Slack、npm、GitHub、Google、その他諸々。
2.バージョンの固定化
  • CDNを利用するときにlatestを参照しないようにしよう
    • そもそもCDNを使わず、package.jsonなどで指定し、ビルドする時点で固定化しておこう
      • package.jsonでもライブラリのバージョンを固定化しておこう。
        • ^を極力使わない。

参考リンク

Related posts
post image
〜最もフィジカルで最もプリミティブで最もフェティッシュなカンガルー〜
post image
〜お前のものも、俺のもの〜
post image
Solidity
OpenZeppelin
AA
OpenZeppelin 5.2.0が出るよ
Powered by Notaku