Güvenlik şirketleri Aikido, SafeDep, Socket ve StepSecurity, saldırganların npm ve PyPI üzerinde MemTensor paketlerinin zehirlenmiş sürümlerini yayımladığını ve bunların Go tabanlı bir geliştirici kimlik bilgisi hırsızı olan sckit'i kurduğunu bildiriyor; The Hacker News'in 23 Eylül'de bildirdiğine göre. Hırsız yazılım Windows, Linux ve macOS'ta çalışıyor.
Arka plan
Paket kayıt defterleri, geliştiricilerin başkalarının kodunu tek bir komutla kurmasına olanak verir ve bir kurulum, geliştiricinin kendi bilgisayarında kod çalıştırabilir. Bir bakımcının yayımlama belirtecini ele geçiren saldırganlar bu nedenle kendi sürümlerini kuran her makineye ulaşabilir [1].
Raporun anlattıkları
Etkilenen paketler npm üzerinde @memtensor/memos-cloud-openclaw-plugin (0.1.21, 0.1.23 ve 0.1.25 sürümleri) ve PyPI üzerinde MemoryOS'tur (2.0.34 sürümü). Rapor, saldırganların yayımlama belirteçlerini MemTensor'un GitHub Actions yayın hatlarını ele geçirerek aldığını ve temiz sürümlerin arasına kötü amaçlı sürümler ittiğini belirtiyor [1].
npm eklentisinde gizli yük, ajan ağ geçidi başladığında ya da bellek çağırma olayları sırasında başlar. PyPI paketinde modül içe aktarıldığında başlar. Her ikisi de statik olarak bağlanmış bir Go programı çalıştırır; program API belirteçlerini, SSH anahtarlarını, bulut yapılandırma dosyalarını ve npm, PyPI, GitHub, GitLab, AWS ve Vault gibi hizmetlere bağlı ortam değişkenlerini toplar ve harici bir sunucuya gönderir. Rapor, implantı GitHub depoları ve paket kayıt defterleri üzerinden yayılabilen bir solucan olarak tanımlıyor [1].
Kötü amaçlı sürümler kaldırıldı. Rapor, en son temiz sürümler olarak npm'de 0.1.24'ü ve PyPI'de 2.0.33'ü listeliyor ve npm'de 0.1.20'ye, PyPI'de 2.0.33'e sabitlemeyi öneriyor [1].
Mac kullanıcıları için sonuçlar
Listelenen sürümleri bir Mac'e kuran geliştiriciler, yukarıdaki konumlarda saklanan gizli anahtarların çalınması riskiyle karşı karşıyadır. Bu paketleri kullanmayan kişiler, bildirildiği hâliyle etkilenmez. Listelenen bir sürümü kuran herkesin o makinedeki kimlik bilgilerini ele geçirilmiş saymaya ihtiyacı vardır [1].
Öneriler
- Kilit dosyalarını ve kurulu paketleri yukarıda adı geçen sürümler için kontrol edin ve bunları kaldırın.
- Makinenin ulaşabildiği her kimlik bilgisini yenileyin: npm, PyPI ve GitHub belirteçleri, SSH anahtarları, bulut anahtarları ve ortam değişkenlerindeki gizli anahtarlar.
- Raporun açığa çıkan gizli anahtarların yenilenmesini önerdiği gibi, parolaları değiştirmenin yanı sıra belirteçleri de iptal edin.
- Raporun önerdiği gibi bağımlılıkları bilinen temiz sürümlere sabitleyin ve bakımı yapılan paketlerin yayın hattı izinlerini gözden geçirin.
FireAI açısından önemi
FireAI paketleri incelemez ve bir implantı kaldırmaz. Çalınan verilerin bir sunucuya gönderilmesi gerekir; kuralı olmayan yeni bir Go programı Uyarı modunda bir bağlantı istemi tetikler ve hedef dünya haritasında gösterilir. Uygulama başına kurallar, bir derleme aracının ya da yorumlayıcının ihtiyaç duyduğu ana makinelerle sınırlanmasına olanak verir. Bir derleme aracının zaten geniş bir İzin ver kuralı varsa FireAI sormaz; bu nedenle bu tür kuralların dar olması gerekir.
Sınırlamalar
Rapor, zehirlenmiş sürümleri kaç makinenin kurduğunu, her birinin ne kadar süre yayında kaldığını ya da kampanyanın arkasında kimin olduğunu belirtmiyor. Solucan davranışına ilişkin tanımı araştırmacıların analizine dayanıyor.
HisnLabs'in FireAI'sini 17 gün ücretsiz deneyin.