Giriş
Google, maksimum öneme sahip bir güvenlik açığı konusunda acil bir bildirimde bulundu. Bu açık, Gemini CLI — “@google/gemini-cli” npm paketi ve “google-github-actions/run-gemini-cli” GitHub Actions iş akışında, saldırganların ana sistemde rastgele komutlar yürütmesine imkan tanıyabiliyor.
Saldırı Nasıl Çalışıyor?
Güvenlik açığı, yetkisiz bir dış saldırganın kendi kötü niyetli içeriğini Gemini yapılandırması olarak yüklemesine izin veriyor. Bu durum, güvenlik önlemlerini aşarak, ajan koruma mekanizması başlatılmadan önce ana sistemde komut yürütülmesine yol açıyor. Bu eksiklik, bir CVE kimliği içermemektedir ancak CVSS skoru 10.0 olarak değerlendirilmiştir. Aşağıdaki sürümleri etkilemektedir:
- @google/gemini-cli
- @google/gemini-cli
- google-github-actions/run-gemini-cli
Google, bu açığın etkisinin yalnızca başsız modda (headless mode) kullanılan Gemini CLI iş akışlarıyla sınırlı olduğunu açıklamıştır. Başsız modda, dizin güveni sağlanmadığı sürece kullanıcıların, bu güven mekanizmasını manuel olarak yapılandırmaları gerekmektedir.
Etkilenen Sistemler
Önceki sürümlerde Gemini CLI, CI ortamlarında (başsız modda) yapılandırma ve çevresel değişkenler yüklerken, çalışma alanı dizinlerini otomatik olarak güvenilir kabul ediyordu. Ancak, başsız modda güvenilmez dizinlerde çalıştırılması durumunda bu durum riskli hale gelmektedir. Kullanıcıdan gelen kod inceleme (pull request) gibi güvenilir olmayan dizinlerde, kötü niyetli çevresel değişkenler aracılığıyla uzaktan kod yürütülmesi mümkün hale gelebilir.
Bu otomatik güven, aracın inceleme, sandboxing veya açık kullanıcı onayı olmadan bulduğu yapılandırmayı yüklemesini sağlıyordu. Bir saldırgan, özel olarak hazırlanmış bir yapılandırmayı yerleştirerek, ajanı çalıştıran ana sistemde kod yürütülmesini sağlayabilecek bir ortam yaratabilirdi.
Çözüm ve Korunma
Güncelleme ile birlikte, dizinlerin yapılandırma dosyalarına erişim öncesinde açıkça güvenilir olarak kabul edilmesi gerekmektedir. Kullanıcılara, iş akışlarını gözden geçirmeleri ve iki yaklaşım benimsemeleri önerilmektedir:
- Güvenilir girdiler (örneğin, güvenilir işbirlikçilerden gelen kod inceleme) kullanılıyorsa, iş akışında GEMINI_TRUST_WORKSPACE: ‘true’ ayarlayın.
- Güvenilir olmayan girdiler kullanılıyorsa, Google’ın google-github-actions/run-gemini-cli üzerindeki rehberliğini inceleyerek, iş akışını kötü niyetli içeriğe karşı güçlendirin ve ortam değişkenini ayarlayın.
Ayrıca, Google, –yolo modunda çalıştırılan Gemini CLI için araç beyaz listeleme üzerinde sıkılaştırma adımları attığını belirtmiştir. Bu sayede güvensiz girdiler, kötü niyetli ortam değişkenleri aracılığıyla uzaktan kod yürütülme senaryolarını önlenmektedir.
Sonuç
Okuyuculara, mümkün olan en kısa sürede sistemlerini güncellemeleri ve güvenli olmayan kaynaklardan gelen girdileri dikkatle incelemeleri önerilmektedir. Port kapatmayı ve güvenlik önlemlerini artırmak açısından workflow’larında gerekli değişiklikleri yapmaları büyük önem taşımaktadır.


