Giriş
Son dönemde, SAP’nin npm paketlerinde gerçekleştirilen bir tedarik zinciri saldırısı, geliştiricilere ait kimlik bilgileri ve kimlik doğrulama jetonlarının çalınmasına neden oldu. Bu durum, yazılım geliştirme süreçlerinde güvenliğin önemini bir kez daha gündeme getirdi.
Saldırı Nasıl Çalışıyor?
Güvenlik araştırmacıları, dört paketin etkilendiğini bildirmektedir. Bu paketler, NPM üzerindeki sürümleriyle birlikte artık bırakılmış durumdadır:
- @cap-js/sqlite – v2.2.2
- @cap-js/postgres – v2.2.2
- @cap-js/db-service – v2.10.1
- mbt – v1.2.48
Bu paketler, SAP’nin Cloud Application Programming Model (CAP) ve Cloud MTA ile uyumlu olup, genellikle kurumsal yazılım geliştirmede kullanılır.
Araştırmalara göre, etkilenen paketler, kurulum sırasında otomatik olarak çalışacak şekilde değiştirilmiş bir kötü niyetli ‘preinstall’ scripti içermektedir. Bu script, setup.mjs adında bir yükleyici başlatmakta ve GitHub’dan Bun JavaScript çalışma zamanını indirmektedir. Ardından, karmaşık bir şekilde obfuscate edilmiş execution.js yükünü çalıştırmaktadır.
Etkilenen Sistemler
Bu kötü amaçlı yazılım, hem geliştirici makinelerinden hem de CI/CD ortamlarından çeşitli kimlik bilgilerini çalmak için kullanılır. Çalınan bilgiler arasında şunlar yer almaktadır:
- NPM ve GitHub kimlik doğrulama jetonları
- SSH anahtarları ve geliştirici kimlik bilgileri
- AWS, Azure ve Google Cloud için bulut kimlik bilgileri
- Kubernetes yapılandırmaları ve gizli anahtarlar
- CI/CD pipeline gizli bilgileri ve ortam değişkenleri
Kötü amaçlı yazılım, CI koşucusunun belleğinden gizli bilgileri çıkarmaya çalışmakta ve bunun için ultraviyole edilmiş bir Python scripti kullanmaktadır. Araştırmalar, bu bellek tarayıcısının daha önceki saldırılara benzer yapıda olduğunu belirtmektedir.
Çözüm ve Korunma
Toplanan veriler, şifrelenerek mağdurun GitHub hesabındaki halka açık depolara yüklenmektedir. Bu depolar, “A Mini Shai-Hulud has Appeared” olarak bilinen bir açıklama içermekte olup, önceki saldırılarda görülen ifadelerle benzerlik göstermektedir.
Ayrıca, kötü amaçlı yazılım, GitHub commit aramalarını bir ‘dead-drop’ mekanizması olarak kullanarak daha fazla erişim kazanmak için jetonları elde etmektedir. Bu durum, saldırganların saldırının etkisini artırabileceğini göstermektedir.
Araştırmacılar, bu saldırıyı, daha önce Trivy, Checkmarx ve Bitwarden’a karşı gerçekleştirilen benzer tedarik zinciri saldırıları nedeniyle TeamPCP tehdidiyle ilişkilendirmektedir.
Aksiyon
SAP’nin npm paketleriyle ilgili bu saldırı, sistemi etkileyen kullanıcıların derhal gerekli önlemleri almasını zorunlu kılmaktadır. Aşağıdaki adımları takip etmeniz önerilir:
- Etkin olan tüm @cap-js/sqlite, @cap-js/postgres, @cap-js/db-service ve mbt paketlerini güncelleyiniz veya kaldırınız.
- Geliştirici makinelerinizin güvenliğini kontrol ediniz; şüpheli etkinlikleri izleyin.
- CI/CD süreçlerinizde kullanılan kimlik bilgilerini ve jetonları yeniden oluşturunuz.
- Gizlilik ve güvenlik açısından gerekli yapılandırmaları yapınız.
Bu önlemler, sistemlerinizin güvenliğini sağlamanıza yardımcı olacaktır.


