AUR paketleri bilgi hırsızı ve rootkit ile enfekte edildi
(discourse.ifin.network)- AUR paket deposu, bakımı yapılmayan paketlerin herkes tarafından devralınabildiği ve PKGBUILD ile ilgili dosya değişikliklerinin gönderilebildiği bir yapıya sahip; bu olayda 408'den fazla paketin enfekte olduğuna dair bulgular var
- Yeni bir AUR paket maintainer'ı, güvenilir bir maintainer'ı taklit ederek paketleri devraldı ve diğer AUR maintainer'ları enfekte paketleri kaldırma çalışmalarını yürüttü
- İlk enfekte paketler, preinstall betiğiyle
npmçalıştırarak kötü amaçlı yük olanatomic-lockfilepaketini kuracak şekilde değiştirildi - Daha sonraki enfeksiyonlarda Bun kullanılarak kötü amaçlı
js-digestkuruldu; NPM bu paketi kaldırdı - Paketlerin çoğu nadiren kullanılsa da kapsamın geniş olması ve bilgi hırsızlığı davranışına ek olarak eBPF rootkit de içeren bir tedarik zinciri saldırısı olması önemli
Olayın durumu
-
Ne oldu
- Yeni bir AUR paket maintainer'ının, güvenilir bir maintainer'ı taklit ederek 408'den fazla paketi devralıp enfekte ettiğine dair bulgular var
- İhlal bildirildikten sonra diğer AUR maintainer'ları enfekte paketleri kaldırma çalışmalarını yürüttü
- 2026-06-12T17:30:00Z itibarıyla AUR maintainer'ları tüm kötü amaçlı commit'lerin kaldırıldığını bildirdi
- AUR maintainer'ları, paket devralma özelliği dahil bazı işlevlere kontrol ve kısıtlama uygulamaya karar verdi
- Arch Linux, Active AUR malicious packages incident duyurusunu yayımladı
-
Kötü amaçlı bağımlılıklar
- Saldırı en az iki ayrı kötü amaçlı bağımlılık içeriyor
- İlk etkilenen paketler, preinstall betiğiyle
npmkullanarak kötü amaçlı yük olanatomic-lockfilepaketini kuracak şekilde değiştirildi premake-gitpaketinde bu değişikliğin örnek commit'i bulunuyor- Daha sonraki enfeksiyonlarda Bun kullanılarak kötü amaçlı
js-digestkuruldu ve NPMjs-digestpaketini kaldırdı - Saldırının ayrıntılı analizi Preliminary analysis of AUR malware içinde yer alıyor
Müdahale ve ihlal göstergeleri
-
Önerilen adımlar
- Arch kullanmıyorsanız bu AUR paket ihlalinden doğrudan etkilenmiyorsunuz
- Arch kullanıcıları, etkilenen paketler listesini incelemeli ve maruziyet kontrol betiğiyle sistemlerini denetlemeli
- Asıl metne bağlı
aur_check.sheski bir sürüm; en güncel kontrol yöntemi için ilgili Gist yönergeleri izlenmeli - İhlal göstergeleri bulunursa uygun adli inceleme için sistem korunmalı
- Enfekte paket tespit edilirse olağan ihlal müdahale prosedürleri izlenmeli, tüm kimlik bilgileri değiştirilip Arch'ın yeniden kurulması değerlendirilmelidir
- Rootkit ihtimali nedeniyle sistemin güvenilirliği artık garanti edilemez
- Tüm kullanıcılar ağ üzerinde dışa giden Tor trafiğini engelleyecek önlemler almalı
-
İhlal göstergeleri
js-digestiçine gömülü kötü amaçlı Linux çalıştırılabilir dosyasının SHA256 değeri7883bda1ff15425f2dbe622c45a3ae105ddfa6175009bbf0b0cad9bf5c79b316bpftool map listile şüpheli eBPF Maps tespit edilebilir- Şüpheli map adları arasında
hidden_pids,hidden_names,hidden_inodesyer alıyor
-
Ek doğrulamalar
- Kötü amaçlı commit'leri mevcut maintainer hesapları yapmadı; bunun yerine bilinen maintainer hesapları taklit edildi
- Paketlerin çoğu nadiren kullanılsa da 408'den fazla paketi kapsayan enfeksiyonun kapsamı büyük
- Bilgi hırsızlığı davranışına ek olarak eBPF rootkit de içeren tedarik zinciri saldırıları nadir görülüyor
- Socket.dev üzerindeki
atomic-lockfilesayfası, kötü amaçlı NPM paketinin 134 indirmeye ulaştığını gösteriyor - NPM paketi,
herbsoberingkullanıcısı tarafından maintain ediliyor - GitHub'da
herbsoberingkullanıcı adı aratıldığında, reverse shell/proxy aracı gibi görünen tek bir container image olanherbsobering430bulunuyor - AUR paket deposunda, bir paket bakımsız olarak işaretlendiğinde herkes bu paketi devralıp PKGBUILD ve ilgili dosyalarda değişiklik gönderebilir
- Terk edilmiş paketleri otomatik olarak bulup devralma yöntemi nadir değildir; ilgili arka plan Mastodon dizisinde yer alıyor
1 yorum
Hacker News görüşleri
AUR'un yalnızca kullanıcıların oluşturduğu bir PKGBUILD koleksiyonu olduğunu kabul etmek gerekiyor
AUR'dan kurduğunuz her PKGBUILD'nin kaynağını mutlaka incelemelisiniz; güncellemeler de bunun istisnası değil. Bu, 10 yıldan uzun süredir sürekli tartışılan bir ön kabul ve
yaygibi resmî bir AUR helper'ının olmamasının nedeni de buArch Linux'un elitist olduğuna dair çok şikâyet var ama pratikte bu, ne yaptığını bilen ve her adımda elinden tutulmasını istemeyen insanlar için bir dağıtım. Rastgele AUR paketleri kurup sisteminizi bozduysanız ya da ele geçirilmesine yol açtıysanız, bu aynı zamanda sizin sorumluluğunuz demek
Yine de herkesin AUR paketlerini devralabildiği dönem sona erebilir. Her seferinde etkilenen paketleri geri almanın maliyetine bakınca bu çok büyük. Alternatif olarak tüm devralma taleplerini incelemek de fazla yük getirir ve her seferinde işe yarayacağının garantisi yok
İnternet erişimi olmayan ya da açığa çıkmasının sorun olmayacağı şeylere erişen yerlerde çalıştırmıyorsanız, bence evet
AUR için geçerli olmayabilir ama diğer ekosistemler izin modeli veya sandboxing ile teorik olarak iyileştirilebilir. Tarayıcı eklentilerinde böyle seçenekler zaten var ama “ortalama” kullanıcı bunları neredeyse hiç kullanmıyor
Ne yazık ki insanların %99,99'u her şeyi inceleyemez ya da buna vakit ayıramaz. Güvenilir bakımcılara sahip dağıtım paketleri ya da izinler ve belli ölçüde inceleme bulunan iOS App Store gibi yerler en güvenlisi gibi görünüyor
Bu olay, PKGBUILD içinde oldukça özensiz biçimde
npm installçalıştırılması nedeniyle biraz sıra dışı. Artık AUR dışındaki neredeyse tüm paket depoları da aynı soruna sahip ve tüm bağımlılık zincirini elle denetlemek gerçekçi değilElbette benim de bir çözümüm yok
İnsanlar SELinux'u kapatıyor,
--privilegedseccomp ve AppArmor'u devre dışı bırakıyor, sandbox'tan kaçış CVE'leri de varSonuçta keşke
username/packagename-bin|gitgibi bir yapıya geçilse. O zaman insanların gerçekte neyi kimden kurduğu çok daha açık olurduBu kampanya hâlâ sürüyor. Az önce eski paketlerimden birinin devralındığını söyleyen bir e-posta aldım; yıllardır çalışmıyordu ve bir süredir yetim paketti. Devralındıktan hemen sonra kötü amaçlı commit eklendi
Görünüşe göre artık npm yerine bun kullanılıyor, bu yüzden npm tabanlı geçici önlemler etkisiz kalabilir
https://aur.archlinux.org/cgit/aur.git/commit/?h=toggldeskto...
Rahatsız edici olurdu ama AUR'un başka birinin terk ettiği paketin devralınmasına izin vermek yerine yeni gönderim zorunlu kılması ve belli bir süreden sonra yetim paketleri düzenli olarak silmesi belki daha iyi olurdu
AUR'dan bir şey kurarken dikkatli olmak gerektiği zaten açık ve geçmişte de hatalı derlenen ya da yanlış paketlenen şüpheli paketler hep vardı; ama aktif kötü amaçlı ekleme görmek endişe verici
Bence AUR'un iki büyük sorunu var. Birincisi, üçüncü taraf koduna genel olarak güvenilebildiği daha eşitlikçi bir açık kaynak döneminden kalma bir miras olması. İkincisi ise yetim paketlerin, mevcut geçmiş ve doğrulama izi aynen korunarak herkes tarafından devralınabilmesi
İlk dönem zaten kapandı; ikinci sorun ise AUR hesapları üzerinde daha sıkı denetim kurularak veya AUR helper tarafına ek korumalar eklenerek hafifletilebilir. Örneğin yakın zamanda sahibi değişmiş paketler için büyük ve korkutucu bir uyarı gösterilebilir. İnsanların bir kısmı yine sadece
ytuşlayıp geçer ama bu, hiç olmamasından iyidirYa da AUR helper'lardan tamamen kaçınıp ihtiyaç duyulan paketi doğrudan PKGBUILD'den inceleyip derlemek de mümkün
İnceleme yapmanız için aktif biçimde soruyorlar ve son olarak riski kabul ettikten sonra değişiklik olup olmadığını da bildiriyorlar
Ancak “AUR zararlıdır” bakış açısı yeni değil. AUR kullananların buradaki riskleri anlaması gerekir ve pratikte bu, StackOverflow'da bulunan bir şeyi
curl | bashyapmaktan sadece bir kademe daha iyiBu olayın üzerinden 7 saatten fazla geçti ama archlinux.org ya da aur.archlinux.org üzerinde hâlâ hiçbir açıklama yok. Nedenini anlamıyorum. Kullanıcıların bu olaydan haberdar olduğunu gösteren bir önlem alınana kadar AUR kapatılmalıydı
Örneğin AUR API URL’si ufakça değiştirilerek yay/yaourt kullanıcılarının neler olduğunu araştırması sağlanabilirdi. Yeni API’de kullanıcıyı bilgilendirecek ve devam etmeden önce mesajı okuduğunu doğrulatacak bir altyapı olmalıydı. Özellikle de tüm kötü amaçlı yazılımların bulunup bulunmadığı bile net değilken bu daha da gerekli
Ayrıca geri çekilmiş ya da ihlal edilmiş AUR commit’leri için bir veritabanı olmalı ve kullanıcı bu paketleri daha önce kurduysa uyarı verecek bir mekanizma da bulunmalı
Adının içinde bile var ve wiki belgelerinde de AUR’un bir kullanıcı deposu olduğu, körü körüne güvenilmemesi gerektiği açıkça belirtiliyor
Hemen üst taraftaki büyük kırmızı kutuda aynen yazıyor: https://wiki.archlinux.org/title/Arch_User_Repository
AUR’da asla kurmayacağım pek çok şey var ve bunların hepsini mailing list’e yaymanın en iyi çözüm olduğunu da düşünmüyorum
Kötü niyetli paketleri kurmuş kullanıcılara uyarı gönderme fikrine karşı değilim ama uygulanabilirliği düşük. Çünkü AUR’da ticari araçlardaki gibi kurulum takibi yok. Kimin hangi paketi kurduğunu nasıl bileceksiniz? AUR temelde bir paket konum rehberine daha yakın ve giriş ya da kimlik doğrulama bilgisi de istemiyor
Bu yüzden uyarı, dikkat eden kullanıcının çalıştırabileceği araçlardan gelmeli ve gerçekten dikkat etmesini gerektirmeli. Örn: https://gist.github.com/Kidev/59bf9f5fb53ab5eee99f19a6a2fc39...
Yeni API’nin kullanıcıyı bilgilendirip okuduğunu doğrulatması tam olarak nasıl işleyecek? AUR paketleri sonuçta sadece git deposu ve AUR helper’ların ne yapıp ne yapmadığını Arch maintainers kontrol edemez
Bilinen etkilenen paketlerin hepsini listelemek istemiyorlarsa, en azından AUR paketi kullananların kullandıkları tüm paketlerdeki tüm dosyaları okumaları gerektiğinin resmî görüş olarak tavsiye edilmesi gerek
Bu bir bakıma mantıklı. Etkilenenler listesindeki bazı paketleri biliyorum; aşırı eski paketler ve upstream projeleri de artık sürdürülmüyor
Toplam kaç kurban olduğunu bilmiyorum ama AUR ekibinin elinde kesin sayılar olma ihtimali yüksek. Etki düzeyine uygun şekilde ellerinden geleni yapıyorlardır diye düşünüyorum
Böyle bir şeyin eninde sonunda kaçınılmaz olduğu belliydi ve bir değişiklik olmazsa daha sık yaşanması muhtemel. AUR PKGBUILD sistemini gerçekten seviyorum ve kendim yazarken de sık kullanıyorum
En ciddi ama düzeltmesi en kolay sorun, yetim paketlerin herkes tarafından devralınabilmesi ama bunun son kullanıcıya hiç bildirilmemesi
Paketi sildirtmenin getirisi, harcanan emeğe kıyasla düşük olduğundan, kontrolü bırakmanın en iyi yolu paketi yetim bırakmak oluyor. Bence bunun tersi olmalı. En azından kullanıcı, paketin yetim kaldığını açıkça görebilmeli
Bu yük belki de daha çok paru ya da yay gibi AUR helper’lara düşüyor olabilir ve böyle bir değişiklik yapmaları teşvik edilmeli
İhlal edilmiş paketleri tarayan basit bir script var
https://cscs.pastes.sh/aurvulntest20260611.sh
Script bana ait değil ve okuyup anlaması kolay. Script’leri asla doğrudan bash’e pipe etmemek gerekir
comm -1 -2 <(pacman -Qq | sort) <(curl -s https://gist.githubusercontent.com/quantenProjects/… | sort)comm(1)öğrenmek için kötü bir zaman diye bir şey yokturMuhtemelen benim gibi bir süredir, hatta birkaç aydır
yay -Syuçalıştırmadıysanız güvendesinizdir, değil mi? …değil mi?Kahretsin, beni yeniden Arch kurmak zorunda bırakmayın. Geçen sefer bir haftamı almıştı
Güncelleme: archinstall iyiymiş. Yaklaşık 15 dakikada yeniden ayağa kalktım
Her zaman PKGBUILD ve kaynakları kontrol etmek gerekir. AUR genel olarak güvenilecek bir yer değil. Hatta asıl şaşırtıcı olan, böyle bir ihlalin daha önce yaşanmamış olması
9 Junaramak yalnızca İngilizce locale’de ya da benzer tarih biçimi kullanan locale’lerde çalışırKendi ortamıma göre düzelttikten sonra
jd-guieşleşti ama ben aslında ihlalden yaklaşık iki saat öncejd-gui-binkurmuştum. Sanırım o gece tembellik edip kaynaktan derlemeyi beklemek istemeyerek-binpaketini seçmem sayesinde şanslıydımArch topluluğu script’leri ve araçları hızla çıkarıyor
Şu anda bulaşma durumunu kontrol etmek için en güncel birleşik yardımcı araç şu:
https://github.com/lenucksi/aur-malware-check
Ayrıca aur-request posta listesinde de kötü niyetli commit’leri geri almak için silme ve yetim bırakma talepleri yoğun şekilde geliyor:
https://lists.archlinux.org/archives/list/aur-requests@lists...
O script’te anlaması zor birçok kısım var, bu yüzden sadece kodu okuyarak güvenli olup olmadığını kolayca değerlendirmek mümkün değil
Resmi Arch geliştiricilerinden bir tepki ya da çözüm bekleniyor
Böyle büyük bir zararlı yazılım saldırısına eşlik eden aciliyet ve önemi iyi yansıtıyor
Yaklaşık 10 yıl önce Arch Linux’ta emülatör Mednafen’i kurduğumu hatırlıyorum. Program çalışmıyordu çünkü sistemimde olmayan bir kütüphaneye linklenmişti
Meğer bakımını yapan kişi yazılımı kendi sisteminde derlemiş ve o sistemde bulunan bir kütüphane kullanılmış ama bağımlılıklar arasında belirtilmemiş
Bu resmi olarak bakımı yapılan bir paketti ve ben bunların her zaman özel build sunucularında üretildiğini sanıyordum; rastgele gönüllülerin ya da ev bilgisayarlarının üzerinde derlendiğini düşünmemiştim. Arch’ın hâlâ aynı şekilde derleme yapıp yapmadığını bilmiyorum ama bu olay beni dağıtım değiştirecek kadar korkutmuştu
pkgctl buildkullansanız bile bu yaşanabilir.makedepends=geçişli olarak build ortamına paylaşımlı kütüphaneler çekmiş olabilir amadepends=içinde eksik kalmıştır.sobağımlılığı tespit edilirse uyarı verilir ama bunu görüp gereğini yapmak bakımcıya kalırGüvenlik ve emniyet açısından Arch Linux, reproducible builds projesini ileri taşıyan ana aktörlerden biriydi ve işletim sisteminin kayda değer bir kısmında o ikili dosyaların gerçekten kaynak koddan üretildiği bağımsız olarak doğrulanabiliyor. Resmi paketlerin denetim yapısı NixOS’tan daha güçlü ve Debian’la benzer düzeyde:
https://reproducible.archlinux.org/
Yine de tüm bunların bu AUR olayıyla hiçbir ilgisi yok
pkgctlBir bakımcı, yayımlamadan önce bu tür araçları mutlaka kullanmalı
Bunun çözümü ne? Böyle paketleri ağ erişimi olmayan bir Docker konteyneri içinde mi kurmak gerekiyor? Bunun yalnızca AUR’la sınırlı olduğunu varsaymamak gerektiğini düşünüyorum
2026’da tüm yazılım kaynaklarından şüphe etmek gerekecek. Özellikle vibe coding yaygınlaşmışken ve kapalı kaynak yazılımlar birer kara kutu olduğu için açık kaynaktan da büyük bir kaos barındırırken
Ciddi ciddi geçmeye kalkarsam pil ömrünün ne kadar kötüleşeceğini bilen var mı?
Konuyla ilgili daha fazla haber çıkıyor
https://www.phoronix.com/news/Arch-Linux-AUR-400-Compromised
Çalıştırıldığında sadece e-posta gönderen ya da bildirim gösteren bir canary binary üretip buna
npmdeme fikrini düşünmüştümBu noktada npm ikili dosyasının adını değiştirmemek büyük bir risk