Kod Güvenliğini Ajanlara Devretmek: Claude Code'un Yeni Güvenlik Eklentisi
Anthropic'in Claude Security eklentisi, bir kod tabanını çok ajanlı bir ekiple tarayıp bulguları incelemeye hazır yamalara dönüştürüyor. Eklentinin nasıl çalıştığını ve güvenlik araç zincirindeki yerini inceledik.

Kurumsal yazılım ekiplerinin güvenlik araç zincirinde uzun süredir bir boşluk vardı. Statik analiz araçları kural tabanlı çalışır: bilinen desenleri yakalar, ancak bir açığın gerçekten sömürülebilir olup olmadığını, mimarinin bütünü içinde ne anlama geldiğini değerlendiremez. Anthropic'in Claude Code için yayımladığı Claude Security eklentisi tam bu boşluğu hedefliyor — kod tabanını, tek tek kurallar üzerinden değil, bir güvenlik araştırmacısının akıl yürütme biçimini taklit eden çok ajanlı bir süreçle inceliyor.

Eklenti ne yapıyor?
Claude Security, bir Claude Code oturumu içinde çalışan bir eklenti. Kurulumu resmî Anthropic eklenti pazarından tek komutla yapılıyor ve tarama tamamen yerel oturumda yürütülüyor; her tarama kullanıcının plan limitlerinden düşüyor.
Eklenti tek bir komut ekliyor ve bu komut üç iş sunuyor: kod tabanının tamamını taramak, yalnızca bir değişiklik kümesini (dal farkı, pull request farkı veya tek bir commit) taramak ve bulguları yamaya dönüştürmek. Büyük depolarda tüm ağacı taramak yerine API katmanı veya kimlik doğrulama kodu gibi odaklı bir alan seçilebiliyor; rapor, neyin incelenip neyin incelenmediğini ayrıca belirtiyor.
Çalışma öncesinde kullanıcıdan onay isteniyor. Taramanın uzun sürebileceği ve ciddi miktarda token tüketebileceği açıkça bildiriliyor — kurumsal kullanımda maliyet öngörülebilirliği açısından anlamlı bir tasarım tercihi.
Ajan ekibi nasıl çalışıyor?
Eklentinin ayırt edici yanı, taramayı tek bir modele değil bir ajan ekibine dağıtması. Süreçte önce mimari haritalanıyor, ardından bir tehdit modeli kuruluyor, sonra açıklar aranıyor. Kritik adım en sonda: her bulgu, rapora girmeden önce bağımsız doğrulayıcı ajanlar tarafından inceleniyor.
Bu ayrım pratikte önemli. Otomatik güvenlik araçlarının klasik sorunu, yanlış pozitiflerin raporu okunamaz hale getirmesidir. Bulguların ancak bağımsız doğrulamadan geçtikten sonra rapora alınması, raporu kısa ve okunmaya değer tutmayı amaçlıyor.
Sonuçlar, depo içinde zaman damgalı bir dizine yazılıyor: insan tarafından okunabilir bir rapor, makine tarafından işlenebilir satır tabanlı bir JSON dosyası ve bir revizyon damgası. Bu damga, hangi commit'in, hangi çabayla ve ne kadar doğrulanarak tarandığını kaydediyor — yani her rapor, tanımladığı kod durumuna bağlı kalıyor. Denetim izi (audit trail) açısından bakıldığında bu, tek başına bir güvenlik raporundan daha değerli bir kayıt.
Bir uyarı da açıkça belirtiliyor: taramalar deterministik değil. Aynı kodun iki farklı taraması farklı bulgular üretebiliyor. Bu nedenle düzenli tarama öneriliyor.

