# Rust крејт покренуо злонамерни софтвер у време компилације. 86 минута.

Published: 2026-09-15

Руст крејт са четири макроа и 260 милиона преузимања додаје једну зависност, а \`cargo build\` покреће бинарну датотеку странца на вашој машини. 20. август 2026: arrayref 0.3.10 доспева на crates.io зависно од proc-macro1 — не proc-macro2, правог — чија скрипта за изградњу преузима пакет, испушта га у /tmp/rust-setup и покреће га одвојено док се ваш пројекат компајлира. Чисте верзије су повучене тако да вас Cargo-ово упозорење води до затроване. 86 минута касније се брише.

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

## Шта овај видео покрива

- cargo build покреће бинарну датотеку странца
- Рачуни: Rust Blog, SafeDep, Hacker News
- Ово је The Daily Diff, постмортем
- Временска линија: 02:11 постављање → 07:15 објављено → 08:41 избрисано
- Механизам: build.rs, без Sandbox-а, мамац за повлачење

## Поглавља

- 0:00 cargo build покреће бинарну датотеку странца
- 0:20 Рачуни: Rust Blog, SafeDep, Hacker News
- 0:33 Ово је The Daily Diff, постмортем
- 0:40 Временска линија: 02:11 постављање → 07:15 објављено → 08:41 избрисано
- 1:25 Механизам: build.rs, без Sandbox-а, мамац за повлачење
- 2:05 git blame — подела
- 2:25 Радијус експлозије: 2.285 преузимања
- 2:45 Пресуда + понедељак

## Преведени транскрипт

Преведено са оригиналне енглеске нарације. Доступни аудио и титлови контролисани су од стране YouTube-а.

### cargo build покреће бинарну датотеку странца

0:00 Руст крејт са четири макроа и четвртином милијарде преузимања додаје једну зависност, а cargo build покреће бинарну датотеку странца на вашој машини. 20. август 2026. arrayref 0.3.10 доспева на crates.io зависно од proc-macro1. Не proc-macro2, правог: једна цифра одступа, а његова скрипта за изградњу покреће пакет док се ваш пројекат компајлира. Рустов безбедносни тим га брише 86 минута касније.

### Рачуни: Rust Blog, SafeDep, Hacker News

0:22 SafeDep објављује распад. Hacker News: 554 поена. Како се то дешава, зашто му Cargo дозвољава, и ко је крив. Ово је The Daily Diff, постмортем. Два ујутру, UTC.

### Ово је The Daily Diff, постмортем

0:33 Налог по имену d-tolney, једно слово од Дејвида Толнаја, који одржава пола Руста, објављује proc-macro1 1.0.106: прави

### Временска линија: 02:11 постављање → 07:15 објављено → 08:41 избрисано

0:41 proc-macro2, преименован. Постављање. 07:11. Верзија 1.0.107 додаје скрипту за изградњу, плус base64, TLS и HTTP клијент. За парсер токена. 07:15. Налог одржаваоца поново објављује arrayref као 0.3.10 и повлачи све старије верзије. Cargo штампа: размислите о ажурирању на верзију која није повучена. Једина преостала је затрована.

1:02 Упозорење је мамац. Исте минуте, безбедносна фирма то пријављује Русту. 07:54, RustSec проблем. 08:29, проблем на репозиторијуму; нападач одговара са 0.3.11 и другом злонамерном зависношћу. 08:41, избрисано. Осамдесет шест минута. Зашто? Прво: Cargo изграђује сваку декларисану зависност, позвану или не. Једна линија манифеста је довољна.

1:21 Друго: скрипта за изградњу ради на вашој машини, као ви, са вашим SSH кључевима и cargo

### Механизам: build.rs, без Sandbox-а, мамац за повлачење

1:26 токеном, пре него што се ваш код компајлира. Без Sandbox-а, по дизајну: тако крејтови проналазе C библиотеке. Треће: унутра је прави proc-macro2, тако да изградња успева. Пајлоуд: TLS клијент који верује било ком сертификату преузима бинарну датотеку, испушта је у /tmp/rust-setup и покреће је одвојено. На Windows-у заобилази преко wscript-а да би побегао Cargo-овом објекту задатка; изворни коментар то каже. Друга фаза, према RustSec теми: алат за даљински приступ намењен

1:52 прегледачима и крипто новчаницима. Поетски, јер највећи корисници arrayref-а укључују secp256k1 и Solana. git blame. Cargo-ов модел, педесет пет посто: зависности покрећу код на вашој машини у време компилације, без Sandbox-а, а упозорење о повлачењу је водило људе до

### git blame — подела

2:07 отрова. Један налог, тридесет: једна акредитив поново објављује крејт коме четвртина милијарде преузимања верује. Цифра један, петнаест: један притисак тастера из Рустовог најпоузданијег крејта, и нико не чита стабло. Радијус експлозије: 2.285 преузимања за 86 минута. Мање од десет посто саобраћаја, јер је већина lockfile-ова држала 0.3.9. crates.io каже да нема доказа о употреби.

### Радијус експлозије: 2.285 преузимања

2:27 Двоје људи на RustSec теми се не слажу; један проналази systemd сервис. На Hacker News-у главна тема није о злонамерном софтверу. То је страница крејта, где 0.3.10 сада никада није постојао. Пресуда, постмортем: NEEDS REVIEW. Осамдесет шест минута за брисање, истог дана блог пост, налог закључан: тај део је SHIP IT. Али страница крејта показује да се ништа није десило, cargo audit остаје нем на кешираној

### Пресуда + понедељак

2:48 копији, а скрипте за изградњу и даље раде као ви. Понедељак: покрените команду за проналажење Рустовог блога, и третирајте упозорење о повлачењу као питање, а не инструкцију. Пошаљите ми инцидент о коме вам још увек није дозвољено да причате, у коментарима, или на the daily diff dot dev. И то је The Daily Diff за данас. Ја сам Нико из Axrisi. Спајајте одговорно.

## Извори

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