# Egy Rust crate rosszindulatú programot futtatott fordítási időben. 86 perc.

Published: 2026-09-15

Egy négymacróval rendelkező Rust crate 260 millió letöltéssel hozzáad egy függőséget, és a \`cargo build\` egy idegen bináris fájlt futtat a gépeden. 2026. augusztus 20.: az arrayref 0.3.10 verziója felkerül a crates.io-ra, függve a proc-macro1-től – nem a valódi proc-macro2-től – melynek build scriptje letölt egy payloadot, a /tmp/rust-setup-ba dobja, és leválasztva elindítja, miközben a projekted fordítódik. A tiszta verziókat visszavonják, így a Cargo saját figyelmeztetése elvezet a mérgezett verzióhoz. 86 perccel később törlésre kerül.

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

## Amit ez a videó tartalmaz

- a cargo build egy idegen binárist futtat
- A források: Rust Blog, SafeDep, Hacker News
- Ez a The Daily Diff, utólagos elemzés
- Idővonal: 02:11 előkészítés → 07:15 közzététel → 08:41 törölve
- Mechanizmus: build.rs, homokozó nélkül, a visszavonási csali

## Fejezetek

- 0:00 a cargo build egy idegen binárist futtat
- 0:20 A források: Rust Blog, SafeDep, Hacker News
- 0:33 Ez a The Daily Diff, utólagos elemzés
- 0:40 Idővonal: 02:11 előkészítés → 07:15 közzététel → 08:41 törölve
- 1:25 Mechanizmus: build.rs, homokozó nélkül, a visszavonási csali
- 2:05 git blame — az elválasztás
- 2:25 Robbanási sugár: 2285 letöltés
- 2:45 Ítélet + a hétfői vonal

## Lefordított átirat

Az eredeti angol narrációból fordítva. A rendelkezésre álló hangot és feliratokat a YouTube vezérli.

### a cargo build egy idegen binárist futtat

0:00 Egy négymacróval rendelkező Rust crate negyedmilliárd letöltéssel hozzáad egy függőséget, és a cargo build egy idegen bináris fájlt futtat a gépeden. 2026. augusztus 20. Az arrayref 0.3.10 verziója felkerül a crates.io-ra, függve a proc-macro1-től. Nem a proc-macro2-től, a valóditól: egy szám eltérés, és a build scriptje futtat egy payloadot, miközben a projekted fordítódik. A Rust biztonsági csapata 86 perccel később törli.

### A források: Rust Blog, SafeDep, Hacker News

0:22 A SafeDep közzéteszi a hibaelhárítást. Hacker News: 554 pont. Hogyan történik, miért engedi a Cargo, és ki a hibás. Ez a The Daily Diff, utólagos elemzés. Hajnali kettő, UTC.

### Ez a The Daily Diff, utólagos elemzés

0:33 Egy d-tolney nevű fiók, egy betűre David Tolnay-tól, aki a Rust felét tartja karban, közzéteszi a proc-macro1 1.0.106-ot: valódi

### Idővonal: 02:11 előkészítés → 07:15 közzététel → 08:41 törölve

0:41 proc-macro2, átnevezve. Előkészítés. 07:11. Az 1.0.107-es verzió hozzáad egy build scriptet, plusz base64, TLS és egy HTTP kliens. Egy token elemzőhöz. 07:15. A karbantartó fiókja újraközli az arrayref-et 0.3.10-ként és visszavon minden régebbi verziót. A Cargo kiírja: fontolja meg a frissítést egy olyan verzióra, amely nincs visszavonva. Az egyetlen megmaradt a mérgezett.

1:02 A figyelmeztetés a csali. Ugyanebben a percben egy biztonsági cég jelenti a Rustnak. 07:54, egy RustSec probléma. 08:29, egy probléma a tárolón; a támadó 0.3.11-gyel válaszol, és egy második rosszindulatú függőséggel. 08:41, törölve. Nyolcvanhat perc. Miért? Egy: a Cargo minden deklarált függőséget lefordít, akár hívják, akár nem. Egy manifest sor is elég.

1:21 Kettő: egy build script fut a gépeden, mint te, a te SSH kulcsaiddal és cargo

### Mechanizmus: build.rs, homokozó nélkül, a visszavonási csali

1:26 tokeneddel, mielőtt a kódod lefordítódik. Nincs homokozó, szándékosan: így találják meg a crate-ek a C könyvtárakat. Három: benne van a valódi proc-macro2, így a build sikeres. A payload: egy TLS kliens, amely minden tanúsítványban megbízik, letölt egy binárist, a /tmp/rust-setup-ba dobja, és leválasztva elindítja. Windowson a wscript-en keresztül tereli el, hogy elkerülje a Cargo job objektumát; egy forrás komment meg is említi. A második szakasz, a RustSec szál szerint: egy távoli hozzáférési eszköz, amely

1:52 böngészőket és kripto pénztárcákat céloz. Költői, mivel az arrayref legnagyobb felhasználói között szerepel a secp256k1 és a Solana. git blame. A Cargo modellje, ötvenöt százalék: a függőségek kódot futtatnak a te gépeden fordítási időben, homokozó nélkül, és a visszavonási figyelmeztetés elvezette az embereket a

### git blame — az elválasztás

2:07 méreghez. Egy fiók, harminc: egy hitelesítő adat újraközöl egy crate-et, amelyre negyedmilliárd letöltés támaszkodik. Az egyes szám, tizenöt: egy billentyűleütés a Rust legmegbízhatóbb crate-jétől, és senki sem olvassa a fát. Robbanási sugár: 2285 letöltés 86 perc alatt. A forgalom kevesebb mint tíz százaléka, mert a legtöbb lockfile 0.3.9-et tartalmazott. A crates.io szerint nincs bizonyíték a használatra.

### Robbanási sugár: 2285 letöltés

2:27 Két ember a RustSec szálon nem ért egyet; az egyik talál egy systemd szolgáltatást. A Hacker News-on a legnépszerűbb szál nem a rosszindulatú programról szól. Hanem a crate oldalról, ahol a 0.3.10 most soha nem is létezett. Ítélet, utólagos elemzés: NEEDS REVIEW. Nyolcvanhat perc a törlésig, egy aznapi blogbejegyzés, a fiók zárolva: ez a rész SHIP IT. De a crate oldal azt mutatja, hogy semmi sem történt, a cargo audit hallgat a gyorsítótárazott

### Ítélet + a hétfői vonal

2:48 másolatról, és a build scriptek még mindig úgy futnak, mint te. Hétfő: futtasd a Rust blog keresőparancsát, és kezeld a visszavonási figyelmeztetést kérdésként, nem utasításként. Küldd el nekem azt az incidenst, amiről még mindig nem beszélhetsz, a kommentekben, vagy a daily diff dot dev címen. És ez volt a mai diff. Niko vagyok az Axrisi-től. Felelősségteljesen egyesíts.

## Források

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