Rust pakotne kompilācijas laikā palaida ļaunprātīgu programmatūru. 86 minūtes.
Četru makro Rust pakotne ar 260 miljoniem lejupielāžu pievieno vienu atkarību, un `cargo build` palaiž svešu bināru jūsu datorā.
Četru makro Rust pakotne ar 260 miljoniem lejupielāžu pievieno vienu atkarību, un `cargo build` palaiž svešu bināru jūsu datorā. 2026. gada 20. augusts: arrayref 0.3.10 nonāk crates.io, kas atkarīga no proc-macro1 — nevis proc-macro2, īstā — kura būvēšanas skripts lejupielādē datu plūsmu, nomet to /tmp/rust-setup un palaiž to atvienotu, kamēr jūsu projekts kompilējas. Tīrās versijas tiek noņemtas, tāpēc Cargo brīdinājums novirza jūs uz saindēto. 86 minūtes vēlāk tā tiek dzēsta.
Lasiet rakstisko izdevumu (angļu valodā) ↗
Ko aptver šis video
- cargo build palaiž svešu bināru
- Apstiprinājumi: Rust emuārs, SafeDep, Hacker News
- Šis ir The Daily Diff, pēcapstrāde
- Laika skala: 02:11 sagatavošana → 07:15 publicēts → 08:41 dzēsts
- Mehānisms: build.rs, bez smilškastes, noņemšanas ēsma
Tulkotais transkripts
Tulkojums no oriģinālā angļu stāstījuma. Pieejamais audio un subtitri tiek kontrolēti no YouTube.
cargo build palaiž svešu bināru
0:00 Četru makro Rust pakotne ar ceturtdaļu miljarda lejupielāžu pievieno vienu atkarību, un cargo build palaiž svešu bināru jūsu datorā. 2026. gada 20. augusts. arrayref 0.3.10 nonāk crates.io, kas atkarīga no proc-macro1. Ne proc-macro2, īstā: viena cipara atšķirība, un tās būvēšanas skripts palaiž datu plūsmu, kamēr jūsu projekts kompilējas. Rust drošības komanda to dzēš 86 minūtes vēlāk.
Apstiprinājumi: Rust emuārs, SafeDep, Hacker News
0:22 SafeDep publicē analīzi. Hacker News: 554 punkti. Kā tas notiek, kāpēc Cargo to pieļauj un kurš vainojams. Šis ir The Daily Diff, pēcapstrāde. Divi no rīta, UTC.
Šis ir The Daily Diff, pēcapstrāde
0:33 Konts ar nosaukumu d-tolney, viens burts no David Tolnay, kurš uztur pusi no Rust, publicē proc-macro1 1.0.106: īstu
Laika skala: 02:11 sagatavošana → 07:15 publicēts → 08:41 dzēsts
0:41 proc-macro2, pārsaukts. Sagatavošana. 07:11. Versija 1.0.107 pievieno būvēšanas skriptu, plus base64, TLS un HTTP klientu. Žetonu parsētājam. 07:15. Uzturētāja konts atkārtoti publicē arrayref kā 0.3.10 un noņem visas vecākās versijas. Cargo izdrukā: apsveriet atjaunināšanu uz versiju, kas nav noņemta. Vienīgā atlikusī ir saindētā.
1:02 Brīdinājums ir ēsma. Tajā pašā minūtē drošības firma ziņo par to Rust. 07:54, RustSec problēma. 08:29, problēma repozitorijā; uzbrucējs atbild ar 0.3.11 un otru ļaunprātīgu atkarību. 08:41, dzēsts. Astoņdesmit sešas minūtes. Kāpēc? Viens: Cargo būvē katru deklarēto atkarību, izsauktu vai ne. Viena manifesta rinda ir pietiekama.
1:21 Divi: būvēšanas skripts darbojas jūsu datorā, kā jūs, ar jūsu SSH atslēgām un cargo
Mehānisms: build.rs, bez smilškastes, noņemšanas ēsma
1:26 žetonu, pirms jūsu kods kompilējas. Bez smilškastes, pēc dizaina: tā pakotnes atrod C bibliotēkas. Trīs: iekšpusē ir īsts proc-macro2, tāpēc būvēšana izdodas. Datu plūsma: TLS klients, kas uzticas jebkuram sertifikātam, ielādē bināru, nomet to /tmp/rust-setup un palaiž to atvienotu. Operētājsistēmā Windows tas novirzās caur wscript, lai izvairītos no Cargo darba objekta; avots komentārs to apstiprina. Otrais posms, saskaņā ar RustSec pavedienu: attālās piekļuves rīks, kas paredzēts
1:52 pārlūkprogrammām un kriptovalūtu makiem. Poētiski, jo arrayref lielākie lietotāji ietver secp256k1 un Solana. git blame. Cargo modelis, piecdesmit pieci procenti: atkarības izpilda kodu jūsu datorā kompilācijas laikā, bez smilškastes, un noņemšanas brīdinājums novirzīja cilvēkus uz
git blame — sadalīšana
2:07 indi. Viens konts, trīsdesmit: viens akreditācijas dati atkārtoti publicē pakotni ceturtdaļu miljarda lejupielāžu uzticas. Cipars viens, piecpadsmit: viens taustiņa nospiediens no Rust uzticamākās pakotnes, un neviens nelasa koku. Sprādziena rādiuss: 2285 lejupielādes 86 minūtēs. Mazāk nekā desmit procenti satiksmes, jo lielākajā daļā bloķēšanas failu bija 0.3.9. crates.io norāda, ka nav pierādījumu par lietošanu.
Sprādziena rādiuss: 2285 lejupielādes
2:27 Divi cilvēki RustSec pavedienā nepiekrīt; viens atrod systemd pakalpojumu. Hacker News populārākais pavediens nav par ļaunprātīgo programmatūru. Tas ir pakotnes lapa, kurā 0.3.10 tagad nekad nav pastāvējis. Spriedums, pēcapstrāde: NEEDS REVIEW. Astoņdesmit sešas minūtes, lai dzēstu, tajā pašā dienā emuāra ieraksts, konts bloķēts: tā daļa ir SHIP IT. Bet pakotnes lapa rāda, ka nekas nav noticis, cargo audit klusē par kešatmiņā saglabātu
Spriedums + pirmdienas rinda
2:48 kopiju, un būvēšanas skripti joprojām darbojas kā jūs. Pirmdiena: palaidiet Rust emuāra atrašanas komandu un izturieties pret noņemšanas brīdinājumu kā jautājumu, nevis norādījumu. Sūtiet man incidentu, par kuru joprojām nav atļauts runāt, komentāros vai vietnē the daily diff dot dev. Un tas ir šodienas atšķirība. Esmu Niko no Axrisi. Apvienojiet atbildīgi.
Avoti
- 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



