GitHub Kamusal Sorunu Özel Depo Verilerini Sızdırabilir: GitLost Saldırısı Yazılım

GitHub Kamusal Sorunu Özel Depo Verilerini Sızdırabilir: GitLost Saldırısı

Noma Security araştırmacıları, GitHub Agentic Workflows'taki bir güvenlik açığının özel depo verilerini sızdırabildiğini ortaya koydu.

GitHub'ın yeni özelliği Agentic Workflows, kullanıcıların otomasyon betikleri yazmak yerine bir yapay zeka ajanına doğal dilde talimat vermesine olanak tanıyor. Ancak Noma Security araştırmacıları, bu sistemin ciddi bir güvenlik açığı barındırdığını keşfetti. GitLost adı verilen saldırıda, bir saldırgan herhangi bir kimlik bilgisi çalmadan veya organizasyona erişmeden, sadece herkese açık bir depoda normal görünümlü bir sorun (issue) açarak özel depo içeriklerini sızdırabiliyor. Bu, yapay zeka ajanının dolaylı prompt enjeksiyonu yoluyla manipüle edilmesiyle mümkün oluyor.

Saldırı, özellikle organizasyonun ajanına tüm depolarında okuma yetkisi vermesi durumunda etkili oluyor. Ajan, bir soruna atandığında otomatik olarak o sorunu okuyup yanıt verecek şekilde yapılandırılıyor. Saldırgan, sorun içine gizlediği talimatla ajanı özel bir deponun README dosyasını okumaya ve bunu herkese açık bir yoruma yapıştırmaya yönlendirebiliyor. GitHub'ın buna karşı savunmaları bulunsa da, Noma'nın testinde "Additionally" gibi tek bir kelime değişikliğiyle bu savunmaların aşılabildiği görüldü.

GitLost'u önceki prompt enjeksiyon saldırılarından ayıran, ajanın söylemini değil, yetkilerini kullanarak eylem gerçekleştirmesi. Ajan, CI/CD altyapısına yakın bir konumda, saldırganın göremediği özel depolara erişebilen bir kimlikle çalışıyor. Bu yapı, Simon Willison'ın 'ölümcül üçleme' olarak adlandırdığı durumu oluşturuyor: özel verilere erişim, güvenilmeyen dış içerik okuma ve veri dışarı çıkarma kanalı. Bu nedenle, bu açık bir yazılım hatası değil, yapay zeka ajanlarına kalıcı yetkiler verilmesinin yapısal bir sonucu olarak değerlendiriliyor.

Önceki benzer saldırılar arasında Claude Code, Gemini CLI ve GitHub Copilot ajanlarının API anahtarlarını sızdırması yer alıyor. Noma, bulgularını GitHub'a bildirdi. Korunmak için, ajan token'ının yalnızca ilgili depo için kapsamlandırılması, çıktıların insan onayına tabi tutulması ve yalnızca güvenilir yazarların içeriğine izin verilmesi öneriliyor. GitHub'ın tehdit algılama adımı olsa da, tek kelimelik bir bypass'ın mümkün olması, filtrelerin sınırlı olduğunu gösteriyor.

Paylaş: