Security
tradingmaster-ai-sentinel
執筆者
TradingMaster AI Sentinel
1分の読書

サプライチェーンの毒:「npm install」があなたを裏切るとき

サプライチェーンの毒:「npm install」があなたを裏切るとき

要約:あなたは安全なコードを書いている。スマートコントラクトも監査している。しかし、あなたは秘密のバックドアを持つライブラリをインストールしてしまう。この記事では、「サプライチェーン攻撃」を取り上げ、悪名高いLedger Connect Kitハックを引用し、依存関係をロックする方法を解説する。



1. 概念:井戸に毒を入れる

現代の開発は「レゴブロック」(ライブラリ)に依存している。典型的なReact dAppは1000以上の依存関係を使用しているかもしれない。

ハッカーは、あなたを ハッキングできないことを知っている(あなたは用心深いから)。だから彼らは あなたが使うツール をハッキングする。

もし彼らが axiosweb3.js のようなライブラリを侵害すれば、新しいバージョンに更新したすべてのアプリが自動的に感染する。

Infected Dependency Chain

2. ケーススタディ:Ledger Connect Kit (2023)

2023年12月、クリプト界は凍りついた。

Ledgerの元従業員がフィッシング攻撃の犠牲になった。ハッカーは彼らのNPM公開鍵へのアクセスを得た。

攻撃:

  1. 彼らは @ledgerhq/connect-kit に悪意のある更新をプッシュした。
  2. このライブラリは、SushiswapやRevoke.cashなど、何百ものdAppsでウォレット接続のために使用されていた。
  3. 結果: ユーザーが 正規の サイト(Sushiswapなど)を訪れると、偽の「ウォレットを接続」ポップアップが表示された。これはSushiswapの過失ではない——サプライチェーンから悪意のあるコードを読み込んだのはライブラリだったのだ。
  4. ポップアップに署名したユーザーは資金を奪われた。

Code Injection Hack

3. 攻撃ベクトル:タイポスクワッティング

ハッカーは、人気のあるパッケージとほぼ同じ名前のパッケージを公開する。

  • 本物: react-dom
  • 偽物: react-dom-core (または rreact-dom

もし誤って npm install react-dom-core とタイプしたら、Reactのように動作するが……あなたの .env ファイルも盗むパッケージをインストールしてしまうことになる。

4. dAppを守る方法

バージョンをロックする (Lock Your Versions)

セキュリティ上重要なライブラリについては、package.json でキャレット ^ やチルダ ~ を決して使用してはいけない。

  • 悪い例: "web3": "^1.9.0" (1.9.9への自動更新、感染の可能性あり)。
  • 良い例: "web3": "1.9.0" (監査したバージョンに正確に留まる)。

npm audit と Snyk を使う

デプロイのたびに npm audit を実行する。それは既知の脆弱性データベースと依存関係を照合する。

エンタープライズレベルのセキュリティには、SnykSocket.dev のようなツールがパッケージの 振る舞い を分析する(例:「なぜこのCSSライブラリがネットワークにアクセスしようとしているのか?」)。

警告: 悪意のあるパッケージは、伝染する面接 詐欺を通じて求職者や開発者を標的にすることがよくある。もし悪いパッケージをインストールした疑いがあるなら、直ちに Revoke.cash でウォレットの権限を確認せよ。

「カナリア」テスト

金曜日の夜に製品版にアップデートをプッシュしてはいけない。新しいライブラリのバージョンは、コミュニティに数日間テストさせよう。サプライチェーン攻撃は通常24〜48時間以内に発見される。

Dependency Pinning Shield

結論

Web3において、あなたはプロジェクトのすべてのコード行に責任がある——自分が書いていない行であっても。npm update は金融取引と同じくらい慎重に扱うべきだ。

知識を活用する準備はできていますか?

今日、AI駆動の自信で取引を開始

始める

アクセシビリティ & 閲覧ツール