Rust Security Response Teamの迅速な対応により、不正なコードを含んだ各バージョンの公開時間は短時間に抑えられた。crates.ioから削除された不正なクレートとバージョンの詳細は以下の通り。
同チームは悪意あるバージョンの削除と並行して、攻撃者によって不正にヤンクされていた正常な過去バージョンのヤンク状態を解除し、正規の開発者が意図した安全なバージョンを再び利用できるように復旧させた。
不正なクレートは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環境におけるネットワーク制限、不要なビルドスクリプト実行の監視など、多層的な防御策を講じることが不可欠だ。
週7000万DLのライブラリが「トロイの木馬」に 開発者なのに気付けない4つの理由
「開発者はおいしい脆弱性になった」 AIコーディング、採用、OSS、CI/CD“4つの包囲網”と生存戦略
「ソフトウェア産業は『未曾有の危機』に突入」 GMO Flatt Security米内氏に聞く“axios侵害”の教訓
「普及しない不安」がRust最大の懸念事項に 「State of Rust 2025」Copyright © ITmedia, Inc. All Rights Reserved.