A Rust crate ran malware at compile time. 86 នាទី។
ក្រេត Rust ម៉ាក្រូចំនួនបួនដែលមានការទាញយក 260 លានដងបានបន្ថែមភាពអាស្រ័យមួយ ហើយ `cargo build` ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃនៅលើម៉ាស៊ីនរបស់អ្នក។
ក្រេត Rust ម៉ាក្រូចំនួនបួនដែលមានការទាញយក 260 លានដងបានបន្ថែមភាពអាស្រ័យមួយ ហើយ `cargo build` ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃនៅលើម៉ាស៊ីនរបស់អ្នក។ ថ្ងៃទី 20 ខែសីហា ឆ្នាំ 2026: arrayref 0.3.10 មកដល់ crates.io ដែលពឹងផ្អែកលើ proc-macro1 — មិនមែន proc-macro2 ដែលជាកម្មវិធីពិតនោះទេ — ដែលស្គ្រីបបង្កើតរបស់វាទាញយកបន្ទុកមួយ ទម្លាក់វានៅក្នុង /tmp/rust-setup ហើយបង្កើតវាដាច់ដោយឡែក ខណៈពេលដែលគម្រោងរបស់អ្នកកំពុងចងក្រង។ កំណែដែលស្អាតត្រូវបានដកចេញ ដូច្នេះការព្រមានរបស់ Cargo ខ្លួនឯងនឹងនាំអ្នកទៅរកកំណែដែលបំពុល។ 86 នាទីក្រោយមកវាត្រូវបានលុប។
អានបោះពុម្ពជាលាយលក្ខណ៍អក្សរ (អង់គ្លេស) ↗
អ្វីដែលវីដេអូនេះគ្របដណ្ដប់
- cargo build ដំណើរការឯកសារគោលពីររបស់អ្នកដទៃ
- បង្កាន់ដៃ៖ Rust Blog, SafeDep, Hacker News
- នេះគឺ The Daily Diff, postmortem
- កាលបរិច្ឆេទ៖ 02:11 ដាក់ឱ្យដំណើរការ → 07:15 បោះពុម្ព → 08:41 លុប
- យន្តការ៖ build.rs, គ្មានប្រអប់ខ្សាច់, ការល្បួងនៃការដកចេញ
កំណត់ត្រាដែលបានបកប្រែ
បកប្រែចេញពីការនិទានដើមជាភាសាអង់គ្លេស។ សំឡេង និងចំណងជើងរងដែលមានគឺស្ថិតនៅក្រោមការគ្រប់គ្រងរបស់ 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)blog.rust-lang.org
- RUSTSEC-2026-0260 (arrayref)github.com
- RustSec issue #3161 (the original report, IOCs, victims)github.com
- SafeDep technical analysissafedep.io
- GitHub issue on the repo (0.3.11 spotted)github.com
- crates.iocrates.io
- Hacker News (554 points)news.ycombinator.com
- BleepingComputerwww.bleepingcomputer.com



