検索
ニュース

Rustでもソフトウェアサプライチェーン攻撃 「arrayref」など人気クレートで侵害Rust Security Response Teamが注意を喚起(1/2 ページ)

Rust Security Response Teamは、「arrayref」などの人気クレートが悪意あるコードを参照するよう改ざんされたと発表した。該当バージョンはすでに削除済みで、開発者にローカル環境の確認を呼びかけている。

Share
Tweet
LINE
Hatena

 オープンソースのプログラミング言語「Rust」のセキュリティ対応組織であるRust Security Response Teamは2026年8月20日(米国時間、以下同)、公式パッケージレジストリ「crates.io」において、広く利用されている人気クレート「arrayref」を含む複数のパッケージが不正に改ざんされ、悪意あるコードが混入するソフトウェアサプライチェーン攻撃が発生したと発表した。

 攻撃者はクレート開発者の認証情報を侵害したとみられ、「arrayref」などの正常な既存バージョンを非推奨化した上で、悪意あるペイロードをダウンロードするビルドスクリプトを含んだ不正クレートへ依存する新バージョンを公開していた。

 Rust Security Response Teamは報告を受けて直ちに該当クレートを削除し、不正バージョンの無効化およびアカウントの凍結措置を実施した。影響を受けた不正バージョンが公開されていた時間は86分から107分程度にとどまるが、同チームは開発者でローカル環境のキャッシュを確認し、不正なクレートが取り込まれていないかどうか検証するよう強く推奨している。

悪意あるクレート「proc-macro1」の検知と攻撃の流れ

 インシデントの発端となったのは、2026年8月20日7時15分に寄せられた「proc-macro1」というクレートに関する通報だった。ドイツのセキュリティベンダーであるNextron Systemsの研究チームが同クレートの不審な挙動を発見し、Rust Security Response Teamへ報告した。

 同チームが検証を進めたところ、「proc-macro1」にはビルド時に実行されるスクリプト(build.rs)が含まれており、外部から悪意あるペイロードを自動的にダウンロードして実行する仕掛けが施されていることが確認された。

 Rustのビルドシステムおよびパッケージマネジャーである「Cargo」では、クレートのビルドプロセス中に任意の処理を実行できるビルドスクリプト機能が提供されているが、攻撃者はこの仕様を悪用して開発環境やCI/CD(継続的インテグレーション/継続的デリバリー)環境で不正なコードを実行させようとしていた。

 調査の過程で、「proc-macro1」と同様の手口を用いる複数の不正クレートも確認された。確認されたクレートは次の通り。

  • 「proc-macro1」
  • 「proc-macro-en」
  • 「aovine」
  • 「arone」
  • 「aronenao」
  • 「tinymember」

 これらはいずれも正規のクレート名に似せたタイポスクワッティングや、一見して無害なユーティリティーを装った名称が付けられており、Rust Security Response Teamによって即座にcrates.ioから完全に削除された。

 さらに調査を進めた結果、攻撃者の狙いは不正クレートの公開にとどまらず、すでに広く流通している著名なクレートを乗っ取るソフトウェアサプライチェーン攻撃であったことが判明した。標的となったのは、配列の参照操作などで多くのRustプロジェクトに採用されている「arrayref」クレートだ。

 攻撃者は「arrayref」の新しいバージョンを勝手に公開し、その依存関係として前述の悪意あるクレート「proc-macro1」を指定していた。さらに極めて巧妙な手口として、直近の正常な「arrayref」のバージョンをレジストリ上で「ヤンク(yank)」する操作を行っていた。

 crates.ioにおけるヤンクとは、深刻なバグや不具合が見つかったバージョンを「新規プロジェクトで誤って採用されないようにする」ための機能だ。ヤンクされたバージョンは、既存の「Cargo.lock」ファイルでバージョンが厳密に固定されていない限り、新規のビルドや依存関係解決の対象から除外される。

 攻撃者はこの仕様を悪用し、正規のバージョンをヤンクすることで、下流の開発者や自動ビルド環境が依存関係を更新した際に、悪意ある新バージョンを強制的に引き込ませようと試みた。

 同様の被害は、同じ作者が公開していた他のクレートにも及んでいた。影響が確認されたのは以下の3クレートだ。

  • 「arrayref」
  • 「internment」
  • 「append-only-vec」

 Rust Security Response Teamは、これらのクレートの作者自身が悪意を持って行動したのではなく、作者のPCやcrates.ioの認証情報(APIトークンなど)が何者かによって侵害された可能性が極めて高いと分析している。同チームは予防措置として該当作者のアカウントを一時的に凍結し、本人への連絡と状況の確認を進めている。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る