# Rust crate batek malwarea exekutatu zuen konpilazio garaian. 86 minutu.

Published: 2026-09-15

260 milioi deskarga dituen lau makroko Rust crate batek mendekotasun bat gehitzen du, eta \`cargo build\`-ek ezezagun baten bitarra exekutatzen du zure makinan. 2026ko abuztuaren 20a: arrayref 0.3.10 crates.io-ra iristen da proc-macro1-en menpe —ez proc-macro2, benetakoa—, zeinaren build script-ak karga bat deskargatzen duen, /tmp/rust-setup-en uzten duen eta deslotuta sortzen duen zure proiektua konpilatzen den bitartean. Bertsio garbiak kendu egiten dira, Cargo-ren abisuak pozoitutako batera eramaten zaituelarik. 86 minutu geroago ezabatu egiten da.

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

## Bideo honek zer jorratzen duen

- cargo build-ek ezezagun baten bitarra exekutatzen du
- Frogagiriak: Rust Blog, SafeDep, Hacker News
- Hau The Daily Diff da, postmortem
- Denbora-lerroa: 02:11 prestatze → 07:15 argitaratua → 08:41 ezabatua
- Mekanismoa: build.rs, ez dago sandbox-ik, "yank" amarrua

## Kapituluak

- 0:00 cargo build-ek ezezagun baten bitarra exekutatzen du
- 0:20 Frogagiriak: Rust Blog, SafeDep, Hacker News
- 0:33 Hau The Daily Diff da, postmortem
- 0:40 Denbora-lerroa: 02:11 prestatze → 07:15 argitaratua → 08:41 ezabatua
- 1:25 Mekanismoa: build.rs, ez dago sandbox-ik, "yank" amarrua
- 2:05 git blame — banaketa
- 2:25 Leherketa-erradioa: 2.285 deskarga
- 2:45 Epaia + asteleheneko lerroa

## Itzulitako transkripzioa

Jatorrizko ingelesezko narraziotik itzulia. Eskuragarri dauden audioa eta azpitituluak YouTube-k kontrolatzen ditu.

### cargo build-ek ezezagun baten bitarra exekutatzen du

0:00 Milioi laurden deskarga dituen lau makroko Rust crate batek bat menpekotasun bat gehitzen du, eta cargo build-ek ezezagun baten bitarra exekutatzen du zure makinan. 2026ko abuztuaren 20a. arrayref 0.3.10 crates.io-ra iristen da proc-macro1-en menpe. Ez proc-macro2, benetakoa: digitu bat gaizki, eta bere build script-ak bat karga bat exekutatzen du zure proiektua konpilatzen den bitartean. Rust-en segurtasun taldeak 86 minutu geroago ezabatzen du.

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

0:22 SafeDep-ek desmuntaia argitaratzen du. Hacker News: 554 puntu. Nola gertatzen den, zergatik uzten dion Cargok, eta nor den erantzulea. Hau The Daily Diff da, postmortem. Goizeko biak, UTC.

### Hau The Daily Diff da, postmortem

0:33 d-tolney izeneko kontu bat, David Tolnay-ren izenetik letra bakar batengatik aldatua, Rust-en erdia mantentzen duena, proc-macro1 1.0.106 argitaratzen du: benetako

### Denbora-lerroa: 02:11 prestatze → 07:15 argitaratua → 08:41 ezabatua

0:41 proc-macro2, berrizendatuta. Prestatze fasean. 07:11. 1.0.107 bertsioak build script bat gehitzen du, gehi base64, TLS eta HTTP bezero bat. Token analizatzaile baterako. 07:15. Mantentzailearen kontuak arrayref 0.3.10 gisa berriro argitaratzen du eta bertsio zaharrago guztiak kentzen ditu. Cargo-k inprimatzen du: kontuan hartu kendu gabeko bertsio batera eguneratzea. Geratzen den bakarra pozoitua da.

1:02 Abisua da amarrua. Minutu berean, segurtasun enpresa batek Rust-i jakinarazten dio. 07:54, RustSec arazo bat. 08:29, biltegian arazo bat; erasotzaileak 0.3.11 eta bigarren bat erantzuten du mendekotasun gaiztoa. 08:41, ezabatua. Laurogeita sei minutu. Zergatik? Bat: Cargo-k deklaratutako mendekotasun guztiak konpilatzen ditu, deituak izan edo ez. Manifestu lerro bat nahikoa da.

1:21 Bi: build script bat zure makinan exekutatzen da, zu bezala, zure SSH gakoekin eta cargo

### Mekanismoa: build.rs, ez dago sandbox-ik, "yank" amarrua

1:26 tokenarekin, zure kodea konpilatu aurretik. Ez dago sandbox-ik, diseinuagatik: horrela aurkitzen dituzte crate-ek C liburutegiak. Hiru: barruan benetako proc-macro2 dago, beraz, konpilazioa ondo ateratzen da. Karga: ziurtagiri oro fidagarritzat hartzen duen TLS bezero batek bitar bat lortzen du, /tmp/rust-setup-en uzten du eta deslotuta sortzen du. Windows-en wscript bidez desbideratzen da Cargo-ren lan-objektua ihes egiteko; iturri iruzkin batek hala dio. Bigarren fasea, RustSec hariaren arabera: urruneko sarbide tresna bat, helburu gisa

1:52 nabigatzaileak eta kripto-zorroak dituena. Poetikoa, arrayref-en erabiltzaile handienen artean secp256k1 eta Solana baitaude. git blame. Cargo-ren eredua, ehuneko berrogeita hamabost: mendekotasunek kodea exekutatzen dute zure makinan konpilazio garaian, ez dago sandbox-ik, eta "yank" abisuak jendea

### git blame — banaketa

2:07 pozoira eraman zuen. Kontu bat, hogeita hamar: kredentzial bakar batek milioi laurden deskarga dituen crate bat berriro argitaratzen du konfiantzazko. Bat digitu, hamabost: Rust-en crate fidagarrienaren tekla sakatze bakar bat, eta inork ez du zuhaitza irakurtzen. Leherketa-erradioa: 2.285 deskarga 86 minututan. Trafikoaren ehuneko hamarretik behera, lockfile gehienek 0.3.9 baitzuten. crates.io-k dio ez dagoela erabilera frogarik.

### Leherketa-erradioa: 2.285 deskarga

2:27 RustSec hariaren bi pertsona ez daude ados; batek systemd zerbitzu bat aurkitzen du. Hacker News-en, goiko haria ez da malwareari buruzkoa. Crate orria da, non 0.3.10-k orain inoiz ez zuen existitu. Epaia, postmortem: NEEDS REVIEW. Laurogeita sei minutu ezabatzeko, egun bereko blog-post bat, kontua blokeatuta: zati hori SHIP IT da. Baina crate orriak ez duela ezer gertatu erakusten du, cargo audit-ek isilik jarraitzen du cachean gordetako

### Epaia + asteleheneko lerroa

2:48 kopia batean, eta build script-ek oraindik zuri bezala exekutatzen dira. Astelehena: exekutatu Rust blog-aren bilaketa-komandoa, eta tratatu "yank" abisu bat galdera gisa, ez argibide gisa. Bidali ezin duzun gertakaria oraindik eztabaidatu, iruzkinetan, edo daily diff dot dev helbidean. Eta hori da gaurko "diff"-a. Niko naiz Axrisi-koa. Batu arduraz.

## Iturriak

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