Rust-ийн crate код эмхэтгэх үед хортой програм ажиллуулсан. 86 минут.
260 сая татан авалттай дөрвөн макро бүхий Rust crate нь нэг хамаарал нэмж, `cargo build` таны машинд үл таних хүний бинар файлыг ажиллуулдаг.
260 сая татан авалттай дөрвөн макро бүхий Rust crate нь нэг хамаарал нэмж, `cargo build` таны машинд үл таних хүний бинар файлыг ажиллуулдаг. 2026 оны 8-р сарын 20: arrayref 0.3.10 нь crates.io дээр "жинхэнэ" proc-macro2 биш, proc-macro1-ээс хамааралтайгаар гарч ирсэн бөгөөд түүний build script нь ачааллыг татаж, /tmp/rust-setup-д хадгалж, таны төсөл эмхэтгэгдэж байхад салангид байдлаар ажиллуулдаг. Цэвэр хувилбарууд нь устгагдсан тул Cargo-гийн өөрийн анхааруулга таныг хордсон хувилбар руу чиглүүлнэ. 86 минутын дараа устгагдсан.
Бичмэл хувилбарыг унших (Англи) ↗
Энэ видео юуг хамардаг
- cargo build үл таних хүний бинар файлыг ажиллуулдаг
- Нотолгоо: Rust Blog, SafeDep, Hacker News
- Энэ бол The Daily Diff, постмортем
- Хугацаа: 02:11 тайз руу → 07:15 нийтлэгдсэн → 08:41 устгагдсан
- Механизм: build.rs, сандбоксгүй, татах урхи
Орчуулсан бичлэг
Англи хэл дээрх эх хувилбараас орчуулсан. Боломжтой дуу болон хадмал орчуулгыг YouTube хянадаг.
cargo build үл таних хүний бинар файлыг ажиллуулдаг
0:00 Дөрвөн макротой Rust crate нь 250 сая татан авалттай бөгөөд нэг хамаарал нэмснээр cargo build таны машинд үл таних хүний бинар файлыг ажиллуулдаг. 2026 оны 8-р сарын 20. arrayref 0.3.10 нь crates.io дээр proc-macro1-ээс хамааралтайгаар гарч ирсэн. Жинхэнэ proc-macro2 биш: нэг тоо өөр, мөн түүний build script нь таны төсөл эмхэтгэгдэж байхад ачааллыг ажиллуулдаг. Rust-ийн аюулгүй байдлын баг 86 минутын дараа устгасан.
Нотолгоо: Rust Blog, SafeDep, Hacker News
0:22 SafeDep задаргааг нийтлэв. Hacker News: 554 оноо. Яаж болсон, Cargo яагаад зөвшөөрсөн, мөн хэн буруутай вэ. Энэ бол The Daily Diff, постмортем. Үүрийн хоёр цаг, UTC.
Энэ бол The Daily Diff, постмортем
0:33 Rust-ийн талыг арчилдаг Дэвид Толнайгаас нэг үсэгээр ялгаатай d-tolney хэмээх данс proc-macro1 1.0.106-г нийтлэв: жинхэнэ proc-macro2, нэрийг нь өөрчилсөн. Стейжинг.
Хугацаа: 02:11 тайз руу → 07:15 нийтлэгдсэн → 08:41 устгагдсан
0:41 proc-macro2, нэрийг нь өөрчилсөн. Стейжинг. 07:11. Хувилбар 1.0.107 нь build script, мөн 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 Хоёр: build script таны машинд, таны нэрээр, таны SSH түлхүүр болон cargo
Механизм: build.rs, сандбоксгүй, татах урхи
1:26 токентойгоор, таны код эмхэтгэгдэхээс өмнө ажилладаг. Дизайн ёсоор сандбоксгүй: crate-ууд С номын сангуудыг ингэж олдог. Гурав: дотор нь жинхэнэ proc-macro2 байдаг тул бүтээлт амжилттай болдог. Ачаалал: ямар ч гэрчилгээг итгэдэг TLS клиент бинар файлыг татаж, /tmp/rust-setup-д хадгалж, салангид байдлаар ажиллуулдаг. Windows дээр wscript-ээр дамжуулан Cargo-гийн ажлын обьектээс зугтдаг; эх сурвалжийн коммент үүнийг хэлдэг. Хоёр дахь шат, RustSec-ийн утасны дагуу: хөтөч болон крипто түрийвч рүү чиглэсэн
1:52 алсын зайн хандалтын хэрэгсэл. Яруу найргийн, учир нь arrayref-ийн хамгийн том хэрэглэгчид secp256k1 болон Solana багтдаг. git blame. Cargo-гийн загвар, тавин таван хувь: хамаарлууд таны машинд код эмхэтгэх үед ажиллуулдаг, сандбоксгүй, мөн татах анхааруулга хүмүүсийг хор руу чиглүүлсэн. Нэг данс, гучин хувь: нэг итгэмжлэл
git blame — хуваагдал
2:07 итгэмжлэл нэг квартал тэрбум татан авалттай crate-ийг дахин нийтлэв. тэрбум татан авалттай crate-ийг дахин нийтлэв. Нэг тоо, арван таван хувь: Rust-ийн хамгийн их итгэдэг crate-ээс нэг товчлуур бас хэн ч модны бүтцийг уншдаггүй. Нөлөөлөх хүрээ: 86 минутад 2,285 татан авалт. Замын хөдөлгөөний арван хувиас бага, учир нь ихэнх lockfile 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 мөн build script-ууд таны нэрээр ажилласаар байна. Даваа гараг: Rust блогын хайх командыг ажиллуулж, татах анхааруулгыг заавар биш, асуулт гэж үзээрэй. Таны ярихыг зөвшөөрөөгүй хэвээр байгаа хэргийг надад илгээнэ үү. коммент хэсэгт, эсвэл the daily diff dot dev хаягаар. Өнөөдрийн ялгаа энэ байна. Би 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



