Ünite 10 / 12

Güvenli Kullanım: Sır Sızdırmama ve Gizlilik

Kazanimlar:

  • Sır, kişisel veri ve gizli iş varlıklarını içeren veriyi sınıflandırıp kırmızı çizgileri tanıyabilme
  • Veriyi girmeden önce maskeleme, anonimleştirme ve sentetik veriyle güvene alabilme
  • Onaylı araç seçimi, bağlam minimizasyonu ve sızıntı halinde anahtar döndürme refleksini uygulayabilme

Bir kodlama asistanına yapıştırdığınız her şey, potansiyel olarak sizin kontrolünüzden çıkar. Bir API anahtarı, bir müşteri veritabanı dökümü, henüz duyurulmamış özel kaynak kodu ya da bir hasta kaydı — bunlar onaylı olmayan bir araca girdiği anda geri alınamaz bir sızıntı hâline gelebilir. Yazılım ekipleri için AI'nın en büyük riski, bir hata satırından değil, dikkatsiz bir kopyala-yapıştırdan doğar. Bu ünite, o kopyala-yapıştırı güvenli hâle getirmekle ilgilidir.

Burada üç şeyi ayırıyoruz: hangi veri asla girilmemeli, hangi araçlar hangi güvencelerle kullanılabilir ve girmeden önce veriyi nasıl güvene alırsınız (maskeleme, sentetik veri, yerel çalışma). Bu, isteğe bağlı bir "iyi olur" değil; çoğu kurumda sözleşmesel ve yasal bir zorunluluktur.

Neden Bu Kadar Kritik?

Bir AI aracına gönderdiğiniz veri; sağlayıcının sunucularında işlenir, bazen bir süre saklanır, bazı ürün ayarlarında modelin iyileştirilmesi için kullanılabilir. "Sohbeti sildim" demek çoğu zaman yeterli değildir; veri ağ üzerinden çıktığı anda risk doğmuştur. Üstelik sızıntının bedeli büyüktür: sızan bir bulut anahtarı dakikalar içinde kötüye kullanılabilir, sızan müşteri verisi KVKK/GDPR gibi düzenlemeler kapsamında bildirim ve ceza doğurabilir, sızan özel kaynak kodu rekabet avantajını yok edebilir.

Bu yüzden temel kural basittir: Onaylı olmayan bir araca, kaybını göze alamayacağınız hiçbir şeyi girmeyin. Şüphedeyseniz, girmeyin.

Dikkat: "Bir kereliğine, hızlıca" mantığı en sık sızıntı sebebidir. Acil bir hatayı çözerken üretim log'unu ya da bir yapılandırma dosyasını olduğu gibi yapıştırmak, tam da baskı altında verilen bu tür kararlarla olur. Aciliyet, gizlilik kuralını askıya almaz.

Asla Girilmemesi Gerekenler (kırmızı çizgi)

  • Sırlar: API anahtarları, parolalar, bulut erişim anahtarları, özel sertifikalar, jetonlar (token), bağlantı dizeleri (connection string).
  • Kişisel veri (PII): Ad-soyad, TC kimlik no, e-posta, telefon, adres, sağlık/finans kayıtları, müşteri verisi.
  • Gizli iş varlıkları: Duyurulmamış kaynak kodu, tescilli algoritmalar, iç mimari sırları, sözleşme detayları.
  • Düzenlemeye tabi veri: Sağlık, ödeme kartı (PCI), kişisel finans gibi özel korumalı kategoriler.

Adım Adım: Güvenli Kullanım Akışı

  1. Veriyi sınıflandırın. Elinizdeki şey hangi kategoride — kamuya açık mı, iç kullanım mı, gizli mi, düzenlemeye tabi mi?
  2. Aracı sınıfa göre seçin. Gizli/düzenlemeli veri yalnızca kurumsal olarak onaylanmış, veri güvencesi (eğitimde kullanmama, saklama sınırı, bölgesel işleme) verilen araçlarda işlenir.
  3. Girmeden önce güvene alın. Sırları çıkarın, PII'yi maskeleyin/anonimleştirin, mümkünse gerçek yerine sentetik (uydurma ama gerçekçi) veri kullanın.
  4. Bağlamı en aza indirin. Sorununuzu, hassas kısımları içermeyen en küçük yeniden üretilebilir örneğe indirin.
  5. Çıktıyı da denetleyin. AI'nın ürettiği kodda sabit gömülü bir sır (hardcoded secret) veya sizin verinizin bir kalıntısı olmadığını kontrol edin.