Bulgudan yamaya: onay kullanıcıda
Eklentinin ikinci aşaması, seçilen bulguları yamaya dönüştürmek. Burada da aynı ayrıştırma mantığı işliyor: yamayı yazan ajandan bağımsız bir başka ajan, üretilen değişikliği inceliyor. Projede test varsa testler yamaya karşı çalıştırılıyor; ayrıca diff bağımsız olarak okunuyor.
Yama ancak bu inceleme üç şeyi birden garanti edebilirse yazılıyor: değişiklik yalnızca ilgili bulguyu gideriyor, yeni bir açık getirmiyor ve davranışı başka açıdan değiştirmiyor. Üçü birden doğrulanamıyorsa kullanıcı yama yerine gerekçeli bir not alıyor.
En kritik tasarım kararı ise şu: yamalar hiçbir zaman otomatik uygulanmıyor. Her yama ayrı bir dosya olarak rapor klasörüne düşüyor ve uygulamak tamamen kullanıcının kararı. Yamalar taslak hâlinde deponun geçici bir kopyasında hazırlanıyor, yani kaynak dosyalar kullanıcı müdahale edene kadar dokunulmadan kalıyor. Anthropic, her yamanın ayrı bir pull request içinde uygulanmasını öneriyor.
Bir başka güvenlik önlemi de raporun bayatlamasına karşı: yama üretilirken rapordaki bulgunun hâlâ mevcut kodu tanımlıyor olması gerekiyor. Kodu değişmiş bulgular atlanıyor ve kullanıcıya yeniden tarama öneriliyor.
Güven sınırı: kendi kodunuz mu, yabancı depo mu?
Dokümantasyonun en dikkat çekici bölümlerinden biri, eklentinin ne için tasarlanmadığını açıkça söylemesi. Eklenti, kontrolünüzdeki kodu taramak için tasarlanmış — sorunun "kodda hangi hatalar var" olduğu senaryolar için. Kodun kendisinin kötü niyetli olabileceği senaryolar için değil.
Nedeni teknik: tarama kullanıcının kendi oturumunda, kullanıcının izinleriyle çalışıyor ve kendi başına bir yalıtım katmanı eklemiyor. Deponun ayarları, kancaları (hooks) ve talimat dosyaları normal bir oturumdaki gibi geçerli oluyor. Sistem, deponun söylediği her şeyi — kodu, yorumları, bulgu metinlerini — talimat değil, incelenen veri olarak ele alıyor; ancak Anthropic bunun düşmanca bir depoya karşı yeterli bir savunma olmadığını doğrudan belirtiyor.
Güvenilmeyen bir kod tabanını, örneğin üçüncü taraf bir bağımlılığı taramak isteyen kullanıcılara önerilen yol, oturumun tamamını işletim sistemi düzeyinde dosya sistemi ve ağ kısıtlamaları uygulayan bir kum havuzunda (sandbox) çalıştırmak.
Bu şeffaflık, yapay zekâ araçlarının pazarlama dilinde giderek nadirleşen bir tutum: aracın sınırını, kullanıcı o sınıra çarpmadan önce söylemek.

Katmanlı bir güvenlik yaklaşımının parçası
Eklenti tek başına bir çözüm olarak konumlandırılmıyor. Anthropic, onu "derinlemesine savunma" mantığında kurulmuş bir yığının belirli bir katmanı olarak tanımlıyor:
- Oturum içinde: Güvenlik rehberliği eklentisi, Claude kod yazarken yaygın açıkları aynı oturumda yakalıyor.
- Tek geçişli, isteğe bağlı: `/security-review` komutu mevcut dal üzerinde tek seferlik bir güvenlik geçişi yapıyor.
- Derin tarama, isteğe bağlı: Claude Security eklentisi — çok ajanlı, bağımsız doğrulamalı ve yamalı katman.
- Pull request anında: Code Review, tam kod tabanı bağlamıyla doğruluk ve güvenlik incelemesi yapıyor (Team ve Enterprise planları).
- Yönetilen hizmet: Enterprise planındaki Claude Security ürünü, bağlı depoları sürekli izliyor.
- CI hattında: Mevcut statik analiz ve bağımlılık tarayıcıları, dile özgü kurallar ve tedarik zinciri kontrolleri.
Eklentinin yönetilen ürüne göre bir avantajı da var: yerel çalıştığı için, yönetilen ürünün erişemediği yerlere ulaşabiliyor — GitLab veya Bitbucket'ta barındırılan depolar ya da gelen bağlantılara kapalı ağlar gibi.
Anthropic'in mevcut araçların yerini almadığını vurgulaması ise teknik olarak doğru bir çerçeveleme. Statik analiz deterministiktir; aynı girdiye her zaman aynı çıktıyı verir ve bu, uyum (compliance) süreçleri için vazgeçilmezdir. Eklenti ise kodu bağlamıyla birlikte okuyup akıl yürütüyor. İkisi rakip değil, tamamlayıcı.
Sonuç: güvenlik incelemesinin ölçek sorunu
Bu eklentinin işaret ettiği asıl mesele, bir özellik listesinden daha geniş. Güvenlik incelemesi, yazılım geliştirme sürecinde uzmanlık gerektirdiği için darboğaz oluşturan az sayıdaki adımdan biri. Kod üretimi yapay zekâ araçlarıyla hızlanırken, incelemenin insan hızında kalması sürdürülebilir değil.
Anthropic'in yaklaşımı, bu darboğazı "otomasyon" ile değil, iş bölümü ile çözmeye çalışıyor: tarama, doğrulama ve yama yazma işleri farklı ajanlara dağıtılıyor; her aşama bir başkası tarafından denetleniyor; ve zincirin son halkası — uygulama kararı — bilinçli olarak insanda bırakılıyor.
Yapay zekâ ajanlarının kurumsal iş akışlarına girişinde tartışılan asıl soru da bu: makine nerede karar verir, insan nerede onaylar. Claude Security eklentisi bu soruya net bir cevap veriyor — analiz ajanın, karar kullanıcının.