# A Rust crate ran malware at compile time. 86 នាទី។

Published: 2026-09-15

ក្រេត Rust ម៉ាក្រូចំនួនបួនដែលមានការទាញយក 260 លានដងបានបន្ថែមភាពអាស្រ័យមួយ ហើយ \`cargo build\` ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃនៅលើម៉ាស៊ីនរបស់អ្នក។ ថ្ងៃទី 20 ខែសីហា ឆ្នាំ 2026: arrayref 0.3.10 មកដល់ crates.io ដែលពឹងផ្អែកលើ proc-macro1 — មិនមែន proc-macro2 ដែលជាកម្មវិធីពិតនោះទេ — ដែលស្គ្រីបបង្កើតរបស់វាទាញយកបន្ទុកមួយ ទម្លាក់វានៅក្នុង /tmp/rust-setup ហើយបង្កើតវាដាច់ដោយឡែក ខណៈពេលដែលគម្រោងរបស់អ្នកកំពុងចងក្រង។ កំណែដែលស្អាតត្រូវបានដកចេញ ដូច្នេះការព្រមានរបស់ Cargo ខ្លួនឯងនឹងនាំអ្នកទៅរកកំណែដែលបំពុល។ 86 នាទីក្រោយមកវាត្រូវបានលុប។

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

## អ្វីដែលវីដេអូនេះគ្របដណ្ដប់

- cargo build ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃ
- បង្កាន់ដៃ៖ Rust Blog, SafeDep, Hacker News
- នេះគឺ The Daily Diff, postmortem
- កាលបរិច្ឆេទ៖ 02:11 ដាក់ឱ្យដំណើរការ → 07:15 បោះពុម្ព → 08:41 លុប
- យន្តការ៖ build.rs, គ្មានប្រអប់ខ្សាច់, ការល្បួងនៃការដកចេញ

## ជំពូក

- 0:00 cargo build ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃ
- 0:20 បង្កាន់ដៃ៖ Rust Blog, SafeDep, Hacker News
- 0:33 នេះគឺ The Daily Diff, postmortem
- 0:40 កាលបរិច្ឆេទ៖ 02:11 ដាក់ឱ្យដំណើរការ → 07:15 បោះពុម្ព → 08:41 លុប
- 1:25 យន្តការ៖ build.rs, គ្មានប្រអប់ខ្សាច់, ការល្បួងនៃការដកចេញ
- 2:05 git blame — ការបំបែក
- 2:25 រង្វង់ផលប៉ះពាល់៖ 2,285 ដង
- 2:45 សាលក្រម + បន្ទាត់ថ្ងៃច័ន្ទ

## កំណត់ត្រាដែលបានបកប្រែ

បកប្រែចេញពីការនិទានដើមជាភាសាអង់គ្លេស។ សំឡេង និងចំណងជើងរងដែលមានគឺស្ថិតនៅក្រោមការគ្រប់គ្រងរបស់ YouTube។

### cargo build ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃ

0:00 ក្រេត Rust ម៉ាក្រូចំនួនបួនដែលមានការទាញយកមួយភាគបួននៃមួយពាន់លានដងបានបន្ថែមមួយ ភាពអាស្រ័យ ហើយ cargo build ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃនៅលើម៉ាស៊ីនរបស់អ្នក។ ថ្ងៃទី 20 ខែសីហា ឆ្នាំ 2026។ arrayref 0.3.10 មកដល់ crates.io ដែលពឹងផ្អែកលើ proc-macro1។ មិនមែន proc-macro2 ដែលជាកម្មវិធីពិតនោះទេ៖ ខ្ទង់មួយខុសគ្នា ហើយស្គ្រីបបង្កើតរបស់វាដំណើរការ បន្ទុកមួយ ខណៈពេលដែលគម្រោងរបស់អ្នកកំពុងចងក្រង។ ក្រុមសន្តិសុខរបស់ Rust បានលុបវាចោល 86 នាទីក្រោយមក។

### បង្កាន់ដៃ៖ Rust Blog, SafeDep, Hacker News

0:22 SafeDep បោះពុម្ពការរុះរើ។ Hacker News: 554 ពិន្ទុ។ តើវាកើតឡើងដោយរបៀបណា ហេតុអ្វី Cargo អនុញ្ញាតវា និងអ្នកណាជាអ្នកត្រូវស្តីបន្ទោស។ នេះគឺ The Daily Diff, postmortem។ ម៉ោង 2 ទៀបភ្លឺ ម៉ោង UTC។

### នេះគឺ The Daily Diff, postmortem

0:33 គណនីមួយឈ្មោះ d-tolney ដែលមានអក្សរមួយពី David Tolnay អ្នកថែរក្សាពាក់កណ្តាលនៃ Rust បោះពុម្ព proc-macro1 1.0.106៖ proc-macro2 ពិតប្រាកដ

### កាលបរិច្ឆេទ៖ 02:11 ដាក់ឱ្យដំណើរការ → 07:15 បោះពុម្ព → 08:41 លុប

0:41 ត្រូវបានប្តូរឈ្មោះ។ ដាក់ឱ្យដំណើរការ។ 07:11។ កំណែ 1.0.107 បន្ថែមស្គ្រីបបង្កើតមួយ បូករួមទាំង base64, TLS និងកម្មវិធីអតិថិជន HTTP ។ សម្រាប់អ្នកវិភាគនិមិត្តសញ្ញា។ 07:15។ គណនីអ្នកថែរក្សាបានបោះពុម្ព arrayref ឡើងវិញជា 0.3.10 និង បានដកចេញរាល់កំណែចាស់ៗទាំងអស់។ Cargo បោះពុម្ព៖ ពិចារណាអាប់ដេតទៅកំណែដែលមិនត្រូវបានដកចេញ។ កំណែដែលនៅសល់តែមួយគត់គឺកំណែដែលបំពុល។

1:02 ការព្រមានគឺជាការល្បួង។ នាទីដដែល ក្រុមហ៊ុនសន្តិសុខមួយបានរាយការណ៍ទៅ Rust ។ 07:54, បញ្ហាមួយនៅលើ RustSec។ 08:29, បញ្ហាមួយនៅលើឃ្លាំងទិន្នន័យ; ជនវាយប្រហារឆ្លើយតបជាមួយ 0.3.11 និងភាពអាស្រ័យដែលមានគ្រោះថ្នាក់ទីពីរ។ 08:41, លុប។ ប៉ែតសិបប្រាំមួយនាទី។ ហេតុអ្វី? ទីមួយ៖ Cargo បង្កើតរាល់ភាពអាស្រ័យដែលបានប្រកាស មិនថាបានហៅឬអត់។ បន្ទាត់ Manifest មួយគឺគ្រប់គ្រាន់ហើយ។

1:21 ទីពីរ៖ ស្គ្រីបបង្កើតមួយដំណើរការនៅលើម៉ាស៊ីនរបស់អ្នក ក្នុងនាមជាអ្នក ជាមួយនឹងសោ SSH និងនិមិត្តសញ្ញា cargo របស់អ្នក

### យន្តការ៖ build.rs, គ្មានប្រអប់ខ្សាច់, ការល្បួងនៃការដកចេញ

1:26 មុនពេលកូដរបស់អ្នកចងក្រង។ គ្មានប្រអប់ខ្សាច់ តាមការរចនា៖ នេះជារបៀបដែលក្រេតរកបណ្ណាល័យ C ។ ទីបី៖ ខាងក្នុងគឺជា proc-macro2 ពិតប្រាកដ ដូច្នេះការបង្កើតបានជោគជ័យ។ បន្ទុក៖ កម្មវិធីអតិថិជន TLS ដែលទុកចិត្តវិញ្ញាបនបត្រណាមួយទាញយកឯកសារគោលពីរ ទម្លាក់វានៅក្នុង /tmp/rust-setup ហើយបង្កើតវាដាច់ដោយឡែក។ នៅលើ Windows វាបង្វែរតាមរយៈ wscript ដើម្បីគេចចេញពីវត្ថុការងាររបស់ Cargo; មតិយោបល់ប្រភពមួយនិយាយដូច្នេះ។ មតិយោបល់ប្រភពមួយនិយាយដូច្នេះ។ ដំណាក់កាលទីពីរ យោងតាមខ្សែស្រឡាយ RustSec៖ ឧបករណ៍ចូលប្រើពីចម្ងាយដែលមានគោលបំណងសម្រាប់

1:52 កម្មវិធីរុករកនិងកាបូបគ្រីបតូ។ ស្របគ្នា ដោយសារអ្នកប្រើប្រាស់ធំជាងគេរបស់ arrayref រួមមាន secp256k1 និង Solana។ git blame។ ម៉ូដែលរបស់ Cargo ហាសិបប្រាំភាគរយ៖ ភាពអាស្រ័យដំណើរការកូដនៅលើម៉ាស៊ីនរបស់អ្នក នៅពេលចងក្រង គ្មានប្រអប់ខ្សាច់ ហើយការព្រមានអំពីការដកចេញបាននាំមនុស្សទៅរក

### git blame — ការបំបែក

2:07 ថ្នាំពុល។ គណនីមួយ សាមសិប៖ សិទ្ធិចូលប្រើមួយ បោះពុម្ពក្រេតមួយភាគបួននៃ ការទាញយកមួយពាន់លានដងដែលទុកចិត្ត។ លេខមួយ ដប់ប្រាំ៖ ការចុចគ្រាប់ចុចមួយពីក្រេតដែលគួរឱ្យទុកចិត្តបំផុតរបស់ Rust ហើយគ្មាននរណាម្នាក់អានដើមឈើទេ។ រង្វង់ផលប៉ះពាល់៖ ការទាញយក 2,285 ដងក្នុងរយៈពេល 86 នាទី។ តិចជាងដប់ភាគរយនៃចរាចរណ៍ ពីព្រោះ lockfiles ភាគច្រើនមាន 0.3.9។ crates.io និយាយថាមិនមានភស្តុតាងនៃការប្រើប្រាស់ទេ។

### រង្វង់ផលប៉ះពាល់៖ 2,285 ដង

2:27 មនុស្សពីរនាក់នៅក្នុងខ្សែស្រឡាយ RustSec មិនយល់ស្រប; ម្នាក់រកឃើញសេវាកម្ម systemd។ នៅលើ Hacker News ខ្សែស្រឡាយកំពូលមិនមែនអំពីមេរោគនោះទេ។ វាជាទំព័រក្រេត ដែល 0.3.10 ឥឡូវនេះមិនដែលមានទេ។ សាលក្រម, postmortem: NEEDS REVIEW។ ប៉ែតសិបប្រាំមួយនាទីដើម្បីលុប ការបង្ហោះប្លុកនៅថ្ងៃដដែល គណនីត្រូវបានចាក់សោ៖ នោះ ផ្នែកគឺ SHIP IT។ ប៉ុន្តែទំព័រក្រេតបង្ហាញថាមិនមានអ្វីកើតឡើងទេ cargo audit នៅតែស្ងៀមស្ងាត់នៅលើច្បាប់ចម្លងដែលបានឃ្លាត

### សាលក្រម + បន្ទាត់ថ្ងៃច័ន្ទ

2:48 ហើយស្គ្រីបបង្កើតនៅតែដំណើរការជាអ្នក។ ថ្ងៃច័ន្ទ៖ ដំណើរការពាក្យបញ្ជាស្វែងរករបស់ប្លុក Rust ហើយចាត់ទុកការព្រមានអំពីការដកចេញថាជា សំណួរ មិនមែនជាការណែនាំទេ។ ផ្ញើមកខ្ញុំនូវឧប្បត្តិហេតុដែលអ្នកនៅតែមិនត្រូវបានអនុញ្ញាតឱ្យនិយាយអំពី នៅក្នុងមតិយោបល់ ឬនៅ the daily diff dot dev។ ហើយនោះគឺជាភាពខុសគ្នាសម្រាប់ថ្ងៃនេះ។ ខ្ញុំ Niko មកពី Axrisi។ បង្រួបបង្រួមដោយការទទួលខុសត្រូវ។

## ប្រភព

- [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
