Son zamanlarda herkes “Yapay Zeka Ajanları” (AI Agents) konuşuyor. Sadece sohbet eden değil, bilgisayarımızda işlem yapan, kod çalıştıran, dosyaları düzenleyen asistanlar…
OpenAI’ın “Operator” özelliğine açık kaynak bir alternatif olarak çıkan OpenClaw, tam da bunu vaat ediyordu. Ancak bir sorun vardı: Güvenlik.
Composio ekibinden bir geliştirici, OpenClaw’ı incelediğinde dehşete düştü ve projeyi sıfırdan, güvenli bir mimariyle (“SafeClaw” diyebiliriz) yeniden yazdı. Neden mi?
Sorun: “Uzaktan Kod Çalıştırma” (RCE) Servisi Olarak AI
Orijinal OpenClaw’ın çalışma mantığı şuydu:
- Kullanıcı bir görev verir.
- AI (LLM) bu görevi yapmak için Python/Bash kodu üretir.
- Sistem bu kodu alır ve doğrudan çalıştırır.
Bir güvenlikçi (veya 13 yıllık bir yazılımcı) için bu, kabus senaryosudur. Eğer AI’ya (veya onu manipüle eden birine) sisteminizde kod çalıştırma yetkisi verirseniz, o sunucu artık sizin değildir.
Yazarın tespit ettiği en büyük açık şuydu: Yetersiz İzolasyon. Çoğu geliştirici “Docker konteynerine koydum, güvenli oldu” sanır. Ancak Docker, varsayılan ayarlarda tam bir güvenlik sınırı (sandbox) değildir. Konteynerden kaçış (container escape) veya host dosya sistemine erişim, yanlış konfigürasyonla çocuk oyuncağıdır.
Çözüm: Gerçek Sandboxing (E2B ve Composio)
Yazar, projeyi yeniden inşa ederken şu mimariyi kurdu:
- Özel Sandbox Ortamı (E2B): Kodları sıradan bir Docker konteynerinde değil, E2B adı verilen ve özellikle AI kod çalıştırma işlemleri için tasarlanmış, izole edilmiş sanal ortamlarda çalıştırdı. Bu sayede AI, “sunucuyu sil” kodu üretse bile, sadece saniyeler içinde yok olacak sanal bir odayı silebilir.
- Yetki Sınırlaması: AI’nın erişebileceği araçlar (tools) sınırlandırıldı. Sadece izin verilen API’lere ve dosya yollarına erişim hakkı tanındı.
- İnsan Onayı (Human-in-the-loop): Kritik işlemlerde (örneğin dosya silme veya dış ağa bağlanma), işlem gerçekleşmeden önce kullanıcının onayı zorunlu hale getirildi.
Kıdemli Yazılımcı Gözüyle: POC ile Prodüksiyon Arasındaki Fark
Bu vaka bize şunu hatırlatıyor: GitHub’da gördüğünüz “harika çalışan” o demo projeler (POC – Proof of Concept), genellikle güvenlikten yoksundur.
“Çalışıyor olması”, “güvenli olduğu” anlamına gelmez. Özellikle kendi sunucularımızda (bare metal) AI ajanları çalıştıracaksak;
- Asla root yetkisi vermeyin.
- Docker’a körü körüne güvenmeyin.
- AI’nın ürettiği kodu, izole edilmemiş ortamda
exec()etmeyin.
Gelecek ajanlarda, ama o ajanları denetleyecek olan yine biziz.
Kaynak: I Rebuilt OpenClaw from Scratch (Without the Security Flaws) – Composio


