
悪意あるarrayref、internment、append-only-vecがcrates.ioに公開
UTC8月20日早朝、悪意あるビルドの「arrayref 0.3.10」「internment 0.8.7」「append-only-vec 0.1.9」がcrates.ioに公開された。これらはすべて「proc-macro2」のタイポスクワッティングである「proc-macro1」に依存しており、そのビルドスクリプトはコンパイル時にペイロードをダウンロードして実行する仕組みになっていた。公開期間は短かった(削除されるまでそれぞれ86分、90分、107分)ものの、その間にビルドを行ったマシンは攻撃者のコードを実行したことになる。Rustセキュリティ対応チームは、影響を受けたクレートファイルを「~/.cargo/registry/cache」からスキャンするためのfindコマンドを公開した。
出典: blog.rust-lang.org ↗
そのcrateには悪意のあるpayloadをダウンロードするbuild scriptが含まれていた
Rust Security Response Team
なぜ重要か
- → コンパイル中に開発者のマシンで悪意のあるbuild scriptsが実行された
- → Supply-chain typosquatが人気のあるcrates(arrayref、internment)の正当性を悪用した
- → 狭いexposure window(86~107分)により被害は限定されたが、実際の損害は防げなかった
Rust supply-chain attack