検索
ニュース

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

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

Share
Tweet
LINE
Hatena
前のページへ |       

公開から削除までのタイムラインと影響範囲

 Rust Security Response Teamの迅速な対応により、不正なコードを含んだ各バージョンの公開時間は短時間に抑えられた。crates.ioから削除された不正なクレートとバージョンの詳細は以下の通り。

  • 「arrayref@0.3.10」
    • 公開日時:2026年8月20日07時15分00秒
    • 削除日時:2026年8月20日08時41分40秒
    • 公開時間:86分間
  • 「internment@0.8.7」
    • 公開日時:2026年8月20日07時34分07秒
    • 削除日時:2026年8月20日09時04分11秒
    • 公開時間:90分間
  • 「append-only-vec@0.1.9」
    • 公開日時:2026年8月20日07時37分49秒
    • 削除日時:2026年8月20日09時25分24秒
    • 公開時間:107分間
  • 「proc-macro1」「proc-macro-en」「aovine」「arone」「aronenao」「tinymember」
    • 全バージョンが削除済み

 同チームは悪意あるバージョンの削除と並行して、攻撃者によって不正にヤンクされていた正常な過去バージョンのヤンク状態を解除し、正規の開発者が意図した安全なバージョンを再び利用できるように復旧させた。

開発者が直ちに行うべきローカル環境の確認と対策手順

 不正なクレートはcrates.ioからすでに削除されているものの、該当する時間帯に「cargo update」や新規プロジェクトのビルドを実行した場合、ローカルの開発環境やビルドサーバのキャッシュに悪意あるクレートが保存されている可能性がある。

 Rust Security Response Teamは、Rust開発者に対し、ローカルのCargoキャッシュディレクトリ(~/.cargo/registry/cache)を調査し、問題のクレートが取得されていないかどうか確認することを推奨している。UNIX系環境(「Linux」や「macOS」)では、以下のコマンドを実行することで該当クレートの有無を素早く検出できる。

find ~/.cargo/registry/cache -type f \( -name 'append-only-vec-0.1.9.crate' -o -name 'arrayref-0.3.10.crate' -o -name 'internment-0.8.7.crate' -o -name 'proc-macro1-*.crate' -o -name 'proc-macro-en-*.crate' -o -name 'aovine-*.crate' -o -name 'arone-*.crate' -o -name 'aronenao-*.crate' -o -name 'tinymember-*.crate' \) -print
悪意あるクレートがローカルキャッシュに存在するかどうか確認するコマンド

 もし上記のコマンドを実行して該当するファイルが見つかった場合、そのマシン上で悪意あるビルドスクリプトが実行され、外部からペイロードがダウンロードされた可能性がある。

 その際は、直ちに当該クレートを削除するとともに、ネットワーク通信履歴の監査、環境変数やシークレット情報の漏えい調査、クレデンシャルのローテーションなど、インシデント対応手順に沿った厳格な確認が求められる。

 オープンソースのエコシステムを標的としたソフトウェアサプライチェーン攻撃は年々巧妙化しており、メンテナーのアカウント乗っ取りやビルドスクリプトの悪用は深刻な脅威となっている。開発現場においては、Cargo.lockを用いた依存関係の厳格な固定、CI/CD環境におけるネットワーク制限、不要なビルドスクリプト実行の監視など、多層的な防御策を講じることが不可欠だ。

Copyright © ITmedia, Inc. All Rights Reserved.

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