Threat Detection06.05.202611 görüntülenme

npm Tedarik Zincirinin SAP Üzerindeki Etkisi: Mini Shai-Hulud Olayı

29 Nisan 2026'da, SAP geliştirme ekosisteminden dört resmi npm paketi zararlı paket içeren versiyonlarla yayımlandı. Bu durum, geliştiricilerin çalışma alanlarına veya CI/CD yazılım geliştirme iş akışlarına yetkisiz erişim sağladı. Mini Shai-Hulud saldırısı, SAP tedarik zincirine doğrudan ulaşan ilk örnek olarak kaydedildi. Bu makalede, saldırının detayları, etkileri ve alınması gereken önlemler ele alınacaktır.

B

Bektas OZKAN

İçerik Editörü

NPM Dünyasında “Kum Kurdu” Alarmı: SAP Ekosistemini Sarsan Mini Shai-Hulud Saldırısı Hakkında Bilmeniz Gerekenler

1. Giriş: Güvenin Bedeli ve Beklenmedik Bir Misafir

Modern yazılım geliştirme ekosistemi, açık kaynaklı paketlere olan sarsılmaz bir güven üzerine inşa edilmiştir. Ancak 29 Nisan 2026 tarihinde SAP dünyasında patlak veren “Mini Shai-Hulud” saldırısı, bu güvenin ne kadar kırılgan olduğunu ve bir terminal komutunun nasıl bir felakete dönüşebileceğini kanıtladı.

Kıdemli bir analist gözüyle bakıldığında bu olay, sadece bir “zararlı paket” vakası değil; teknik sofistikasyonu yüksek, kendi kendini çoğaltabilen bir worm ve modern geliştirme araçlarını silah haline getiren hibrit bir tehdittir.

Saldırganlar, SAP Cloud Application Programming — CAP modelinin kalbindeki paketleri hedef alarak geliştiricilerin en mahrem alanlarına sızmayı başardı.

Gelin, bu 11 MB’lık casusun anatomisini ve yarattığı “kum fırtınasını” birlikte inceleyelim.


2. Hedefteki İsimler: Hangi Paketler Zehirlendi?

Saldırının Initial Access Vector — İlk Erişim Vektörü, SAP ekosisteminde yaygın olarak kullanılan kritik araçların preinstall kancalarına yerleştirilen zararlı kodlardı.

Özellikle dikkat çekici olan nokta, mbt paketinin saldırı anında en güncel sürüm, yani latest dist-tag, olarak sunulmasıydı. Bu da standart bir kurulumun doğrudan zehirli kodu indirmesi anlamına geliyordu.

Paket İsmiZehirlenmiş VersiyonHaftalık İndirilme — Yaklaşık
@cap-js/db-service2.10.1~260.000
@cap-js/sqlite2.2.2~250.000
mbt1.2.48 — Latest Tag~52.000
@cap-js/postgres2.2.2~10.000

Toplamda 570.000’den fazla haftalık indirmeye sahip olan bu paketler, SAP bulut uygulamalarının ve veritabanı servislerinin temel taşlarını oluşturuyor.


3. Yeni Nesil Bir Silah: Bun Runtime ve 11 MB’lık “Casus”

Mini Shai-Hulud saldırısını klasik npm saldırılarından ayıran en önemli teknik detay, Bun JavaScript runtime kullanımıdır.

Saldırganlar, Node.js tabanlı statik analiz araçlarını ve güvenlik kontrollerini atlatmak için Bun’ın yerel API’larından, örneğin Bun.gunzipSync, yararlanmıştır.

Süreç, setup.mjs adlı loader dosyasının GitHub üzerinden Bun runtime’ı indirmesiyle başlar. Ardından, tam 11.678.349 bayt boyutundaki devasa ve yoğun şekilde gizlenmiş, yani obfuscated, execution.js dosyası çalıştırılır.

Bu devasa boyut, içerisinde barındırdığı karmaşık veri toplama ve yayılma mantığının bir sonucudur.

Saldırganlar, kodun içine şu sembolik imzayı bırakmıştır:

A Mini Shai-Hulud has Appeared

4. Dijital Bir Vakum: Neler Çalındı?

Saldırganların hedefi sadece basit şifreler değil, tüm bulut ve geliştirme altyapısının anahtarlarıdır.

Zararlı yazılımın veri toplama kapasitesi, exfiltration — veri sızıntısı açısından dehşet vericidir.

Bulut ve Altyapı

  • AWS anahtarları
  • Azure anahtarları
  • GCP anahtarları
  • Kubernetes anahtarları
  • AWS Instance Metadata Service hedeflemesi
  • 169.254.169.254 üzerinden IAM rolleri sorgulama

Hafıza ve Prosesler

Linux CI runner’lar üzerinde aşağıdaki dizin taranarak çalışan süreçlerin belleklerinden gizli anahtarlar doğrudan dump edilmiştir:

/proc/{pid}/mem

Geliştirici Tokenları

  • GitHub Personal Access Token — PAT
  • npm yayınlama tokenları
  • SSH anahtarları

