ブログ一覧に戻る
ベストプラクティス2026年8月20日4分で読めます

人気Rustクレート「arrayref」「append-only-vec」がサプライチェーン攻撃で侵害される

Two popular Rust crates arrayref and append-only-vec compromised in Supply Chain Attack

ベストプラクティス

この記事のポイント

【なぜ重要か】 累計2億4,800万件以上ダウンロードされている2つの人気Rustクレートが悪意のある依存関係を介して侵害された。ビルド時に自動実行される仕組みを悪用しているため、該当クレートを含むプロジェクトをコンパイルするだけでマルウェアが実行され、開発者のマシンが感染する。Rustエコシステムにおけるダウンロード数ベースで過去最大規模の侵害事例である。...

【なぜ重要か】 累計2億4,800万件以上ダウンロードされている2つの人気Rustクレートが悪意のある依存関係を介して侵害された。ビルド時に自動実行される仕組みを悪用しているため、該当クレートを含むプロジェクトをコンパイルするだけでマルウェアが実行され、開発者のマシンが感染する。Rustエコシステムにおけるダウンロード数ベースで過去最大規模の侵害事例である。

【ポイント】

  • 侵害の手口: 攻撃者は「proc-macro1」という悪意のあるパッケージ(広く使われる「proc-macro2」のタイポスクワット)を作成し、正規クレート「append-only-vec」(v0.1.9)と「arrayref」(v0.3.10)のマニフェストに1行追加する形で依存関係を注入した。悪意のあるロジックはproc-macro1のbuild.rsに存在し、Cargoがビルド時に自動的にコンパイル・実行する。
  • ペイロードの動作: build.rsはBase64でエンコードされたURLからOS・アーキテクチャ(Linux x86_64、Windows x86_64、macOS x86_64/aarch64)に合わせたペイロードをHTTPS経由でダウンロードし実行する。Windowsではビルド終了後もプロセスが継続するよう、wscriptと.vbsランチャーを用いてCargo管理外でプロセスを起動する。
  • マルウェアの機能: ペイロードはRust製のインフォスティーラーで、Chromiumベースブラウザ(Chrome、Brave、Edge)の保存済み認証情報をSQLで直接取得し、ブラウザ拡張機能のストレージ(暗号資産ウォレットを含む)も収集対象とする。macOSではLaunchAgentを用いた永続化機能も実装されている。
  • C2通信: マルウェアはC2サーバー(23[.]254[.]165[.]112:443)へ感染マシンの情報(OS種別・バージョン・アーキテクチャ等)を送信して登録チェックインを行い、minicfg・startup・runscript・Shell・ShellXなどのコマンドを受け付けるリモートコマンド実行機能を持つ。C2アドレスはバイナリにハードコードされておらず起動引数から読み取るため、同一バイナリを異なるC2で再利用できる設計になっている。
  • 侵害済みバージョンと検出方法: 影響を受けるバージョンはappend-only-vec 0.1.9およびarrayref 0.3.10。Aikidoユーザーはセントラルフィードで「malware」フィルターを適用すると深刻度100/100のクリティカル問題として検出できる。

【まとめ】 ビルドするだけで感染が成立するRustサプライチェーン攻撃として過去最大規模の事例。該当クレートを利用しているプロジェクトは直ちに依存関係を確認し、侵害されたバージョン(append-only-vec 0.1.9・arrayref 0.3.10)を使用していた場合は開発者マシンのフォレンジック調査とC2通信の有無(23[.]254[.]165[.]112)を確認することを強く推奨する。

原文を読む

Aikido Security Blog

英語で詳細な技術情報を確認

原文を読む

コメント・質問

この記事についてのコメントや質問を投稿できます

コメントを投稿するにはログインが必要です

ログインする

読み込み中...