arrayref 0.3.10、compileだけでpayloadを実行
これは何?arrayrefは固定長arrayの一部を安全に参照するmacroを提供し、多数のRust projectからtransitive dependencyとして使われるcrateです。
8月20日に公開されたarrayref 0.3.10は、proc-macro2を偽装したproc-macro1をdependencyへ追加し、そのbuild scriptが外部binaryを取得・実行しました。library APIを呼ばなくてもCargo buildだけで発火し、Windowsではhidden PowerShell、Unix系では一時fileを起動します。crates.ioは悪性versionを約86分で削除し、RustSecはRUSTSEC-2026-0260を発行しましたが、maintainer accountの侵害経路は未確認です。
packageの通常sourceが変わらなくても、manifestへ足したnon-optional dependencyのbuild scriptは任意codeを実行できます。lockfile、registry cache、build network、publisher identityを含めたsupply-chain controlが必要です。
- 読むべき人
- Rust developer、CI/CD、application security、supply-chain securityの担当者
- HN
- 340 points / 331 comments