# Rust crate-ը վնասաբեր ծրագիր է գործարկել կոմպիլյացիայի ժամանակ։ 86 րոպե։

Published: 2026-09-15

Rust crate-ը, որն ունի չորս մակրո և 260 միլիոն ներբեռնում, ավելացնում է մեկ կախվածություն, և \`cargo build\`-ը ձեր մեքենայում գործարկում է անծանոթի բինար ֆայլը։ 2026 թվականի օգոստոսի 20. arrayref 0.3.10-ը հայտնվում է crates.io-ում՝ կախված լինելով proc-macro1-ից (ոչ թե իրական proc-macro2-ից), որի կառուցման սցենարը ներբեռնում է վնասակիր բեռ, տեղադրում այն /tmp/rust-setup-ում և գործարկում այն անջատված ռեժիմում, մինչ ձեր նախագիծը կոմպիլացվում է։ Մաքուր տարբերակները հեռացվում են, այնպես որ Cargo-ի սեփական զգուշացումը ձեզ տանում է դեպի թունավորված տարբերակը։ 86 րոպե անց այն ջնջվում է։

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

## Ինչ է ընդգրկում այս տեսանյութը

- cargo build-ը գործարկում է անծանոթի բինար ֆայլ
- Ապացույցները. Rust Blog, SafeDep, Hacker News
- Սա The Daily Diff-ն է, հետմահու վերլուծություն
- Ժամանակացույց. 02:11 staging → 07:15 հրապարակված → 08:41 ջնջված
- Մեխանիզմ. build.rs, առանց sandbox-ի, yank-ի խայծը

## Գլուխներ

- 0:00 cargo build-ը գործարկում է անծանոթի բինար ֆայլ
- 0:20 Ապացույցները. Rust Blog, SafeDep, Hacker News
- 0:33 Սա The Daily Diff-ն է, հետմահու վերլուծություն
- 0:40 Ժամանակացույց. 02:11 staging → 07:15 հրապարակված → 08:41 ջնջված
- 1:25 Մեխանիզմ. build.rs, առանց sandbox-ի, yank-ի խայծը
- 2:05 git blame — բաժանումը
- 2:25 Ազդեցության շառավիղը. 2,285 ներբեռնում
- 2:45 Վճիռ + երկուշաբթի օրվա գիծը

## Թարգմանված արձանագրություն

Թարգմանվել է բնօրինակ անգլերեն պատմությունից։ Հասանելի աուդիո և ենթագրերը վերահսկվում են YouTube-ի կողմից։

### cargo build-ը գործարկում է անծանոթի բինար ֆայլ

0:00 Rust crate-ը՝ չորս մակրոով և քառորդ միլիարդ ներբեռնումով, ավելացնում է մեկ կախվածություն, և cargo build-ը գործարկում է անծանոթի բինար ֆայլը ձեր մեքենայում։ 2026 թվականի օգոստոսի 20։ 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-ն է, հետմահու վերլուծություն։ Գիշերվա ժամը երկուսը, UTC։

### Սա The Daily Diff-ն է, հետմահու վերլուծություն

0:33 d-tolney անունով օգտահաշիվը, որը մեկ տառով տարբերվում է Դավիդ Թոլնայից, ով աջակցում է Rust-ի կեսին, հրապարակում է proc-macro1 1.0.106. իրական

### Ժամանակացույց. 02:11 staging → 07:15 հրապարակված → 08:41 ջնջված

0:41 proc-macro2, վերանվանված։ Staging։ 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-ն կառուցում է յուրաքանչյուր հայտարարված կախվածություն՝ կանչված թե ոչ։ Մեկ մանիֆեստի տողը բավական է։

1:21 Երկու. կառուցման սցենարը գործարկվում է ձեր մեքենայում, որպես դուք, ձեր SSH բանալիներով և cargo

### Մեխանիզմ. build.rs, առանց sandbox-ի, yank-ի խայծը

1:26 թոքենով, նախքան ձեր կոդը կկոմպիլացվի։ Առանց sandbox-ի, ըստ նախագծի. այդպես են crates-ը գտնում C գրադարանները։ Երեք. ներսում իրական proc-macro2-ն է, ուստի կառուցումը հաջողվում է։ Վնասակիր բեռը. TLS հաճախորդ, որը վստահում է ցանկացած վկայագրի, ներբեռնում է բինար ֆայլը, տեղադրում այն /tmp/rust-setup-ում և գործարկում այն անջատված ռեժիմում։ Windows-ում այն շեղվում է wscript-ի միջոցով՝ Cargo-ի աշխատանքային օբյեկտից խուսափելու համար. աղբյուրի մեկնաբանությունն այդպես է ասում։ Երկրորդ փուլը, ըստ RustSec թեմայի. հեռակա հասանելիության գործիք՝ ուղղված

1:52 բրաուզերներին և կրիպտո դրամապանակներին։ Բանաստեղծական է, քանի որ arrayref-ի ամենամեծ օգտատերերից են secp256k1-ը և Solana-ն։ git blame։ Cargo-ի մոդելը, հիսունհինգ տոկոս. կախվածությունները գործարկում են կոդ ձեր մեքենայում կոմպիլյացիայի ժամանակ, առանց sandbox-ի, և yank զգուշացումը մարդկանց տարավ դեպի

### git blame — բաժանումը

2:07 թույնը։ Մեկ հաշիվ, երեսուն. մեկ վկայական վերահրապարակում է crate-ը, որին քառորդ միլիարդ ներբեռնումներ են վստահում։ Թիվ մեկ, տասնհինգ. մեկ ստեղնաշարային հարված Rust-ի ամենավստահելի crate-ից, և ոչ ոք չի կարդում ծառը։ Ազդեցության շառավիղը. 2,285 ներբեռնում 86 րոպեում։ Երթևեկության տասը տոկոսից պակաս, քանի որ lockfiles-ի մեծ մասը պարունակում էր 0.3.9։ crates.io-ն ասում է, որ օգտագործման ապացույց չկա։

### Ազդեցության շառավիղը. 2,285 ներբեռնում

2:27 RustSec թեմայի երկու հոգի չեն համաձայնվում. մեկը գտնում է systemd ծառայություն։ Hacker News-ում լավագույն թեման վնասաբեր ծրագրի մասին չէ։ Դա crate էջն է, որտեղ 0.3.10-ն այժմ երբեք գոյություն չի ունեցել։ Վճիռ, հետմահու վերլուծություն. NEEDS REVIEW։ Ութսունվեց րոպե ջնջելու համար, նույն օրվա բլոգի գրառում, կողպված հաշիվ. այդ մասը SHIP IT է։ Բայց crate էջը ցույց է տալիս, որ ոչինչ չի պատահել, cargo audit-ը լուռ է մնում քեշավորված

### Վճիռ + երկուշաբթի օրվա գիծը

2:48 պատճենի վերաբերյալ, և կառուցման սցենարները դեռ գործարկվում են որպես դուք։ Երկուշաբթի. գործարկեք Rust բլոգի find հրամանը և yank զգուշացումը դիտեք որպես հարց, ոչ թե հրահանգ։ Ուղարկեք ինձ այն միջադեպը, որի մասին դեռ թույլ չի տրվում խոսել, մեկնաբանություններում կամ the 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