Üç Mini Vaka

Vaka 1 — Yapıştırılan anahtar iptal edildi. Bir geliştirici, bir hata çözerken tüm yapılandırma dosyasını AI'ya yapıştırdı; dosyada canlı bir üçüncü taraf API anahtarı vardı. Ekip fark edince anahtarı derhal iptal edip (rotate) yenisini üretti; kötüye kullanım olmadı ama bu bir "ucuz atlatılmış" olaydı. Ders: yapıştırmadan önce sırları çıkarın — ve sızdıysa anahtarı hemen döndürün.

Vaka 2 — Sentetik veri işi kurtardı. Bir ekip, gerçek müşteri kayıtlarıyla bir ayrıştırma hatası yaşıyordu. Gerçek veriyi girmek yerine, aynı yapıda ama tümüyle uydurma 20 satır sentetik veri üretip hatayı onunla yeniden ürettiler ve AI ile çözdüler. Ne PII sızdı ne de teşhis yavaşladı; sentetik veri hem güvenli hem yeterliydi.

Vaka 3 — Çıktıdaki gizli sır. AI, bir örnek yapılandırma üretirken içine gerçekçi görünen bir "örnek" anahtar gömdü ve geliştirici bunu fark etmeden koda aldı; kod tabanı taraması (secret scanner) bunu yakalayıp uyardı. Sabit sır koda hiç girmemeliydi; doğrusu ortam değişkeni (environment variable) veya bir sır yöneticisi (secrets manager) kullanmaktı. Ders: çıktıyı da sır açısından tarayın.

Dört Kopyalanabilir Şablon

Girmeden önce maskeleme kontrol listesi (kendi kendine):

Bu metni AI'ya vermeden önce şunları çıkardığımdan emin ol ve bulduklarını[MASKELENDİ] ile değiştir: API anahtarı, parola, token, connection string,ad-soyad, e-posta, telefon, TC/kimlik no, müşteri verisi.Metin:{{metin}}

Sentetik test verisi üretimi:

Aşağıdaki şemaya uygun, TAMAMEN uydurma (gerçek kişi/kurumla ilişkisiz) {{N}}satır test verisi üret. Gerçekçi görünsün ama hiçbir gerçek PII kullanma.Şema: {{alanlar ve tipler}}Kenar durumları da kapsa (boş, sınır, hatalı format).

Sabit sır avı (kodda):

Bu kodda/konfigürasyonda sabit gömülü sır (hardcoded secret) ara: anahtar,parola, token, özel URL. Bulursan yerini belirt ve doğru yöntemi öner(ortam değişkeni / sır yöneticisi). Kod:{{kod}}

Araç uygunluk değerlendirmesi (veri sınıfına göre):

Elimde şu türde veri var: {{sınıf: kamuya açık / iç / gizli / düzenlemeye tabi}}.Kullanmayı düşündüğüm araç: {{araç}}. Bu araçta bu veriyi işlemeden önce hangigüvenceleri (saklama, eğitimde kullanmama, bölge, erişim) teyit etmeliyim?Bir kontrol listesi ver. Karar bende; sen ölçütleri netleştir.

Zayıf prompt / Güçlü prompt

Zayıf: (Üretim veritabanından çekilmiş 200 gerçek kullanıcı satırını olduğu gibi yapıştırıp) "Bu veride neden ayrıştırma hatası var?"
Güçlü: "Aşağıda, gerçek veriyle aynı yapıda ama tümüyle sentetik 15 satır var (PII yok). parse_user() bu satırlardan 3, 8 ve 12'de ValueError veriyor. Ortak desen ne olabilir, nasıl düzeltirim?"

Güçlü sürüm, hatayı yeniden üretmek için gereken yapıyı korurken hiçbir gerçek kişisel veri içermez. Teşhis aynı kalır, risk sıfırlanır.

