Claude Code ve Gemini CLI açıkları CI anahtarlarını riske attı

Anasayfa » Claude Code ve Gemini CLI açıkları CI anahtarlarını riske attı
Claude Code ve Gemini CLI açıkları CI anahtarlarını riske attı

Novee Security’nin Black Hat USA’de 5 Ağustos’ta anlattığı çalışmada, Claude Code, Gemini CLI ve OpenAI Codex’in varsayılan kurulumlarındaki akışlar hedef alındı; araştırmacılar iki CVE yayınladı, Codex’teki bir bulgu için ise ne CVE ne de ürün yaması çıktı. Çalışma, her satıcının ajanını kendi varsayılan yapılandırmasıyla sınadı ve iki açık daha sonra yamalandı.

Gemini CLI tarafında ortaya çıkan CVE-2026-12537, üç bulgu arasındaki en ağır açık olarak öne çıktı. CVSS 4 puanı 10.0 olan hata, container launcher içinde bir işletim sistemi komut enjeksiyonu sağlıyordu. Novee’nin tarifine göre saldırgan, hazırlanmış bir .gemini/.env dosyası üzerinden sandbox başlamadan önce başsız bir CI platformunun ana makinesinde kod çalıştırabiliyordu. Açık, unprivileged attacker’ın host üzerinde kod yürütmesine izin veren bir zincir de oluşturuyordu. Google, bu problemi Gemini CLI 0.39.1 ve run-gemini-cli 0.1.22 sürümleriyle kapattı; şirketin duyurusunda düzeltmenin Gemini CLI GitHub Actions akışlarının tamamını etkilediği de yer aldı.

Aynı güvenlik çalışmasında Claude Code için CVE-2026-54316 kayda geçti. Bu açık, Hugging Face’in herkese açık indirme sayacını bir veri sızdırma kanalına dönüştürdü ve bir API anahtarını karakter karakter dışarı taşımayı mümkün kıldı. Anthropic, istismar için güvenilmeyen içeriğin Claude Code bağlamına sokulması gerektiğini söyledi. Şirket ayrıca açığın Claude Code’un 0.2.54 ile 2.1.163 arasındaki tüm sürümlerini etkilediğini ve düzeltmenin 2.1.163 ile geldiğini açıkladı. Novee’nin bulgusuna göre zincir, kullanıcıdan gelen içeriğin önce bağlama sokulması, ardından indirme sayacının bu içeriği dışarı aktarmak için kullanılması üzerine kuruluydu.

Claude Code tarafında ayrıca kamuya açıklanmış başka bir zincir daha bulundu, ancak bu bulgu için CVE yayımlanmadı. Novee’ye göre komut doğrulama mantığı, tek tırnak içindeki metni bash davranışına uygun biçimde temizlediği için bir yük beklenmedik şekilde serbest kaldı. Bu durum, git push --receive-pack seçeneğinin değerine yerleştirilen bir payload’ın çalıştırıcıya dokunulmadan runner’a ulaşmasına yol açtı. Araştırmacılar, bu zincirde ürün sürümü bazlı bir sabitlenmiş sürüm açıklanmadığını da belirtti.

Gemini CLI’deki ikinci hata komut çalıştırmayla değil, araç izinlerinin nerede kontrol edildiğiyle ilgiliydi. Araştırma, allowlist’in yalnızca araç kayıt edilirken okunduğunu, çalışma anında ise bir denetim uygulanmadığını gösterdi. --yolo modu açıkken modelin istediği her komutun otomatik onay alması da riskin parçası oldu. Google bu iki problemi tek bir güvenlik duyurusuyla ele aldı; ayrıca açık için ayrı bir CVE numarası yayımlanmadı. Google Cloud ise CNA kimliği üzerinden kaydı duyuruda işaret etti ve düzeltmenin Gemini CLI GitHub Actions akışlarını etkilediğini yineledi.

Her üç bulguda da ortak desen, modelin etrafındaki harness katmanında ortaya çıktı. Novee kurucu mühendisi Elad Meged’in sözleriyle harness, model ile gerçek dünya arasındaki kodu oluşturuyor ve asıl davranışın ne olacağına burada karar veriliyor. Bir katman veriyi güvenli ilan ederken, hemen sonraki katman aynı veriyi daha yüksek yetkiyle işliyor. Araştırmacılar, hataların tam da bu el değiştirme anında biriktiğini söyledi.

