# Bir Rust crate derleme zamanında kötü amaçlı yazılım çalıştırdı. 86 dakika.

Published: 2026-09-15

260 milyon indirmeye sahip dört makrolu bir Rust crate'i bir bağımlılık ekler ve \`cargo build\` makinenizde yabancı bir ikiliyi çalıştırır. 20 Ağustos 2026: arrayref 0.3.10, crates.io'da proc-macro1'e (gerçek olan proc-macro2 değil) bağımlı olarak yayınlanır; bunun derleme betiği bir yükü indirir, /tmp/rust-setup'a bırakır ve projeniz derlenirken ayrılmış olarak başlatır. Temiz sürümler geri çekilir, böylece Cargo'nun kendi uyarısı sizi zehirlenmiş olana yönlendirir. 86 dakika sonra silinir.

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

## Bu video neleri kapsar

- cargo build yabancı bir ikili çalıştırır
- Belgeler: Rust Blog, SafeDep, Hacker News
- Bu The Daily Diff, olay sonrası
- Zaman çizelgesi: 02:11 aşama → 07:15 yayınlandı → 08:41 silindi
- Mekanizma: build.rs, korumalı alan yok, geri çekme tuzağı

## Bölümler

- 0:00 cargo build yabancı bir ikili çalıştırır
- 0:20 Belgeler: Rust Blog, SafeDep, Hacker News
- 0:33 Bu The Daily Diff, olay sonrası
- 0:40 Zaman çizelgesi: 02:11 aşama → 07:15 yayınlandı → 08:41 silindi
- 1:25 Mekanizma: build.rs, korumalı alan yok, geri çekme tuzağı
- 2:05 git blame — ayrım
- 2:25 Etki alanı: 2.285 indirme
- 2:45 Karar + Pazartesi çizgisi

## Çevrilmiş deşifre

Orijinal İngilizce anlatımdan çevrilmiştir. Mevcut ses ve altyazılar YouTube tarafından kontrol edilir.

### cargo build yabancı bir ikili çalıştırır

0:00 Çeyrek milyar indirmeye sahip dört makrolu bir Rust crate'i bir bağımlılık ekler ve cargo build makinenizde yabancı bir ikiliyi çalıştırır. 20 Ağustos 2026. arrayref 0.3.10, crates.io'da proc-macro1'e bağımlı olarak yayınlanır. Gerçek olan proc-macro2 değil: bir rakam farkla ve derleme betiği bir yükü projeniz derlenirken çalıştırır. Rust'ın güvenlik ekibi 86 dakika sonra onu siler.

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

0:22 SafeDep incelemeyi yayınlar. Hacker News: 554 puan. Nasıl oluyor, Cargo neden izin veriyor ve suçlu kim. Bu The Daily Diff, olay sonrası. Sabah 02:00, UTC.

### Bu The Daily Diff, olay sonrası

0:33 Rust'ın yarısını sürdüren David Tolnay'dan bir harf farklı, d-tolney adında bir hesap, proc-macro1 1.0.106'yı yayınlar: gerçek proc-macro2, yeniden adlandırılmış. Aşama.

### Zaman çizelgesi: 02:11 aşama → 07:15 yayınlandı → 08:41 silindi

0:41 proc-macro2, yeniden adlandırılmış. Aşama. 07:11. Sürüm 1.0.107 bir derleme betiği ekler, ayrıca base64, TLS ve bir HTTP istemcisi. Bir belirteç ayrıştırıcısı için. 07:15. Bakımcı hesabı arrayref'i 0.3.10 olarak yeniden yayınlar ve her eski sürümü geri çeker. Cargo yazdırır: geri çekilmemiş bir sürüme güncellemeyi düşünün. Geriye kalan tek şey zehirli olandır.

1:02 Uyarı bir tuzaktır. Aynı dakika, bir güvenlik firması bunu Rust'a bildirir. 07:54, bir RustSec sorunu. 08:29, repoda bir sorun; saldırgan 0.3.11 ve ikinci bir kötü amaçlı bağımlılıkla yanıt verir. 08:41, silindi. Seksen altı dakika. Neden? Bir: Cargo, çağrılmış olsun veya olmasın, beyan edilen her bağımlılığı derler. Bir bildirim satırı yeterlidir.

1:21 İki: derleme betiği makinenizde, sizin gibi, SSH anahtarlarınız ve cargo

### Mekanizma: build.rs, korumalı alan yok, geri çekme tuzağı

1:26 belirtecinizle, kodunuz derlenmeden önce çalışır. Tasarım gereği korumalı alan yok: crate'ler C kütüphanelerini böyle bulur. Üç: içinde gerçek proc-macro2 vardır, bu yüzden derleme başarılı olur. Yük: herhangi bir sertifikaya güvenen bir TLS istemcisi bir ikili getirir, /tmp/rust-setup'a bırakır ve ayrılmış olarak başlatır. Windows'ta Cargo'nun iş nesnesinden kaçmak için wscript üzerinden dolanır; bir kaynak yorumunda öyle yazar. İkinci aşama, RustSec başlığına göre: tarayıcıları ve kripto cüzdanlarını hedefleyen

1:52 uzaktan erişim aracı. Şiirsel, çünkü arrayref'in en büyük kullanıcıları arasında secp256k1 ve Solana bulunuyor. git blame. Cargo'nun modeli, yüzde elli beş: bağımlılıklar kodunuzu derleme zamanında makinenizde çalıştırır, korumalı alan yok ve geri çekme uyarısı insanları zehre yönlendirdi. Bir hesap, otuz: bir kimlik bilgisi

### git blame — ayrım

2:07 çeyrek milyar indirmeye güvenen bir crate'i çeyrek milyar indirmeye güvenen bir crate'i yeniden yayınlar. milyar indirmeye güvenen bir crate'i yeniden yayınlar. Rakam bir, on beş: Rust'ın en güvenilir crate'inden bir tuş vuruşu, ve kimse ağacı okumaz. Etki alanı: 86 dakikada 2.285 indirme. Trafiğin yüzde onundan az, çünkü çoğu kilit dosyası 0.3.9'u tutuyordu. crates.io kullanım kanıtı olmadığını söylüyor.

### Etki alanı: 2.285 indirme

2:27 RustSec başlığındaki iki kişi aynı fikirde değil; biri bir systemd hizmeti buluyor. Hacker News'teki ana başlık kötü amaçlı yazılımla ilgili değil. Bu, 0.3.10'un şimdi hiç var olmadığı crate sayfası. Karar, olay sonrası: NEEDS REVIEW. Seksen altı dakika silme süresi, aynı gün blog yazısı, hesap kilitlendi: bu kısım SHIP IT. Ancak crate sayfası hiçbir şeyin olmadığını gösteriyor, cargo audit önbelleğe alınmış

### Karar + Pazartesi çizgisi

2:48 bir kopyada sessiz kalıyor ve derleme betikleri hala sizin olarak çalışıyor. Pazartesi: Rust blog'unun bul komutunu çalıştırın ve bir geri çekme uyarısını bir soru olarak kabul edin, bir talimat olarak değil. Hala konuşmanıza izin verilmeyen olayı bana gönderin, yorumlar kısmında veya the daily diff dot dev adresinden. Ve bugünün farkı bu. Ben Axrisi'den Niko. Sorumlu bir şekilde birleştirin.

## Kaynaklar

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