AsyncAPI ekosisteminde ciddi bir tedarik zinciri saldırısı tespit edildi. OX Security, SafeDep, Socket ve StepSecurity'nin ortak araştırmasına göre, @asyncapi ad alanındaki dört npm paketi ele geçirilerek çok aşamalı bir botnet yükleyicisi dağıtıldı. Etkilenen paketler arasında @asyncapi/generator-helpers (1.1.1), @asyncapi/generator-components (0.7.1), @asyncapi/generator (3.3.1) ve @asyncapi/specs (6.11.2 ile 6.11.2-alpha.1) yer alıyor. Saldırganlar, bu paketlere gizlenmiş JavaScript implantları yerleştirerek Node.js ortamlarında çalışan bir kötü amaçlı yazılım zinciri başlattı.
Socket tarafından yapılan analize göre, ele geçirilen paketler, IPFS üzerinden şifreli ikinci aşama yükü (Miasma) indiren gizlenmiş bir ilk aşama yükü dağıtıyor. Önceki saldırılardan farklı olarak, burada kötü amaçlı kod, npm install sırasında değil, Node.js'in modülü yüklemesi anında (require() çağrısı) devreye giriyor. Bu sayede geleneksel install script engelleme yöntemleri etkisiz kalıyor. Kod, arka planda bir Node işlemi başlatarak IPFS'den 'sync.js' adlı şifreli bir JavaScript yükleyicisini indiriyor ve çalıştırıyor.
İkinci aşama yükü, Miasma görev çerçevesini barındıran şifreli bir JavaScript yükü ve spawn-chain framework'ü için kullanılan büyük bir şifreli blob içeriyor. Miasma, 744 modülden oluşan geniş bir komut çerçevesine sahip. Bu çerçeve, HTTP, Nostr relay, IPFS, BitTorrent DHT, libp2p GossipSub P2P mesh ve Ethereum akıllı sözleşmesi olmak üzere altı farklı komuta ve kontrol (C2) kanalını destekliyor. Bu çeşitlilik, tespit edilmeyi zorlaştırıyor ve esneklik sağlıyor.
Detaylar ve Etkileri
Miasma'nın yetenekleri oldukça geniş: kimlik bilgisi hırsızlığı, AI araç zehirleme, LAN'da yanal hareket ve npm, PyPI, Cargo kayıtlarında solucan benzeri yayılma. Ayrıca kalıcılık mekanizması olarak systemd, crontab, macOS launchd ve Windows Registry otomatik başlatma anahtarları oluşturuyor. OX Security'den Moshe Siman Tov Bustan, bu kötü amaçlı yazılımın Shai-Hulud ve Miasma kampanyalarıyla benzerlikler taşımasına rağmen aynı olmadığını ve bu kampanyalara atfedilemeyeceğini belirtti. Dikkat çekici bir özellik ise ölü adam anahtarı (dead man's switch): çalınan bir token iptal edilirse, kötü amaçlı yazılım tüm dizini silme tetikleyicisini çalıştırıyor.
Saldırı, CI/CD pipeline'ındaki bir güvenlik açığından kaynaklandı. StepSecurity'ye göre saldırgan, GitHub Actions iş akışındaki 'pull_request_target' yanlış yapılandırmasını kullanarak depolara push erişimi elde etti. Bu sayede, projenin meşru GitHub Actions release pipeline'ı üzerinden geçerli OIDC imzalarıyla paketler yayınlandı. Tedarik zinciri saldırısında npm token çalınmadı; saldırgan, sahte bir git kimliğiyle commit göndererek meşru iş akışını tetikledi. Bu durum, SLSA kanıtlama imzalarının güvenliği garanti etmediğini gösteriyor.
Microsoft, bu kampanyayı MiasmStealer ve Supychain adlarıyla takip ediyor. Araştırmacılar, saldırının modül yükleme zamanında çalıştığını ve postinstall hook gibi yaygın kalıplardan farklı olduğunu vurguladı. Wiz ekibi ise saldırının 'pull_request_target' iş akışının tehlikeli kullanımından kaynaklandığını belirtti: iş akışı, temel deponun bağlamında çalışırken saldırganın kodunu checkout ediyor ve bu sayede gizli bilgilere (secrets) erişiliyor. Tüm kötü amaçlı sürümler npm kayıt defterinden kaldırıldı, ancak etkilenen paketleri kullanan tüm uç noktalar potansiyel olarak ele geçirilmiş sayılmalı.
Kaynak: thehackernews.com