Geliştirme Ortamında PII Problemi
Yazılım geliştirme ekipleri, sistem ihlalleri yoluyla değil, yazılım geliştirme süreçlerinin günlük işleyişi aracılığıyla en sık istemeden PII sızdıran gruplar arasındadır.
Sorun: Üretim sistemlerinden kişisel veriler, rutin olarak geliştirme ortamlarına ve oradan da AI kodlama asistanlarına geçmektedir.
GitHub'ın 2025 güvenlik araştırması, 2024'te kamuya açık depolarda 39 milyon sırrın — API anahtarları, kimlik bilgileri ve hassas veriler — sızdırıldığını buldu. Önemli bir kısmı, üretim verilerini test düzeneklerine, örnek veri dosyalarına veya hata ayıklama günlüklerine kopyalayan geliştiricilerden geldi ve bu veriler sürüm kontrolüne kaydedildi.
AI kodlama asistanları bu riski artırır. Bir geliştirici, gerçek müşteri e-posta adreslerini içeren birim testi dosyasını GitHub Copilot, Cursor veya Claude ile kod inceleme yardımı için paylaştığında, AI sağlayıcısının sunucuları bu e-posta adreslerini alır. Test düzeneklerine kopyalanan e-posta adresinin sahibi, e-posta adresinin artık bir AI şirketinin eğitim sürecinde olduğunu bilmemektedir.
Üretim PII'nin Geliştirme Ortamlarına Girişi
Yollar öngörülebilir:
Test düzenek verileri: Birim ve entegrasyon testleri, gerçekçi test verileri gerektirir. Gerçekçi verileri elde etmenin en hızlı yolu, üretimden birkaç kaydı kopyalamaktır. Geliştirici, "sonradan" sentetik verilerle değiştirmeyi amaçlar. Ancak sonradan nadiren gelir. Üretim e-posta adresleri, isimler ve hesap kimlikleri, birçok taahhüt aracılığıyla test düzeneklerinde kalır.
Günlük tabanlı hata ayıklama: Üretimden gelen bir hata raporu yeniden üretilemez. Geliştirici, yerel olarak yeniden üretmek için üretim sisteminden bir günlük kesiti talep eder. Günlük kesiti, müşteri e-posta adreslerini, IP adreslerini ve oturum tanımlayıcılarını içerir. Günlük dosyası proje kökünde yer alır ve sonraki git taahhütlerine dahil edilir.
Veritabanı göç scriptleri: Şema göçleri, üretim dışı ortamlar için örnek veriler içerir. DBA, örnek olarak üretimden birkaç satır kopyalar. Gerçek müşteri verileri içeren göç scripti, kod tabanına kaydedilir.
Dokümantasyon ve README: Kod dokümantasyonu, "gerçekçi" verilerle kullanım örnekleri içerir. "Gerçekçi" demek, gerçek müşteri etkileşimlerinden kopyalanmış demektir. README, gerçek müşteri sipariş kimliklerini, belirli hesaplarla bağlantılı ürün kodlarını ve zaman zaman e-posta adreslerini içerir.
Yapılandırma dosyaları: Geliştirme ortamları için uygulama yapılandırması, müşteri verilerine erişim sağlayan sahne/üretim veritabanı kimlik bilgilerini veya API anahtarlarını içerir. Bu yapılandırma dosyaları, geliştirici erişimine açık sırlarla birlikte sürüm kontrolüne kaydedilir.
AI Kodlama Asistanlarının Gördükleri
Bir geliştirici, kod tabanlarından gelen bağlamla bir AI kodlama asistanı kullandığında:
Dosya düzeyinde bağlam: Asistan, gerçek müşteri verileri içeren test düzenek dosyaları, projeye ekli günlük kesitleri veya üretim kimlik bilgileri içeren yapılandırma dosyaları gibi tüm dosyaları alabilir.
Panoya yapıştırma: Geliştiriciler, inceleme veya hata ayıklama yardımı istemek için AI sohbet arayüzlerine kod parçacıkları yapıştırır. Parçacık, müşteri verileriyle çevresel bağlamı içerebilir.
IDE entegrasyonu: Cursor ve GitHub Copilot, IDE'ye entegre olur ve bağlam için yerel dosyaları indeksleyebilir. Üretim verileri içeren proje dizinindeki dosyalar, indeksleme bağlamının bir parçası haline gelir.
Hata mesajları: Üretim hatalarını hata ayıklarken, geliştiriciler hata mesajlarını ve yığın izlerini AI asistanlarına yapıştırır. Yığın izleri, hata bağlamından müşteri özel tanımlayıcılarını içerebilir.
Bu yolların her biri, kişisel verileri AI sağlayıcısının API'sine ileterek GDPR ve HIPAA uyumluluğu ile ilgili sonuçlar doğurur.
Geliştirme Ekipleri için GDPR ve HIPAA Sonuçları
GDPR Madde 28 (Veri İşleyici): Kişisel veriler bir AI kodlama asistanı sağlayıcısına iletildiğinde, o sağlayıcı GDPR uyarınca bir veri işleyici haline gelir. Bir Veri İşleme Anlaşması gereklidir. Çoğu AI kodlama asistanı sağlayıcısının DPAs'ı mevcuttur — ancak organizasyonun resmi tedarik süreci dışında AI araçlarını kullanan geliştiriciler DPA'yı kurmamış olabilir.
GDPR Madde 6 (Yasal Dayanak): Yazılım geliştirme testleri için kişisel verilerin işlenmesi, yasal bir dayanak gerektirir. "Meşru menfaat" geçerli olabilir, ancak bu bir dengeleme testi gerektirir. Sentetik verilerin aynı amaca hizmet edeceği durumlarda gerçek müşteri verilerini kullanmak, dengeleme testini geçmez (daha az gizlilik ihlali yaratan bir alternatif vardır).
HIPAA (İş Ortaklığı Anlaşması): PHI'yi işleyen kodu gözden geçirmek için AI kodlama asistanlarını kullanan sağlık geliştiricileri, AI sağlayıcısıyla bir İş Ortaklığı Anlaşmasına sahip olmalıdır. OpenAI, Anthropic ve GitHub Copilot, kurumsal müşteriler için BAAs sunar, ancak kurumsal anlaşma dışında bireysel geliştirici kullanımı kapsanmayabilir.
Veri minimizasyonu: Test düzeneklerinde gerçek müşteri verileri kullanmak, minimizasyon ilkesini ihlal eder — sentetik veriler, gizlilik maliyeti olmadan test amacına hizmet eder.
Geliştirme Ekipleri için Pratik Önlemler
Acil eylemler:
- Gerçek veriler için mevcut test düzeneklerini denetleyin — e-posta kalıplarını, SSN kalıplarını, telefon numarası kalıplarını arayın
- Proje dizinlerindeki üretim günlük dosyalarını denetleyin — müşteri tanımlayıcılarını içeren dosyaları belirleyin
- .gitignore'u günlük dosyalarını ve ortam spesifik veri dosyalarını hariç tutacak şekilde yapılandırın
- Test düzeneklerindeki üretim verilerini sentetik veri üreticileri (Faker, Mimesis) ile değiştirin
AI-asistan öncesi iş akışı:
- AI asistanıyla herhangi bir kod dosyası paylaşmadan önce: dosyada PII tespiti yapın
- IDE entegre AI için (Cursor): asistanı indekslemeden test veri dizinlerini hariç tutacak şekilde yapılandırın
- Sohbet tabanlı AI için: kodu göndermeden önce PII için yapıştırılan kodu gözden geçirin
Geliştirici iş akışları için MCP Sunucu entegrasyonu: Anonym.legal MCP Sunucu entegrasyonu, PII tespitini doğrudan Claude Desktop ve Cursor'a bağlar. Geliştiriciler, AI asistanıyla paylaşmadan önce dosyayı MCP Sunucusu üzerinden işleyebilir:
- Dosyayı editörde açın
- MCP Sunucu çağrısı: dosya içeriğinde PII'yi tespit edin
- Tespit edilen varlıkları gözden geçirin
- Varlıkları yerinde anonimleştirin
- Anonimleştirilmiş versiyonu AI asistanıyla paylaşın
Bu iş akışı, dosya başına 30 saniyeden az ekler ve manuel "PII kontrolü" zihinsel yükünü ortadan kaldırır.
Sentetik veri üretimi: Test düzenekleri için sürdürülebilir çözüm: asla gerçek veri kullanmayın. Sentetik veri üretim kütüphaneleri, gerçek bireyler olmadan gerçekçi görünümlü veriler üretir. Faker (Python/Node.js), Factory Boy (Python) ve Bogus (.NET) gibi kütüphaneler, herhangi bir şema için bağlama uygun test verileri üretir.
Kullanım Durumu: SaaS Mühendislik Ekibi Üretim PII Keşfi
Cursor (AI IDE) kullanan bir SaaS mühendislik ekibi, bir GDPR denetimi sırasında birim test düzeneklerinde üretim müşteri e-posta adreslerini keşfetti. Test düzenekleri, bir geliştiricinin gerçekçi entegrasyon testleri yazmak için üretimden 50 müşteri kaydını kopyaladığı 18 ay önce oluşturulmuştu. Kayıtlar sürüm kontrolüne kaydedilmiş ve Cursor tarafından indekslenmişti.
18 ay içinde, test düzenek dosyaları Cursor tarafından yaklaşık 11.000 kez 8 geliştiricinin IDE oturumları boyunca görüntülenmişti — her oturum, düzenek içeriğini Cursor API'sine iletme potansiyeline sahipti.
Düzeltme:
- Tüm 50 gerçek müşteri kaydını Faker tarafından üretilen sentetik verilerle değiştirdik
- Günlük dosyalarını sürüm kontrolünden hariç tutacak şekilde .gitignore'u yapılandırdık
- Kod parçacıklarını paylaşmadan önce talep üzerine PII tespiti için Cursor'da MCP Sunucu entegrasyonunu uyguladık
- Mühendislik ekibi normunu belirledik: sürüm kontrolüne kaydedilen hiçbir dosyada üretim verisi yok
MCP Sunucu entegrasyonu, ana iş akışı değişikliği oldu: geliştiriciler artık müşteriyle ilgili kod içeren dosyalar için Cursor oturumlarından önce PII tespiti yapıyor. MCP Sunucu çağrısı dışında sıfır manuel çaba.