# कम्पाइल समयमा रस्ट क्रेटले मालवेयर चलायो। 86 मिनेट।

Published: 2026-09-15

260 मिलियन डाउनलोड भएको चार-म्याक्रो रस्ट क्रेटले एउटा निर्भरता थप्छ, र \`cargo build\` ले तपाईको मेसिनमा एक अपरिचित व्यक्तिको बाइनरी चलाउँछ। अगस्ट 20, 2026: arrayref 0.3.10 crates.io मा proc-macro1 मा निर्भर हुँदै आउँछ — वास्तविक proc-macro2 होइन — जसको बिल्ड स्क्रिप्टले पेलोड डाउनलोड गर्छ, यसलाई /tmp/rust-setup मा राख्छ र तपाईको प्रोजेक्ट कम्पाइल भइरहेको बेला यसलाई छुट्याएर उत्पन्न गर्छ। सफा संस्करणहरू हटाइन्छ ताकि कार्गोको आफ्नै चेतावनीले तपाईलाई दूषित संस्करणमा पुर्‍याउँछ। 86 मिनेट पछि यो मेटाइन्छ।

Canonical: https://thedailydiff.dev/ne/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 ले तपाईको मेसिनमा एक अपरिचित व्यक्तिको बाइनरी चलाउँछ। अगस्ट 20, 2026। arrayref 0.3.10 crates.io मा proc-macro1 मा निर्भर हुँदै आउँछ। 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 नामक खाता, डेभिड टोल्नेबाट एक अक्षर, जसले रस्टको आधा हिस्सा कायम राख्छ, 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 टोकन, तपाईको कोड कम्पाइल हुनु अघि। स्यान्डबक्स छैन, डिजाइन अनुसार: यसरी क्रेटहरूले C पुस्तकालयहरू फेला पार्छन्। तीन: भित्र वास्तविक proc-macro2 छ, त्यसैले बिल्ड सफल हुन्छ। पेलोड: कुनै पनि प्रमाणपत्रमा विश्वास गर्ने TLS क्लाइन्टले बाइनरी ल्याउँछ, यसलाई /tmp/rust-setup मा राख्छ र यसलाई छुट्याएर उत्पन्न गर्छ। Windows मा यसले कार्गोको काम वस्तुबाट उम्कन 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 हो। तर क्रेट पृष्ठले केही भएको देखाउँदैन, cargo audit क्यास गरिएको प्रतिलिपिमा मौन रहन्छ,

### निर्णय + सोमबारको लाइन

2:48 र बिल्ड स्क्रिप्टहरू अझै पनि तपाईको रूपमा चल्छन्। सोमबार: रस्ट ब्लगको find कमान्ड चलाउनुहोस्, र याङ्क चेतावनीलाई प्रश्नको रूपमा लिनुहोस्, निर्देशनको रूपमा होइन। तपाईंलाई अझै पनि बोल्न अनुमति नभएको घटना मलाई पठाउनुहोस्, टिप्पणीहरूमा, वा daily diff dot dev मा। र आजको लागि यही भिन्नता हो। म 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