Veri sınıfı

AI'da işlenebilir mi?

Ön koşul

Kamuya açık

Evet

İç kullanım (hassas olmayan)

Genelde

Kurum politikasına uy

Gizli (kaynak kodu, iş sırrı)

Yalnızca onaylı araç

Kurumsal güvence + minimizasyon

PII / düzenlemeye tabi

Kural olarak hayır

Maskele/anonimleştir veya sentetik kullan

Politikaya Uyum ve İz

Güvenli kullanım kişisel bir alışkanlık olmanın ötesinde kurumsal bir sistemdir: hangi araçların onaylı olduğu, hangi veri sınıfının nereye girebileceği ve ihlal durumunda ne yapılacağı yazılı bir politikada tanımlı olmalıdır. Bir sır sızarsa, en önemli ilk adım paniklemek değil, sızan kimlik bilgisini derhal döndürmektir (iptal edip yenisini üretmek) ve olayı bildirmektir. Kurumunuzun onaylı araç listesini ve veri sınıflandırma kurallarını bilmiyorsanız, ilk göreviniz onları öğrenmektir.

İpucu: Editör/CLI aracınızda, projeye özel bir "yok sayma" listesi (ör. .env, gizli klasörler, kimlik dosyaları) tanımlayın ki bu dosyalar yanlışlıkla asistanın bağlamına dahil edilmesin. Önleme, temizlemekten her zaman ucuzdur.

Sık yapılan hatalar

  • "Bir kereliğine" hassas veri yapıştırmak. Aciliyet, kırmızı çizgiyi askıya almaz; en sık sızıntı burada olur.
  • "Sohbeti silerim" sanmak. Veri ağdan çıktığı anda risk doğmuştur; silmek geri almaz.
  • Aracı sınıfına bakmadan seçmek. Kişisel bir hesapla gizli kurum verisi işlemek ciddi bir ihlaldir.
  • Çıktıyı taramamak. AI, koda sabit bir sır gömebilir; secret scanner ile üretimi de denetleyin.
  • Sır sızınca döndürmemek. Sızan anahtarı iptal etmemek, sızıntıyı canlı bir açığa çevirir.

Özetle

Yazılımda AI'nın en büyük riski gizlilik sızıntısıdır ve çoğu, baskı altında verilen bir kopyala-yapıştır kararından doğar. Kural nettir: sırlar, kişisel veri, gizli iş varlıkları ve düzenlemeye tabi veri, onaylı olmayan araçlara girilmez. Veriyi girmeden önce sınıflandırın, aracı sınıfa göre seçin, sırları çıkarın, PII'yi maskeleyin veya sentetik veri kullanın, bağlamı en aza indirin ve çıktıyı da sır açısından tarayın. Sızıntı olursa ilk iş: kimlik bilgisini döndürmek ve bildirmek.

Uygulama görevi

Son zamanlarda AI'ya verdiğiniz (veya vermeyi düşündüğünüz) bir kod/log/veri parçasını alın. Önce "maskeleme kontrol listesi" şablonuyla içindeki sır ve PII adaylarını tespit edin. Ardından, eğer gerçek veri içeriyorsa, "sentetik test verisi üretimi" şablonuyla aynı yapıda ama tümüyle uydurma bir sürüm üretin ve sorununuzu bununla yeniden üretilebilir hâle getirin. Son olarak kurumunuzun onaylı araç listesini ve veri sınıflandırma politikasını bulup okuyun; yoksa bu eksikliği not edin.

Kontrol listesi

  • [ ] Veriyi girmeden önce sınıflandırıyorum (açık/iç/gizli/düzenlemeye tabi).
  • [ ] Sır, PII ve gizli iş varlıklarını onaylı olmayan araçlara asla girmiyorum.
  • [ ] Gerçek veri yerine mümkün olduğunca maskeleme veya sentetik veri kullanıyorum.
  • [ ] Bağlamı, hassas kısımları içermeyen en küçük örneğe indiriyorum.
  • [ ] AI çıktısını sabit gömülü sır açısından tarıyorum.
  • [ ] Sır sızarsa kimlik bilgisini derhal döndürüp olayı bildireceğimi biliyorum.