Meged, “The harness is the code between the model and the real world” diye yazdı. Çalışmanın bulguları, modelin ikna edilmesinden çok modelin çevresindeki yürütme mantığının nasıl tasarlandığına işaret etti. Gemini host-execution bugının, modeli herhangi bir şeye ikna etmeyi gerektirmediği de özellikle vurgulandı.

OpenAI cephesinde ortaya çıkan Codex bulgusu ise ürün sürümünden çok depo düzeyindeki iş akışına işaret etti. Novee, openai/codex deposunda iki Codex geçişinin tek bir iş içinde ve aynı checkout üzerinde çalıştığını, bu nedenle ilk geçişin ikinci geçişin kendi talimatları olarak yükleyeceği AGENTS.md dosyasını yazabildiğini anlattı. İki geçiş arasındaki JSON doğrulamasının başarısız olması da ikinci Codex çalıştırmasını tetikledi. Bu bulgu için ne ürün sürümü bazlı bir yama ne de CVE açıklandı.

OpenAI’nin güncel iş akışı artık geçişleri ayrı işlere ayırıyor ve Codex’i drop-sudo ile salt-okunur sandbox içinde çalıştırıyor. Şirketin yeni yönlendirmesi, depo talimat dosyalarını “güvenilmeyen giriş yüzeyinin parçası” olarak tanımlıyor ve Codex’in bir işte en son adım olarak çalıştırılmasını öneriyor. Aksi halde ardında, daha sonra gelecek yetkili adımların okuyabileceği dosyalar bırakabileceği uyarısı yapılıyor. OpenAI’nin mevcut konumlandırması, Codex’in yazılabilir bir talimat dosyasını farklı ele aldığına dair bir değişiklik göstermiyor; kaynaklar yalnızca depo düzeyi bir iş akışı düzeltmesini ve dokümantasyon güncellemesini ortaya koyuyor.

Anthropic, Claude Code açığına Orta seviyede CVSS v4 6.0 puanı verdi. NVD ise aynı bulguya CVSS v3.1 kapsamında 9.1 puan atadı. İki değer aynı ölçüm sisteminden çıkmadığı için doğrudan kıyaslanamıyor. NVD, bulgu için v4 altında bir skor vermedi.

CISA kayıtlarında Gemini ve Claude Code CVE’leri için istismar bilgisi “yok” olarak görünüyor. Kurumun Known Exploited Vulnerabilities kataloğunda bu açıkların yer almadığı da 7 Ağustos’ta doğrulandı. İncelenen kaynaklarda, iki zincirin de bir hedefe karşı kullanıldığına dair bir bulguya rastlanmadı. Buna karşın, Claude Code açığını yeniden üretmeyi amaçladığını söyleyen açık bir GitHub deposunun 18 Haziran’dan beri yayında olduğu görüldü.

Gemini ve Claude Code kayıtlarının yanında, araştırmada herhangi bir ürün sürümü yaması ya da CVE taşımayan Codex bulgusu da ayrı bir başlık olarak ele alındı. Novee, OpenAI’nin pozisyonunun sandbox’ın belgelendiği gibi davrandığı yönünde olduğunu aktardı. Kaynaklar, Codex tarafında düzeltmenin ürün içi bir değişiklikten çok iş akışı ayrımı ve belge güncellemesi üzerinden yapıldığını gösterdi.

Bu çalışma, 4 Ağustos’ta Pillar Security’nin duyurduğu ChainDrop npm solucanı araştırmasının hemen ardından geldi. O raporda saldırganların, ele geçirilmiş depolara bir Claude Code SessionStart hook’u ve bir VS Code folderOpen görevi yerleştirdiği, bunun da geliştirici çalışma alanı açılır açılmaz tetiklendiği aktarılmıştı. Yeni bulgular, yapay zekâ destekli geliştirici araçlarının artık yalnızca model girdileriyle değil, depo talimatları ve CI iş akışlarıyla da aynı saldırı yüzeyinde değerlendirildiğini ortaya koydu.

Kaynağa göre güvenlik araştırmacıları, saldırı zincirlerinin ortak noktasını modelin arkasındaki yürütme katmanında buldu. Bu katman, bir değeri önce güvenli sayıp sonra daha geniş yetkiyle işleyebiliyor. Novee’nin 5 Ağustos’ta Black Hat USA’de sunduğu bulgular, Gemini CLI 0.39.1, run-gemini-cli 0.1.22 ve Claude Code 2.1.163 sürümlerine geçişin yanı sıra, dış kullanıcının tetikleyebildiği her iş akışının da ayrıca denetlenmesi gerektiğini ortaya koydu.