İletişim ve Finans

  • Slack oturum çerezleri
  • Discord oturum çerezleri
  • Geniş yelpazede kripto cüzdan anahtarları

En korkutucu detay ise çalınan bu verilerin, kurbanın kendi GitHub hesabı üzerinde oluşturulan kamuya açık ve arama motorları tarafından taranabilir publicly searchable dead-drop depolarına gönderilmesidir.

Yani verileriniz sadece saldırganın eline geçmekle kalmıyor, tüm dünyaya açık hale getiriliyor.


5. Sinsi Kalıcılık ve “Solucan” Mekanizması

Mini Shai-Hulud, ismine yaraşır bir şekilde sadece bir casus yazılım değil, aynı zamanda bir solucandır.

Ele geçirdiği npm tokenlarını kullanarak, kurbanın yazma yetkisine sahip olduğu diğer paketlere kendisini ekleyerek otomatik olarak yayınlamaya, yani self-propagation, çalışır.

Saldırının kalıcılık stratejisi, modern geliştirme araçlarını suistimal eder.

AI Asistanları

Aşağıdaki yapılandırmalara sızarak proje her açıldığında veya AI asistanı tetiklendiğinde kendini yeniden çalıştırır:

.claude/settings.json
tasks.json

GitHub Actions Hijack

Çalınan tokenlarla Dependabot servis hesabını taklit eden, ancak yazım hatası içeren dependabout isimli sahte branch’ler oluşturulur.

Zararlı workflow’lar üzerinden organizasyonun tüm gizli anahtarları exfiltrate edilir:

format-check.yml

6. Coğrafi Bir İstisna: CIS-Region Exemption

Analizler sırasında kodun içinde ilginç bir filtre keşfedilmiştir.

Zararlı payload, JavaScript Intl API ve POSIX değişkenlerini kullanarak sistem dilini kontrol eder. Eğer Rusça, yani ru, tespit edilirse, şu mesajı vererek çalışmayı durdurur:

Exiting as russian language detected!

Bu durum, siber suç dünyasında sıkça görülen bir CIS-region exemption — BDT bölgesi muafiyeti örneğidir.

Saldırganlar, kendi bölgelerindeki yerel kolluk kuvvetlerinin dikkatini çekmemek ve yargı riskini azaltmak için bu tür coğrafi filtreler kullanmaktadır.


7. Savunma Hattı: Şimdi Ne Yapmalısınız?

SAP CAP araçlarını kullanıyorsanız durum kritiktir. Acilen aşağıdaki eylem planı uygulanmalıdır.

7.1. Hemen Durdurun

CI/CD hatlarınızda ve yerel makinelerinizde aşağıdaki komut kullanımını zorunlu kılın:

npm install --ignore-scripts

7.2. Versiyonları Kilitleyin

PaketYapılması Gereken
@cap-js/sqlite2.2.2 sürümünden kaçının. Ya 2.2.1 sürümünde kalın ya da doğrudan 2.4.0 veya üzerine geçin.
@cap-js/db-service2.11.0 veya üzerine güncelleyin.
@cap-js/postgres2.3.0 veya üzerine güncelleyin.
mbtŞu an için bilinen son güvenli sürüm 1.2.47 olarak sabitlenmelidir. Yeni bir temiz sürüm yayınlanana kadar bu sürüm kullanılmalıdır.

7.3. Kritik Rotasyon

Aşağıdaki erişim bilgileri derhal sıfırlanmalıdır:

  • npm publish tokenları
  • AWS erişim anahtarları
  • GCP erişim anahtarları
  • Azure erişim anahtarları
  • Git erişim anahtarları
  • GitHub Personal Access Token’ları
  • SSH anahtarları

Solucan yayılımını durdurmanın tek yolu budur.

7.4. Ekosistem Taraması

GitHub organizasyonunuzda aşağıdaki göstergeleri tarayın:

Mini Shai-Hulud
dependabout

Ayrıca aşağıdaki türden araçlardan yararlanın:

  • StepSecurity
  • Snyk

8. Sonuç: Geleceğe Bakış ve Kritik Soru

Mini Shai-Hulud saldırısı, tedarik zinciri güvenliğinin artık sadece paket yönetimiyle sınırlı olmadığını; AI asistanlarından CI/CD iş akışlarına kadar her noktanın bir saldırı yüzeyi haline geldiğini gösterdi.

Bir senior analist olarak uyarım net:

Güven, doğrulanmadığı sürece bir zafiyettir.

Bugün terminalinize indirdiğiniz masum bir güncelleme paketinin, yarın tüm bulut altyapınızın anahtarlarını kamuya açık bir depoda sergilemeyeceğinden ne kadar eminsiniz?

Etiketler

#npm#SAP#Güvenlik#Tedarik Zinciri

Paylaş

💬 Bu İçerik Hakkında Sorularınız mı Var?

Bu içerikle ilgili geri bildirim vermek veya daha detaylı bilgi almak için bizimle iletişime geçin.