# ഒരു റസ്റ്റ് ക്രേറ്റ് കംപൈൽ സമയത്ത് മാൽവെയർ പ്രവർത്തിപ്പിച്ചു. 86 മിനിറ്റ്.

Published: 2026-09-15

260 ദശലക്ഷം ഡൗൺലോഡുകളുള്ള നാല് മാക്രോ റസ്റ്റ് ക്രേറ്റ് ഒരു ഡിപെൻഡൻസി ചേർക്കുന്നു, കൂടാതെ \`cargo build\` നിങ്ങളുടെ മെഷീനിൽ ഒരു അപരിചിതന്റെ ബൈനറി പ്രവർത്തിപ്പിക്കുന്നു. 2026 ഓഗസ്റ്റ് 20: arrayref 0.3.10, proc-macro1 (യഥാർത്ഥ proc-macro2 അല്ല) നെ ആശ്രയിച്ച് crates.io-ൽ എത്തുന്നു, അതിന്റെ ബിൽഡ് സ്ക്രിപ്റ്റ് ഒരു പേലോഡ് ഡൗൺലോഡ് ചെയ്യുകയും /tmp/rust-setup-ൽ ഇടുകയും നിങ്ങളുടെ പ്രോജക്റ്റ് കംപൈൽ ചെയ്യുമ്പോൾ വേർപെടുത്തി പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. ക്ലീൻ പതിപ്പുകൾ വലിച്ചെറിയുന്നു, അതിനാൽ കാർഗോയുടെ സ്വന്തം മുന്നറിയിപ്പ് നിങ്ങളെ വിഷമുള്ളതിലേക്ക് നയിക്കുന്നു. 86 മിനിറ്റിന് ശേഷം അത് ഇല്ലാതാക്കപ്പെടുന്നു.

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

## ഈ വീഡിയോയിൽ ഉൾപ്പെടുന്ന കാര്യങ്ങൾ

- cargo build ഒരു അപരിചിതന്റെ ബൈനറി പ്രവർത്തിപ്പിക്കുന്നു
- തെളിവുകൾ: Rust Blog, SafeDep, Hacker News
- ഇത് The Daily Diff, പോസ്റ്റ്‌മോർട്ടം
- സമയരേഖ: 02:11 സ്റ്റേജിംഗ് → 07:15 പ്രസിദ്ധീകരിച്ചു → 08:41 ഇല്ലാതാക്കി
- മെക്കാനിസം: build.rs, സാൻ‌ഡ്‌ബോക്‌സ് ഇല്ല, യാങ്ക് കെണി

## അധ്യായങ്ങൾ

- 0:00 cargo build ഒരു അപരിചിതന്റെ ബൈനറി പ്രവർത്തിപ്പിക്കുന്നു
- 0:20 തെളിവുകൾ: Rust Blog, SafeDep, Hacker News
- 0:33 ഇത് The Daily Diff, പോസ്റ്റ്‌മോർട്ടം
- 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 കാൽ ബില്യൺ ഡൗൺലോഡുകളുള്ള ഒരു നാല്-മാക്രോ റസ്റ്റ് ക്രേറ്റ് ഒന്ന് ചേർക്കുന്നു ഡിപെൻഡൻസി, കൂടാതെ cargo build നിങ്ങളുടെ മെഷീനിൽ ഒരു അപരിചിതന്റെ ബൈനറി പ്രവർത്തിപ്പിക്കുന്നു. 2026 ഓഗസ്റ്റ് 20. arrayref 0.3.10 proc-macro1-നെ ആശ്രയിച്ച് crates.io-ൽ എത്തുന്നു. യഥാർത്ഥമായ proc-macro2 അല്ല: ഒരു അക്കം വ്യത്യാസമുണ്ട്, അതിന്റെ ബിൽഡ് സ്ക്രിപ്റ്റ് ഒരു നിങ്ങളുടെ പ്രോജക്റ്റ് കംപൈൽ ചെയ്യുമ്പോൾ പേലോഡ് പ്രവർത്തിപ്പിക്കുന്നു. റസ്റ്റിന്റെ സുരക്ഷാ ടീം 86 മിനിറ്റിന് ശേഷം അത് ഇല്ലാതാക്കുന്നു.

### തെളിവുകൾ: Rust Blog, SafeDep, Hacker News

0:22 SafeDep ടീം ടിയർഡൗൺ പ്രസിദ്ധീകരിക്കുന്നു. Hacker News: 554 പോയിന്റുകൾ. ഇത് എങ്ങനെ സംഭവിക്കുന്നു, കാർഗോ എന്തുകൊണ്ട് ഇത് അനുവദിക്കുന്നു, ആർക്കാണ് കുറ്റം. ഇത് The Daily Diff, പോസ്റ്റ്‌മോർട്ടം. പുലർച്ചെ രണ്ട് മണി, UTC.

### ഇത് The Daily Diff, പോസ്റ്റ്‌മോർട്ടം

0:33 d-tolney എന്ന് പേരുള്ള ഒരു അക്കൗണ്ട്, David Tolnay-യുടെ പേരിന്റെ ഒരു അക്ഷരം മാത്രം വ്യത്യാസം, റസ്റ്റിന്റെ പകുതിയോളം പരിപാലിക്കുന്നയാൾ, proc-macro1 1.0.106 പ്രസിദ്ധീകരിക്കുന്നു: യഥാർത്ഥ

### സമയരേഖ: 02:11 സ്റ്റേജിംഗ് → 07:15 പ്രസിദ്ധീകരിച്ചു → 08:41 ഇല്ലാതാക്കി

0:41 proc-macro2, പേര് മാറ്റി. സ്റ്റേജിംഗ്. 07:11. പതിപ്പ് 1.0.107 ഒരു ബിൽഡ് സ്ക്രിപ്റ്റ് ചേർക്കുന്നു, കൂടാതെ base64, TLS, ഒരു HTTP ക്ലയന്റ് എന്നിവയും. ഒരു ടോക്കൺ പാർസറിനായി. 07:15. പരിപാലകന്റെ അക്കൗണ്ട് arrayref 0.3.10 ആയി വീണ്ടും പ്രസിദ്ധീകരിക്കുകയും മുമ്പത്തെ എല്ലാ പതിപ്പുകളും വലിച്ചെറിയുകയും ചെയ്യുന്നു. കാർഗോ പ്രിന്റ് ചെയ്യുന്നു: വലിച്ചെറിയാത്ത ഒരു പതിപ്പിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യുന്നത് പരിഗണിക്കുക. ശേഷിക്കുന്നത് വിഷമുള്ള ഒന്നുമാത്രം.

1:02 മുന്നറിയിപ്പ് ഒരു കെണിയാണ്. അതേ മിനിറ്റിൽ, ഒരു സുരക്ഷാ സ്ഥാപനം റസ്റ്റിനെ ഇത് അറിയിക്കുന്നു. 07:54, ഒരു RustSec പ്രശ്നം. 08:29, റെപ്പോയിൽ ഒരു പ്രശ്നം; ആക്രമണകാരി 0.3.11-ഉം രണ്ടാമത്തെ ദുരുപയോഗം ചെയ്യുന്ന ഡിപെൻഡൻസിയും ഉപയോഗിച്ച് മറുപടി നൽകുന്നു. 08:41, ഇല്ലാതാക്കി. എൺപത്തിആറ് മിനിറ്റ്. എന്തുകൊണ്ട്? ഒന്ന്: കാർഗോ പ്രഖ്യാപിച്ച എല്ലാ ഡിപെൻഡൻസികളും നിർമ്മിക്കുന്നു, വിളിച്ചാലും ഇല്ലെങ്കിലും. ഒരു മാനിഫെസ്റ്റ് ലൈൻ മതിയാകും.

1:21 രണ്ട്: ഒരു ബിൽഡ് സ്ക്രിപ്റ്റ് നിങ്ങളുടെ മെഷീനിൽ, നിങ്ങളായി, നിങ്ങളുടെ SSH കീകൾക്കും കാർഗോ

### മെക്കാനിസം: build.rs, സാൻ‌ഡ്‌ബോക്‌സ് ഇല്ല, യാങ്ക് കെണി

1:26 ടോക്കണിനും ഒപ്പം, നിങ്ങളുടെ കോഡ് കംപൈൽ ചെയ്യുന്നതിന് മുമ്പ് പ്രവർത്തിക്കുന്നു. സാൻ‌ഡ്‌ബോക്‌സ് ഇല്ല, രൂപകൽപ്പന പ്രകാരം: ക്രേറ്റുകൾ സി ലൈബ്രറികൾ എങ്ങനെ കണ്ടെത്തുന്നു. മൂന്ന്: ഉള്ളിൽ യഥാർത്ഥ proc-macro2 ഉണ്ട്, അതിനാൽ ബിൽഡ് വിജയിക്കുന്നു. പേലോഡ്: ഏതൊരു സർട്ടിഫിക്കറ്റിനെയും വിശ്വസിക്കുന്ന ഒരു TLS ക്ലയന്റ് ഒരു ബൈനറി എടുക്കുന്നു, /tmp/rust-setup-ൽ ഇടുകയും വേർപെടുത്തി പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. വിൻഡോസിൽ അത് കാർഗോയുടെ ജോബ് ഒബ്ജക്റ്റിൽ നിന്ന് രക്ഷപ്പെടാൻ wscript വഴി വഴിതിരിക്കുന്നു; ഒരു സോഴ്സ് കമന്റിൽ അങ്ങനെ പറയുന്നു. രണ്ടാം ഘട്ടം, RustSec ത്രെഡ് അനുസരിച്ച്: ബ്രൗസറുകളും ക്രിപ്‌റ്റോ വാലറ്റുകളും ലക്ഷ്യമിട്ടുള്ള ഒരു

1:52 റിമോട്ട് ആക്സസ് ടൂൾ. അക്ഷരസത്യം, arrayref-ന്റെ ഏറ്റവും വലിയ ഉപയോക്താക്കളിൽ secp256k1-ഉം Solana-യും ഉൾപ്പെടുന്നതുകൊണ്ട്. git blame. കാർഗോയുടെ മോഡൽ, അമ്പത്തിയഞ്ച് ശതമാനം: ഡിപെൻഡൻസികൾ കംപൈൽ സമയത്ത് നിങ്ങളുടെ മെഷീനിൽ കോഡ് പ്രവർത്തിപ്പിക്കുന്നു, സാൻ‌ഡ്‌ബോക്‌സ് ഇല്ല, കൂടാതെ യാങ്ക് മുന്നറിയിപ്പ് ആളുകളെ

### git blame — പിളർപ്പ്

2:07 വിഷത്തിലേക്ക് നയിച്ചു. ഒരു അക്കൗണ്ട്, മുപ്പത്: ഒരു ക്രെഡൻഷ്യൽ കാൽ ബില്യൺ ഡൗൺലോഡുകൾ വിശ്വസിക്കുന്ന ഒരു ക്രേറ്റ് വീണ്ടും പ്രസിദ്ധീകരിക്കുന്നു. അക്കം ഒന്ന്, പതിനഞ്ച്: റസ്റ്റിന്റെ ഏറ്റവും വിശ്വസനീയമായ ക്രേറ്റിൽ നിന്നുള്ള ഒരു കീസ്ട്രോക്ക്, ആരും മരം വായിക്കുന്നില്ല. സ്ഫോടന ആരം: 86 മിനിറ്റിനുള്ളിൽ 2,285 ഡൗൺലോഡുകൾ. ട്രാഫിക്കിന്റെ പത്ത് ശതമാനത്തിൽ താഴെ, കാരണം മിക്ക ലോക്ക്ഫയലുകളിലും 0.3.9 ആയിരുന്നു. crates.io ഉപയോഗത്തിന്റെ തെളിവുകളൊന്നും ഇല്ലെന്ന് പറയുന്നു.

### സ്ഫോടന ആരം: 2,285 ഡൗൺലോഡുകൾ

2:27 RustSec ത്രെഡിലെ രണ്ട് പേർ വിയോജിക്കുന്നു; ഒരാൾ ഒരു systemd സേവനം കണ്ടെത്തുന്നു. Hacker News-ൽ ടോപ്പ് ത്രെഡ് മാൽവെയറിനെക്കുറിച്ചല്ല. അത് ക്രേറ്റ് പേജാണ്, അവിടെ 0.3.10 ഇപ്പോൾ ഒരിക്കലും നിലവിലില്ല. വിധി, പോസ്റ്റ്‌മോർട്ടം: NEEDS REVIEW. ഇല്ലാതാക്കാൻ എൺപത്തിആറ് മിനിറ്റ്, അതേ ദിവസം തന്നെ ഒരു ബ്ലോഗ് പോസ്റ്റ്, അക്കൗണ്ട് ലോക്ക് ചെയ്തു: ആ ഭാഗം SHIP IT. പക്ഷേ ക്രേറ്റ് പേജ് ഒന്നും സംഭവിച്ചില്ലെന്ന് കാണിക്കുന്നു, കാഷെ ചെയ്ത കോപ്പിയിൽ കാർഗോ ഓഡിറ്റ്

### വിധി + തിങ്കളാഴ്ചത്തെ ലൈൻ

2:48 നിശബ്ദമായിരിക്കുന്നു, കൂടാതെ ബിൽഡ് സ്ക്രിപ്റ്റുകൾ ഇപ്പോഴും നിങ്ങളായി പ്രവർത്തിക്കുന്നു. തിങ്കളാഴ്ച: റസ്റ്റ് ബ്ലോഗിന്റെ കണ്ടെത്തൽ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, ഒരു യാങ്ക് മുന്നറിയിപ്പിനെ ഒരു ചോദ്യമായി കണക്കാക്കുക, നിർദ്ദേശമായിട്ടല്ല. നിങ്ങൾക്ക് ഇപ്പോഴും സംസാരിക്കാൻ അനുവാദമില്ലാത്ത സംഭവം എനിക്ക് അയയ്ക്കുക, കമന്റുകളിൽ, അല്ലെങ്കിൽ daily diff dot dev-ൽ. ഇന്നത്തെ വ്യത്യാസം അതാണ്. ഞാൻ 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
