Teknoloji

Kötü amaçlı kod, güvendiğiniz yazılıma tedarik zinciri üzerinden böyle sızıyor

Susan Hill

Tedarik zinciri saldırısı kullandığınız yazılıma zorla girmez. Yazılımın yapıldığı parçalardan birini zehirler, sonra olağan güncelleme sürecinin onu makinenize taşımasını bekler. Uygulama sorunsuz kurulur, imza hâlâ tutar ve güncelleme resmi kanaldan gelir. Kötü amaçlı kod da onunla birlikte gelir. Tekniği bu kadar etkili kılan tam da bu tersine çevirmedir: yazılımı çalışır tutan güveni, sömürülen noktaya dönüştürür.

Bugün çalıştırdığınız neredeyse hiçbir şey, adı ekranda yazan şirket tarafından baştan sona yazılmaz. Tek bir uygulama, her biri yabancılarca sürdürülen ve her biri arkasında başka paketler çeken yüzlerce ya da binlerce açık kaynak paketi içeri çekebilir. Geliştiriciler bu kodu nadiren okur; geldiği kayıt deposuna ve eklenen sürüm numarasına güvenirler. Bu zincirin herhangi bir halkasına sızan biri, akış aşağısındaki herkese bir anda ulaşır; bu yüzden tek bir zehirli bileşen, kimse fark etmeden on binlerce projeyi etkileyebilir.

Giriş noktaları birkaç kalıpta toplanır. Typosquatting, popüler bir adın bir tuş ötesindeki bir adla kötü amaçlı bir paket yerleştirir ve yazım hatasını bekler. Bağımlılık karışıklığı, derleme araçlarının adları çözme biçimini istismar eder ve onları şirketin özel paketi yerine herkese açık bir paketi almaya kandırır. Hesap ele geçirme, gerçek bir bakımcının kimlik bilgilerini gasp eder ve kötü amaçlı yazılımı sıradan bir güncelleme gibi dağıtır; 2026’nın başında, çok kullanılan axios paketi, baş bakımcısının makinesi sosyal mühendislikle ele geçirildikten sonra kısa süreliğine güvenliği aşılmış bir sürüm yayımladı. Derleme hattının zehirlenmesi ise yazılımı bir araya getiren ve yayımlayan otomatik sistemleri hedef alır; orada tek bir bozulmuş adım, ona bağımlı her projeye ulaşır.

Derleme hattı, tam da diğer her şeyin yukarısında durduğu için en çok arzulanan hedef hâline geldi. Popüler GitHub Actions bileşeni tj-actions/changed-files 2025’te ele geçirildiğinde, saldırganlar sürüm etiketlerini kötü amaçlı kodu gösterecek şekilde yeniden yazdı ve yirmi binden fazla deponun derleme günlüklerinden sırları çekti: erişim anahtarları, jetonlar ve özel anahtarlar, hepsi düz metin hâlinde. Araştırmacıların Megalodon adını verdiği sonraki bir kampanya, GitHub Actions’ı kendi kendine yayılan bir arka kapıya çevirdi ve yaklaşık altı saatte 5.561 depoya ulaştı. Yazılımınızı kuran makine, yazılımın kendisi kadar kolay ele geçirilebilir.

Geliştiricilerin her gün kullandığı araçlar da etki alanında. 2025’in sonunda ilk kez bulunan GlassWorm, OpenVSX ve Microsoft mağazalarında Visual Studio Code uzantıları aracılığıyla yayıldı. Yükünü görünmez Unicode karakterleriyle gizliyordu; böylece kötü amaçlı satırlar editörde tam anlamıyla okunamıyor ve insan incelemesinden geçiyordu. Kurulduktan sonra npm, GitHub ve Git kimlik bilgilerini çalıyor, ardından bunları daha fazla paket ve uzantıyı otomatik olarak bulaştırmak için kullanıyordu; bu da bir solucanı tanımlayan özelliktir. Editörler uzantıları arka planda sessizce güncellediği için kurbanlar zehirli sürümleri hiçbir şeye tıklamadan aldı. Zehirlenmiş başka bir VS Code uzantısı ise GitHub’ın kendi iç depolarından yaklaşık 3.800’ünü çalmak için kullanıldı.

Bu saldırıları yakalamayı bu kadar zorlaştıran şey, her bir adımın tek başına meşru görünmesidir. Paket imzalı. Güncelleme gerçek kayıt deposundan geliyor. Bakımcı hesabı gerçek. Geleneksel savunmalar bilinen zararlı dosyaları ve apaçık kötü amaçlı yazılımı arar, ama tedarik zinciri saldırıları, yazılımın tam da gelmesi gereken anda ve biçimde gelen güvenilir, beklenen ve çoğu zaman görünmez kodun içine saklanır. Daha kötüsü: her zamanki güvenlik tavsiyesi, hemen güncelle, saldırganın bel bağladığı mekanizmanın ta kendisidir. İlk kez, en yeni sürümü kurmak kayıtsız şartsız güvenli seçenek değil.

Savunucular, işe yarayan bir avuç uygulamada birleşti. Kilit dosyaları her bağımlılığı kesin, doğrulanmış bir sürüme sabitler; böylece kurulumcu en yeniyi değil, yalnızca gözden geçirilmiş olanı indirir. Otomatik kurulum betiklerini kapatmak, kötü amaçlı bir paketin iner inmez kod çalıştırdığı en yaygın yolu keser. GitHub Actions’ı hareketli bir etiket yerine belirli bir commit özetine sabitlemek, etiket yeniden yazma hilesini etkisiz kılar. Bir yazılım malzeme listesi, bir derlemenin içindeki her bileşenin ayrıntılı dökümü, bir sonraki olay açıklandığında bir ekibin maruz kalıp kalmadığını dakikalar içinde öğrenmesini sağlar. Son saldırılardan kurtulan kuruluşların çoğu egzotik hiçbir şey yapmadı: işlenmiş bir kilit dosyasından derliyor ve yeni yayımlanan paketleri karantinaya alan bir kayıt deposu vekili arkasında çalışıyorlardı.

Kod yazmayanlar için koruma çoğunlukla dolaylıdır, ama ders değil. Yazılımın tedarik zinciri bugün ön saftaki bir savaş alanı ve onu güvenceye almak, telefonunuzdaki ve dizüstünüzdeki uygulamaları yapan şirketlere düşüyor. Makul tepki ne panik ne de bir bildirim çıkar çıkmaz her şeyi güncelleme eski refleksidir. Makul tepki, ne teslim ettiğini ve nasıl ürettiğini açıkça duyuran ekiplerin yazılımını yeğlemek ve güvenilir kaynak fikrini, zincir boyunca kendiliğinden inen bir özellik gibi değil, her halkada kazanılması gereken bir şey gibi ele almaktır.

Sektörün yanıtı köken çevresinde biçimleniyor: bir kod parçasının nereden geldiğinin ve nasıl üretildiğinin kriptografik kanıtı, herhangi bir şey kurulmadan önce otomatik olarak doğrulanıyor. Bu, bir kuşak önce web trafiğini güvene alan fikrin ta kendisidir; şimdi yazılımın kendi montaj hattına uygulanıyor. O kanıt evrensel olana dek, her kurulum hiç tanışmayacağınız insanlara duyulan bir güven eylemi olarak kalıyor.

Tartışma

S kadar yorum var.