shadowprompting

Sır tespitini dil modeline bırakmayın — 7'ye 4 farkı

Aynı veride desen taraması 7 sızmış kimlik bilgisi buldu, dil modeli 4'ünü fark etti. Aktif üretim anahtarını sıradan iş sandı.

2026-07-24·3 dk okuma ·sir-sizintisi, guvenlik, metodoloji, birinci-el-veri
ANTHROPIC_API_KEY=sk-ant-api03-••••••••••• ⚠ CRITICAL rotasyon gerekli

Yapay zeka her şeyi yapabiliyorsa, istemlere yapıştırılmış API anahtarlarını da bulabilir mi? Kendi verimizde denedik. Cevap: bulamıyor, ve neden bulamadığı öğretici.

Deney

739 gerçek görevi iki ayrı yöntemle taradık.

Yöntem 1 — dil modeli. Sınıflandırıcı her görevi kategorilere ayırıyor ve bunlardan biri "hassas kişisel". Sağlık, kişisel finans, hukuk gibi özel hayat konuları buraya düşüyor.

Yöntem 2 — deterministik desen taraması. Bilinen kimlik bilgisi formatlarına karşı düz metin eşleşmesi. Anthropic anahtarları, AWS erişim anahtarları, PEM özel anahtarlar, GitHub token'ları, veritabanı bağlantı dizeleri.

Sonuç

Bulunan sızıntı
Desen taraması7
Dil modeli ("hassas" etiketi)4

Desen taramasının bulup modelin kaçırdıkları arasında hâlâ üretimde kullanılan bir API anahtarı vardı.

Model neden kaçırdı

Kaçırılan anahtarın bulunduğu görevin metni şuna benziyordu:

"şu hatayı alıyorum bağlanamıyor: ANTHROPIC_API_KEY=sk-ant-api03-… ve servis yapılandırması şöyle…"

Model bu görevi "şirket işi" olarak etiketledi. Ve teknik olarak haklıydı: bu gerçekten şirket işiydi. Bir yapılandırma hatası ayıklanıyordu. Konu iş konusuydu, bağlam iş bağlamıydı, niyet iş niyetiydi.

Modelin görevi konuyu sınıflandırmaktı ve konuyu doğru sınıflandırdı. Metnin içinde bir kimlik bilgisi bulunması, o görevin konusunu değiştirmiyor.

Temel ayrım

Sır tespiti bir yorum işi değil, bir eşleşme işidir. "Bu metin ne hakkında?" sorusu yorum gerektirir; dil modelleri bunda iyidir. "Bu metinde sk-ant-api03- ile başlayan 108 karakterlik bir dizi var mı?" sorusu yorum gerektirmez; düzenli ifade bunda kusursuzdur.

Yorumun üç dezavantajı

Tutarsızlık

Aynı metni iki kez sınıflandırdığınızda dil modeli farklı cevaplar verebilir. Bir güvenlik kontrolünde bu kabul edilemez. Desen taraması her çalıştırmada aynı sonucu verir.

Bağlam gölgelemesi

Yukarıdaki örnekte olduğu gibi, güçlü bir bağlam sinyali zayıf bir sinyali gölgeler. Metin baştan sona iş konusuysa, ortasındaki 108 karakterlik dizi modelin dikkatinden düşer.

Sessiz başarısızlık

Model bir sırrı kaçırdığında hata vermez. Görevi başka bir kategoriye koyar ve rapor normal görünür. Kaçırdığını ancak başka bir yöntemle bakarsanız anlarsınız.

Deterministik taramanın da sınırları var

Dürüst olmak gerekirse desen taraması her şeyi çözmez.

Yanlış pozitif üretir. sk- ile başlayan uzun bir dizi her zaman bir anahtar değildir. Test verisi, örnek belge, dokümantasyondaki yer tutucu olabilir.

Bilinmeyen formatları kaçırır. Yeni bir servisin anahtar formatını desen listenize eklemediyseniz göremezsiniz.

Parolayı yakalayamaz. Bir kullanıcı adı-parola çiftini düz metin olarak yapıştıran biri, hiçbir desene uymaz. password: yaz2026 ifadesi bir desenle güvenilir biçimde yakalanamaz.

Bu son madde önemli: ikisi birbirinin yerine geçmez, birbirini tamamlar. Desen taraması formatlı sırları kusursuz yakalar; dil modeli formatsız hassas içeriği yakalayabilir. Doğru mimari ikisini paralel çalıştırıp sonuçları birleştirmektir.

Sırrın kendisini saklamayın

Bir sızıntı tespit aracının yapabileceği en kötü şey, bulduğu sırrı kendi veritabanına yazmaktır. Sızıntıyı raporlarken sızıntıyı çoğaltmış olursunuz.

Bizim yaklaşımımız parmak izi: anahtarın ilk 12 karakteri, son 4 karakteri ve uzunluğu saklanır. Sahibinin hangi anahtar olduğunu anlamasına yeter, kimsenin kullanmasına yetmez.

sk-ant-api03…lgAA (108 karakter)

Bu satır, hangi anahtarı rotasyona sokacağınızı söyler ama anahtarın kendisini taşımaz.

Değerlendirirken sorun

Bir DLP veya AI denetim aracı alıyorsanız şunu sorun: tespit ettiğiniz kimlik bilgisini saklıyor musunuz, saklıyorsanız nerede ve ne kadar süre? Cevap net değilse, o araç bir sır deposu haline gelme riski taşır.

Sızıntı kayıtlarda kalıcıdır

Deneyimizin en rahatsız edici tarafı şuydu: bulduğumuz anahtarlar sadece bir kez yazılmış değildi. Yapay zeka istemcilerinin oturum kayıtları diskte duruyor ve bu kayıtlar uzun süre saklanıyor.

Bizim durumumuzda aktif üretim anahtarı üç ayrı kayıt dosyasında bulunuyordu ve saklama süresi on yıla ayarlıydı.

Yani bir anahtar bir kez yapıştırıldığında:

  1. Sağlayıcının sunucusuna gitti
  2. Yerel oturum kaydına yazıldı
  3. Yedeklere kopyalandı
  4. Varsa arşiv senkronizasyonuna girdi

Silmek bu zincirin tamamını temizlemek demek. Rotasyon çok daha güvenilir. Ne yapılacağının adım adım anlatımı için API anahtarı sızdığında ilk 60 dakika yazısına bakın.

Özet

Ölçümün tamamı 739 görevi ölçtük yazısında.