# Crate Rust je med prevajanjem pognal zlonamerno programsko opremo. 86 minut.

Published: 2026-09-15

Štiri-makro Rust crate s 260 milijoni prenosov doda eno odvisnost, in \`cargo build\` poganja binarno datoteko neznanca na vašem računalniku. 20. avgust 2026: arrayref 0.3.10 pristane na crates.io, odvisen od proc-macro1 – ne proc-macro2, pravega – katerega skripta za gradnjo prenese koristni tovor, ga spusti v /tmp/rust-setup in ga zažene v ločenem procesu, medtem ko se vaš projekt prevaja. Čiste različice so umaknjene, tako da vas Cargovo opozorilo popelje do zastrupljene. 86 minut kasneje je izbrisana.

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

## Kaj zajema ta videoposnetek

- cargo build poganja binarno datoteko neznanca
- Potrdila: Rust Blog, SafeDep, Hacker News
- To je The Daily Diff, postmortem
- Časovnica: 02:11 priprava → 07:15 objavljeno → 08:41 izbrisano
- Mehanizem: build.rs, brez peskovnika, vaba umika

## Poglavja

- 0:00 cargo build poganja binarno datoteko neznanca
- 0:20 Potrdila: Rust Blog, SafeDep, Hacker News
- 0:33 To je The Daily Diff, postmortem
- 0:40 Časovnica: 02:11 priprava → 07:15 objavljeno → 08:41 izbrisano
- 1:25 Mehanizem: build.rs, brez peskovnika, vaba umika
- 2:05 git blame — razcep
- 2:25 Obseg škode: 2.285 prenosov
- 2:45 Razsodba + ponedeljkova linija

## Preveden prepis

Prevedeno iz izvirnega angleškega pripovedovanja. Razpoložljivi zvok in podnapisi so nadzorovani s strani YouTuba.

### cargo build poganja binarno datoteko neznanca

0:00 Štiri-makro Rust crate s četrt milijarde prenosov doda eno odvisnost, in cargo build poganja binarno datoteko neznanca na vašem računalniku. 20. avgust 2026. arrayref 0.3.10 pristane na crates.io, odvisen od proc-macro1. Ne proc-macro2, pravega: ena številka narobe, in njegov skript za gradnjo poganja koristni tovor, medtem ko se vaš projekt prevaja. Rustova varnostna ekipa ga izbriše 86 minut kasneje.

### Potrdila: Rust Blog, SafeDep, Hacker News

0:22 SafeDep objavi razčlenitev. Hacker News: 554 točk. Kako se to zgodi, zakaj Cargo to dopušča in kdo je kriv. To je The Daily Diff, postmortem. Dve zjutraj, UTC.

### To je The Daily Diff, postmortem

0:33 Račun z imenom d-tolney, ena črka od Davida Tolnaya, ki vzdržuje polovico Rusta, objavi proc-macro1 1.0.106: pravi

### Časovnica: 02:11 priprava → 07:15 objavljeno → 08:41 izbrisano

0:41 proc-macro2, preimenovan. Priprava. 07:11. Različica 1.0.107 doda skript za gradnjo, plus base64, TLS in HTTP odjemalca. Za razčlenjevalnik žetonov. 07:15. Račun vzdrževalca ponovno objavi arrayref kot 0.3.10 in umakne vse starejše različice. Cargo izpiše: razmislite o posodobitvi na različico, ki ni umaknjena. Edina, ki je ostala, je zastrupljena.

1:02 Opozorilo je vaba. Isto minuto varnostno podjetje to prijavi Rustu. 07:54, RustSec težava. 08:29, težava na repozitoriju; napadalec odgovori z 0.3.11 in drugo zlonamerno odvisnostjo. 08:41, izbrisano. Šestinosemdeset minut. Zakaj? Eno: Cargo zgradi vsako deklarirano odvisnost, poklicano ali ne. Ena vrstica v manifestu je dovolj.

1:21 Dve: skripta za gradnjo se zažene na vašem računalniku, kot vi, z vašimi SSH ključi in cargo

### Mehanizem: build.rs, brez peskovnika, vaba umika

1:26 žetonom, preden se vaša koda prevede. Brez peskovnika, po zasnovi: tako crate najdejo C knjižnice. Tri: znotraj je pravi proc-macro2, zato je gradnja uspešna. Koristni tovor: TLS odjemalec, ki zaupa vsakemu potrdilu, pridobi binarno datoteko, jo spusti v /tmp/rust-setup in jo zažene v ločenem procesu. V sistemu Windows se preusmeri skozi wscript, da uide Cargovemu objektu opravila; vir komentar to pravi. Druga faza, po niti RustSec: orodje za oddaljeni dostop, namenjeno

1:52 brskalnikom in kripto denarnicam. Poetično, saj med največjimi uporabniki arrayrefa spadajo secp256k1 in Solana. git blame. Cargov model, petinpetdeset odstotkov: odvisnosti poganjajo kodo na vašem računalniku med prevajanjem, brez peskovnika, in opozorilo o umiku je ljudi vodilo do

### git blame — razcep

2:07 strupene. En račun, trideset: ena poverilnica ponovno objavi crate, ki mu četrtina milijarde prenosov zaupa. Številka ena, petnajst: en pritisk na tipko iz Rustovega najbolj zaupanja vrednega cratea, in nihče ne prebere drevesa. Obseg škode: 2.285 prenosov v 86 minutah. Pod deset odstotkov prometa, ker je večina lockfilov imela 0.3.9. crates.io pravi, da ni dokazov o uporabi.

### Obseg škode: 2.285 prenosov

2:27 Dva človeka na niti RustSec se ne strinjata; eden najde storitev systemd. Na Hacker News zgornja nit ni o zlonamerni programski opremi. Gre za stran cratea, kjer 0.3.10 zdaj nikoli ni obstajal. Razsodba, postmortem: NEEDS REVIEW. Šestinosemdeset minut za izbris, blog objava istega dne, račun zaklenjen: ta del je SHIP IT. Ampak stran cratea kaže, da se ni nič zgodilo, cargo audit molči o predpomnjeni

### Razsodba + ponedeljkova linija

2:48 kopiji, in skripti za gradnjo še vedno tečejo kot vi. Ponedeljek: zaženite Rust blogov ukaz za iskanje in obravnavajte opozorilo o umiku kot vprašanje, ne navodilo. Pošljite mi incident, o katerem še vedno ne smete govoriti, v komentarjih, ali na the daily diff dot dev. In to je diff za danes. Sem Niko iz Axrisi. Odgovorno združujte.

## Viri

- [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
