Giriş
AI kodlama ajanslarının zararlı komutları çalıştırmasını engelleyen güvenlik önlemlerinin, uzun süredir bilinen bir teknikle aşılabileceği ortaya çıktı. Bu durum, kullanıcıların hesaplarına tam erişime sahip bu ajansların potansiyel tehlikelerini gözler önüne seriyor.
Saldırı Nasıl Çalışıyor?
Arastırmalar, “GuardFall” adı verilen bir bypass tekniğinin, test edilen popüler açık kaynak kodlama ve bilgisayar kullanma ajanslarının on tanesi üzerinde etkili olduğunu gösteriyor. Sadece bir ajans olan “Continue”, bu tür bir tehdide karşı bir savunma mekanizması içermektedir. Bu ajanslar, bash üzerinden çalıştırılan komutları kontrol etme amacıyla tehlikeli desenlerin bulunduğu bir kara liste kullanıyor, ancak bu liste metin düzeyinde inceleniyor. Oysa bash, metni işleyip yeniden yazarken, bu iki filtre arasında uyumsuzluk oluşuyor.
Örneğin, rm komutunu izleyen bir filtre, r”m gibi bir ifadeyi zararsız olarak değerlendiriyor; ancak bash bu ifadeyi işleyerek sonuçta rm komutunu çalıştırıyor. Bu durum, potansiyel zararlı komutların gizli bir şekilde çalıştırılabilmesine olanak tanıyor.
Etkilenen Sistemler
Aşağıda, test edilen ve bu açığı taşıyan ajansların listesi bulunmaktadır:
- Opencode
- Goose
- Cline
- Roo-Code
- Aider
- Plandex
- Open Interpreter
- OpenHands
- SWE-agent
- Hermes Project
Güvenlik açığı, otomasyon pipeline’larında yaygın olarak kullanılan bu ajanslar için derin bir tehdit oluşturuyor. Adversa, bu arada Continue ajansının komutları nasıl parçaladığını ve denetleyerek belirli zararlı komutları engellediğini bildiriyor.
Çözüm ve Korunma
Benimsenmesi gereken önlemler, aşağıdaki gibi farklı stratejilerden oluşmaktadır:
- Ajansları, gizli bilgilerin erişilebilir olmadığı bir geçici klasöre yönlendirerek çalıştırın.
- Otomatik çalıştırma bayraklarını (örneğin, –auto-exec, –auto-run) kapatın, yalnızca işin kesinlikle durması mümkün değilse açık bırakın.
- Ajansların, forklardan gelen pull request’lerde çalıştırılmasına izin vermeyin.
- Repository içinde gelen yapılandırma dosyalarını (örneğin, .aider.conf.yml) güvenilir olmayan kod olarak değerlendirin; malicious kod, ilk düzenlemede saldırıyı tetikleyebilir.
Bu çözümler, doğru bir koruma mekanizması kurulana kadar maruziyeti azaltan kısa vadeli önlemler olarak öne çıkıyor.
Sonuç
Geliştiricilerin, kullanılan araçların güvenlik açıklarını ve güncellemelerini takip etmeleri, gerekli durumda güncellemeleri gerçekleştirmeleri ve port kapatma önlemlerini almak için acilen harekete geçmeleri gerekmektedir. Otomasyon süreçlerinde dikkatli olunmalı ve geçici önlemler uygulanmalıdır.


