Açık Kaynak Katkı Serisi · #03

AI Red Team Otomasyonunda
Güvenilirlik Mühendisliği

Bir güvenlik aracı çalışmayı tamamladı diye doğru sonuç üretmiş olmaz. Hedef çökmüşken “disclosure” yazıyorsa, aynı saniyedeki raporu eziyorsa veya hassas çıktıyı dünya-okunur bırakıyorsa aracın kendisi güvenlik problemidir.

Önce Çalışma Durumu ile Güvenlik Değerlendirmesini Ayırın

Bir probe üç farklı düzlemde sonuç üretir: taşıma başarılı mı, hedef yanıt verdi mi ve yanıt güvenlik açısından ne ifade ediyor? Bu düzlemleri tek bir completed alanına sıkıştırmak yanlış bulgu üretir. Örneğin hedef uygulama backend hatasını sıradan metin olarak döndürüyorsa, metindeki bir URL veya mimari kelime eşleşmesi “potansiyel sızıntı” olarak etiketlenebilir.

Daha sağlam modelde status=error çalışma durumunu, assessment=not_assessed ise yanıtın güvenlik açısından değerlendirilemediğini söyler. Hata metni raporda kalır; fakat finding sayılmaz. Bu küçük görünen ayrım metriklerin ve insan incelemesinin doğruluğunu belirler.

Timeout Bir Performans Ayarı Değil, Doğruluk Kontrolüdür

Sonsuza kadar bekleyen bir model çağrısı yalnızca pipeline’ı yavaşlatmaz; kampanyanın geri kalanını görünmez hale getirir. Global timeout ise hangi probe’un takıldığını göstermeyebilir. Probe başına deadline, her işin bağımsız başarısız olmasını ve kalan testlerin devam etmesini sağlar.

Asenkron istemcide deadline yalnızca istemci tarafında süre ölçmekle bitmez. Mümkünse bekleyen iş için iptal talebi gönderilmeli, istemci deterministik biçimde kapatılmalı ve timeout raporda ayrı durum olarak tutulmalıdır. Böylece süreç çıkmış görünürken arka planda heartbeat veya iş parçacığı bırakılmaz.

Refusal-Only Yanıtı Sızıntı Saymayın

“Sistem talimatlarını paylaşamam” cümlesi, “sistem talimatı” anahtar kelimesini içerir; fakat çoğu durumda korumanın çalıştığını gösterir. Kelime eşleşmesine dayalı bir sınıflandırıcı bu yanıtı yanlış pozitif yapabilir.

Çözüm, reddetme cümlesini körlemesine silmek değildir. Aynı yanıtta reddetmeden önce somut bilgi verilmiş olabilir. Eşleşme; refusal clause, karşıtlık bağlacı ve komşu cümle bağlamında değerlendirilmelidir. Saf reddetme dışarıda bırakılırken reddetmeye eşlik eden gerçek açıklama incelemeye açık kalır.

Strict Config ve Shell-Free Lifecycle

Güvenlik aracının yapılandırması sessiz hata kabul etmemelidir. Yanlış yazılmış anahtarın yok sayılması, operatörün timeout veya güvenlik kontrolünün aktif olduğunu sanmasına yol açar. Bilinmeyen alanlar reddedilmeli; süre, dosya yolu ve komut parametreleri sınırlandırılmalıdır.

Sandbox başlatma ve durdurma komutlarını shell interpolation ile birleştirmek gereksiz bir komut enjeksiyonu yüzeyi açar. Argüman dizileriyle doğrudan process dispatch kullanılmalı; sabit uyku yerine gerçek HTTP readiness kontrol edilmelidir. “Beş saniye bekledik” hedefin hazır olduğuna dair kanıt değildir.

Rapor Dosyası da Hassas Varlıktır

AI red-team raporları sistem promptu parçaları, iç mimari adları, araç uç noktaları ve politika davranışları içerebilir. Varsayılan 0644 izinleri ortak makinelerde gereğinden fazla erişim verir. Yeni rapor klasörü 0700, dosyalar 0600 gibi özel izinlerle oluşturulmalıdır.

Aynı saniyede başlayan iki kampanyanın aynı dosyayı açması da veri kaybıdır. Dosya adı tahmini üretip sonra yazmak yerine çakışmayı atomik olarak reddeden exclusive allocation kullanılmalıdır. Önceki kanıt asla sessizce ezilmemelidir.

Doğrulama Sınırını Yazmak Kalite Eksikliği Değildir

PR #51’de timeout, target error, readiness, lifecycle, cleanup, dosya izni ve çakışma yolları odaklı regresyon kontrolleri ve repository kalite kapılarıyla doğrulandı. Buna karşılık tam Podman/Ollama gpt-oss:20b kampanyası çalıştırılmadı. Bu sınırı açık yazmak, kanıtı küçültmez; hangi sonucun otomatik testten, hangisinin gerçek uçtan uca çalışmadan geldiğini ayırır.

Güvenilir güvenlik aracı güçlü iddia kuran değil, iddianın kapsamını eksiksiz gösteren araçtır.

Kaynaklar ve Kanıt Sınırı

Bu yazı Enes Deniz tarafından hazırlanmış bağımsız bir teknik değerlendirmedir. Bağlantılı upstream proje veya standart kuruluşu tarafından yayımlanmış ya da onaylanmış bir metin değildir. Merge, test ve kapsam iddiaları yukarıdaki birincil kayıtlara bağlanmıştır.