Açık Kaynak Katkı Serisi · #01

Bir AI Güvenlik Veri Seti
Upstream’e Nasıl Hazırlanır?

Üç yüz dosyayı bir repoya eklemek katkı değildir. Katkı; her kaydın nereden geldiğini, nasıl değiştiğini, neyi test ettiğini ve hangi doğrulamadan geçtiğini başka birinin yeniden denetleyebilmesidir.

Teslimat Neden Yalnızca Dosya Değildir?

Bir güvenlik veri seti ilk bakışta satırlardan ya da JSON belgelerinden ibaret görünür. Upstream bakım açısından ise asıl ürün kaydın kendisi kadar onun kanıt zinciridir. Maintainer şu sorulara hızlı cevap veremiyorsa koleksiyon büyüdükçe güven azalır: Kayıt hangi kaynaktan türetildi? Kaynak sürümü sabit mi? Uyarlama hangi alanları değiştirdi? Lisans buna izin veriyor mu? Aynı örneğin başka bir kopyası var mı?

PR #11’de 300 Türkçe-öncelikli vaka tek dosyalık bir yığın olarak değil, her kayıt için ayrı şema uyumlu belge ve bunları bağlayan deterministik bir manifest olarak teslim edildi. Bu karar incelemeyi kolaylaştırdı; tek bir vakanın kaynağı, etiketi, hash’i ve inceleme durumu koleksiyonun geri kalanından bağımsız denetlenebilir hale geldi.

Bu yaklaşımın önemli sınırı şudur: çok sayıda dosya tek başına kalite kanıtı değildir. Kalite; şema, provenance, lisans, anonimleştirme ve bütünlük kontrollerinin birlikte geçmesiyle oluşur.

Şema Bir Dosya Biçimi Değil, Katkı Sözleşmesidir

JSON Schema yalnızca eksik virgülü yakalamaz. Zorunlu alanları, izin verilen sınıfları ve test vakasının minimum açıklama düzeyini belirler. İyi bir şema; saldırının hedefini, güvenli ve güvensiz davranışı, gerekli sandbox koşullarını, dili, kapsamı ve risk eşlemesini açık hale getirir.

Şemaya uymayan kaydı “sonra düzeltiriz” diyerek kabul etmek teknik borcu veri katmanına taşır. Model değerlendirmesinde bu borç görünmez biçimde büyür: aynı etiket farklı anlamlara gelir, filtreler sessizce kayıt kaçırır ve karşılaştırmalar güvenilmezleşir. Bu nedenle doğrulama, yayın sonrasında yapılan bir temizlik değil, katkının giriş kapısıdır.

KatmanKontrolYanıtladığı soru
YapıJSON SchemaKayıt sözleşmeye uyuyor mu?
AnlamKanonik kategori kontrolüEtiket gerçekten izin verilen taksonomide mi?
BütünlükManifest ve hashDosya inceleme sonrasında değişmiş mi?
KoleksiyonDuplicate ve kapsama analiziYeni kayıt gerçekten yeni bir sınır örneği mi?

Provenance Kaydını Sonradan Eklemeyin

Kaynak zinciri, son teslim aşamasında doldurulan bir “source” alanından ibaret değildir. Kaynak revision, kaynak kayıt kimliği, kaynak içerik hash’i, uyarlanmış içerik hash’i, uyarlayan kişi, lisans ve değişiklik notu birlikte tutulmalıdır. Böylece bir kayıt değiştiğinde hangi katmanın değiştiği görülebilir.

PR #11’de kaynak sürümü commit düzeyinde sabitlendi; 300 kaynak kaydın hash’i doğrulandı ve uyarlanmış her çıktı manifestte ayrı SHA-256 ile bağlandı. Üretici düzeyinde yeniden üretilebilirliği kanıtlanamayan kayıtlar için daha güçlü bir iddia kurulmadı; lineage seviyesi bilinçli biçimde daha ihtiyatlı tutuldu. Bu ayrım önemlidir: provenance, bilinmeyeni saklamak değil bilinmeyenin sınırını işaretlemektir.

Anonimleştirme Saldırı Anlamını Bozmamalı

Güvenlik vakalarında isim, kurum ve gerçekçi kimlik bilgilerini silmek kolaydır; örneğin saldırı mantığını korumak daha zordur. Bir credential extraction vakasındaki hedef değeri anlamsız bir kelimeyle değiştirmek, testin neyi ölçtüğünü bozabilir. Bunun yerine türü belli sentetik yer tutucular kullanılmalıdır: örneğin gerçek e-posta yerine açıkça sentetik bir kurumsal adres, gerçek alan adı yerine IANA tarafından ayrılmış .example alanı.

Anonimleştirme kontrolü hem doğrudan PII ve secret örüntülerini hem de ad benzeri varlıkları kapsamalıdır. Ancak “KVKK” gibi kamuya açık mevzuat adlarını körlemesine silmek veri kalitesini düşürür. Denylist tek başına yetmez; açık allowlist ve insan incelemesi gerekir.

Kaynak Lisansı ile Uyarlama Lisansını Ayırın

Uyarlanmış bir koleksiyon iki ayrı emeği taşır: kaynak içeriğin telifi ve yeni açıklama, eşleme, anonimleştirme ile koleksiyon düzeninin telifi. Bu iki katman birbirinin yerine geçmez. Katkı metni kaynak üreticiyi, kaynak lisansını ve sabit revision’ı korumalı; yeni katkının lisansını ve değişiklik bildirimini ayrıca açıklamalıdır.

“Açık internetteydi” bir lisans değildir. Upstream’e kabul edilebilirlik için yeniden kullanım hakkı, atıf koşulu ve varsa share-alike yükümlülüğü dosya ve koleksiyon düzeyinde görünür olmalıdır.

Pratik Kalite Kapısı

Yayın öncesinde şu kapıların hepsi geçmelidir:

  • Her kayıt şemaya doğrudan doğrulanıyor ve kimlikler benzersiz.
  • Manifestteki dosya yolu, kaynak kimliği ve hash değerleri gerçek dosyayla eşleşiyor.
  • Kategori ve taksonomi değerleri kanonik listeden geliyor.
  • PII, canlı secret, gerçek kurum ve izin verilmeyen ağ hedefleri taranıyor.
  • Normalize edilmiş tam duplicate ve anlamlı near-duplicate analizi çalışıyor.
  • Üretim verisi, model çıktısı veya gözlemlenmemiş başarı oranı gibi iddialar açıkça dışarıda bırakılıyor.

İyi upstream veri katkısı, “çok kayıt” göstermekten önce bakım maliyetini düşürür. Maintainer’ın güvenini kazandıran da tam olarak budur.

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.