# Rustクレートがコンパイル時にマルウェアを実行。86分。

Published: 2026-09-15

2億6千万ダウンロードされた4マクロのRustクレートが依存関係を1つ追加し、\`cargo build\`があなたのマシン上で見知らぬバイナリを実行しました。2026年8月20日: arrayref 0.3.10がcrates.ioに公開され、proc-macro1（本物のproc-macro2ではない）に依存。そのビルドスクリプトはペイロードをダウンロードし、/tmp/rust-setupにドロップし、プロジェクトがコンパイルされている間にデタッチして起動しました。クリーンなバージョンは取り消され（yanked）、Cargo自身の警告があなたを汚染されたバージョンに導きます。86分後に削除されました。

Canonical: https://thedailydiff.dev/ja/video/2026-09-15-arrayref-proc-macro/

## この動画の要点

- cargo buildが見知らぬバイナリを実行
- 証拠: Rust Blog、SafeDep、Hacker News
- これはThe Daily Diff、事後分析
- タイムライン: 02:11 staging → 07:15 published → 08:41 deleted
- メカニズム: build.rs、サンドボックスなし、ヤンクによる誘引

## チャプター

- 0:00 cargo buildが見知らぬバイナリを実行
- 0:20 証拠: Rust Blog、SafeDep、Hacker News
- 0:33 これはThe Daily Diff、事後分析
- 0:40 タイムライン: 02:11 staging → 07:15 published → 08:41 deleted
- 1:25 メカニズム: build.rs、サンドボックスなし、ヤンクによる誘引
- 2:05 git blame — 分割
- 2:25 被害範囲: 2,285ダウンロード
- 2:45 評決 + 月曜日のライン

## 翻訳されたトランスクリプト

オリジナルの英語ナレーションから翻訳されています。利用可能なオーディオとキャプションはYouTubeによって管理されています。

### cargo buildが見知らぬバイナリを実行

0:00 2億5千万ダウンロードされた4マクロのRustクレートが1つ追加 依存関係を追加し、cargo buildがあなたのマシン上で見知らぬバイナリを実行します。 2026年8月20日。 arrayref 0.3.10がproc-macro1に依存してcrates.ioに登場します。 本物のproc-macro2ではなく、数字が1つ違うだけ。そのビルドスクリプトが プロジェクトのコンパイル中にペイロードを実行します。 Rustのセキュリティチームは86分後にそれを削除します。

### 証拠: Rust Blog、SafeDep、Hacker News

0:22 SafeDepが詳細な分析を公開します。 Hacker News: 554ポイント。 それがどう起こったのか、なぜCargoがそれを許したのか、そして誰が非難されるのか。 これはThe Daily Diff、事後分析です。 午前2時、UTC。

### これはThe Daily Diff、事後分析

0:33 Rustの半分を管理しているDavid Tolnayから1文字違いのd-tolneyというアカウントが proc-macro1 1.0.106を公開します: 本物の

### タイムライン: 02:11 staging → 07:15 published → 08:41 deleted

0:41 proc-macro2をリネームしたもの。ステージング。 07:11。バージョン1.0.107はビルドスクリプト、さらに base64、TLS、HTTPクライアントを追加します。 トークンパーサーのために。 07:15。メンテナのアカウントはarrayrefを0.3.10として再公開し、 すべての古いバージョンを取り消します（yanks）。 Cargoは「取り消されていないバージョンへの更新を検討してください」と表示します。 残された唯一のバージョンは汚染されたものです。

1:02 警告が誘引です。 同分、セキュリティ企業がRustに報告します。 07:54、RustSecのイシュー。 08:29、リポジトリにイシュー。攻撃者は0.3.11と2番目の 悪意のある依存関係で応答します。08:41、削除。 86分。なぜ？ 1: Cargoは宣言されたすべての依存関係を、呼び出されるか否かにかかわらずビルドします。 マニフェストの1行で十分です。

1:21 2: ビルドスクリプトはあなたのマシン上で、あなたのSSHキーとCargo

### メカニズム: build.rs、サンドボックスなし、ヤンクによる誘引

1:26 トークンを使って、あなたのコードがコンパイルされる前にあなたとして実行されます。 意図的にサンドボックスはありません。それがクレートがCライブラリを見つける方法です。 3: 内部には本物のproc-macro2があるので、ビルドは成功します。 ペイロード: 任意の証明書を信頼するTLSクライアントがバイナリを取得し、 /tmp/rust-setupにドロップし、デタッチして起動します。 Windowsでは、Cargoのジョブオブジェクトから脱出するためにwscriptを経由します。ソース コメントにそうあります。 RustSecスレッドによると、セカンドステージは、ブラウザと暗号ウォレットを標的とした

1:52 リモートアクセスツールです。 arrayrefの最大のユーザーにはsecp256k1とSolanaが含まれるため、これは詩的です。 git blame。Cargoのモデル、55%: 依存関係はコンパイル時にあなたの マシン上でコードを実行し、サンドボックスはなく、ヤンク警告が人々を

### git blame — 分割

2:07 毒へと導いた。1つのアカウント、30%: 1つの認証情報が 2億5千万ダウンロードが信頼するクレートを再公開しました。 億ダウンロードが信頼するクレートを再公開しました。 数字の1、15%: Rustで最も信頼されているクレートから1キーストローク 誰もツリーを読んでいない。 被害範囲: 86分間で2,285ダウンロード。 ほとんどのロックファイルが0.3.9を保持していたため、トラフィックの10%未満です。 crates.ioには使用の証拠はないとあります。

### 被害範囲: 2,285ダウンロード

2:27 RustSecスレッドの2人がこれに異議を唱え、1人はsystemdサービスを発見しました。 Hacker Newsのトップスレッドはマルウェアについてではありません。 クレートページについてで、0.3.10はもはや存在しなかったことになっています。 評決、事後分析: NEEDS REVIEW。 削除まで86分、同日中にブログ投稿、アカウントロック: その部分は SHIP ITです。 しかし、クレートページには何も起こらなかったことになっており、cargo auditはキャッシュされた

### 評決 + 月曜日のライン

2:48 コピーについては沈黙し、ビルドスクリプトは依然としてあなたとして実行されます。 月曜日: Rustブログの検索コマンドを実行し、ヤンク警告を 指示ではなく質問として扱ってください。 まだ話すことが許されていないインシデントを、 コメント欄、またはdaily diff dot devまで送ってください。 今日のdiffは以上です。 AxrisiのNikoでした。 責任を持ってマージしてください。

## 情報源

- [Rust Blog, "Supply chain attack on arrayref" (security-response, Aug 20, 2026)](https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/) — blog.rust-lang.org
- [RUSTSEC-2026-0260 (arrayref)](https://github.com/rustsec/advisory-db/blob/main/crates/arrayref/RUSTSEC-2026-0260.md) — github.com
- [RustSec issue #3161 (the original report, IOCs, victims)](https://github.com/rustsec/advisory-db/issues/3161) — github.com
- [SafeDep technical analysis](https://safedep.io/arrayref-proc-macro1-rust-build-time-malware/) — safedep.io
- [GitHub issue on the repo (0.3.11 spotted)](https://github.com/droundy/arrayref/issues/33) — github.com
- [crates.io](https://crates.io/crates/arrayref) — crates.io
- [Hacker News (554 points)](https://news.ycombinator.com/item?id=49374269) — news.ycombinator.com
- [BleepingComputer](https://www.bleepingcomputer.com/news/security/hackers-poison-arrayref-rust-crate-to-push-infostealer-malware/) — www.bleepingcomputer.com
