AI kodlama ajanlarının yerel sistemlerdeki hassas verileri işleme riski, artık sadece Git’e ulaşmadan önceki koruma adımlarını değil, yerel dosyalarla etkileşimi de kapsıyor. shk aracı, bu boşluğu doldurarak AI araçlarının çalıştığı karmaşık yerel ortamda gizlilik denetimleri sunuyor. Peki, bu araç nasıl çalışıyor ve hangi boşlukları kapatıyor?
AI Çağında Gizlilik Denetimi: Yerel Sistemler Neden Kritik?
Geleneksel gizlilik tarama yöntemleri genellikle Git’e ulaşan verileri hedef alır. Ancak AI kodlama ajanları, yerel dosyaları okuyabilen, komut çalıştırabilen ve hassas verileri işleyebilen sistemlerdir. Örneğin:
- Bir AI ajan, bağımlılık zincirini takip ederken yerel dosyaları okuyabilir.
- Hata kayıtlarını özetlerken
.envdosyalarındaki içerikleri görüntüleyebilir. - Yeni bir dosya oluştururken daha önceki oturumlardan kopyalanan tokenları saklayabilir.
Bu etkileşimlerin hiçbiri bir commit gerektirmez. shk aracı da tam olarak bu yerel ve karmaşık alanı hedef alıyor: AI araçlarının çalıştığı yerde, henüz Git’e ulaşmadan hassas verilerin korunmasını sağlamak.
shk’nin Sunduğu Yerel Koruma Yöntemleri
shk, yerel sistemlerde hassas verilerin sızmasını engellemek için basit ve etkili bir yaklaşım sunuyor. Araç, Rust diliyle geliştirilmiş ve yerel iş akışlarına entegre edilebilecek şekilde tasarlanmış.
- AI araçlarına veri aktarımı öncesi tarama:
shk maskkomutu, AI araçlarına gönderilmeden önce prompt’ları, log’ları veya kod parçalarını tarayarak hassas verileri gizleyebiliyor.
- AI araçlarının yerel sistemle etkileşimi öncesi denetim: Yönetilen kancalar (hooks) sayesinde AI araçlarının hassas dosyaları okuması, komut çalıştırması veya sistem değişikliği yapması engellenebiliyor.
- Git’e commit öncesi taramalar: Aynı tarama aracı, Git’in yerel kancaları ve GitHub Actions gibi CI/CD sistemlerinde de kullanılabiliyor.
Bu sayede, tek bir politika dosyası ve kurallar seti hem yerel ortamda hem de CI/CD süreçlerinde tutarlı bir şekilde uygulanabiliyor.
shk Kullanımına Hızlı Bir Başlangıç
Aracın kurulumu oldukça basit. En son sürümü kurmak için aşağıdaki komut kullanılabilir:
curl --proto '=https' --tlsv1.2 -LsSf | shWindows kullanıcıları için PowerShell komutu da mevcut:
powershell -c "irm | iex"Kurulum tamamlandıktan sonra ilk adımlar:
- Bir politika dosyası oluşturmak için:
shk init- Mevcut projeyi tarayarak hassas verileri tespit etmek için:
shk scan .Örnek çıktı aşağıdaki gibi olabilir:
3 bulgu
- YÜKSEK: secret.openai_api_key (src/app.ts:12) - Muhtemel OpenAI API anahtarı tespit edildi.
- ORTA: pii.ja.phone (config/dev.ts:5) - Japon telefon numarası tespit edildi.
- ORTA: pii.en.ssn (docs/test.md:8) - ABD Sosyal Güvenlik Numarası tespit edildi.Makine tarafından okunabilir bir rapor elde etmek için JSON formatı kullanılabilir. Hassas verilerin kendileri yerine [REDACTED] olarak gizlendiğine dikkat edin:
shk scan . --jsonÜretim loglarını AI sohbetlerine aktarmadan önce tarama yapmak için:
shk mask < prompt.txtCommit sürecini korumak içinse:
shk scan --staged
shk hooks installAI Araçlarına Özel: Yönetilen Kancalar (Managed Hooks)
shk’nin en önemli özelliği, AI araçlarının çalışma sürecine doğrudan entegre olabilmesi. Örneğin, shk hooks install-ai komutu ile desteklenen AI araçlarının yapılandırma dosyalarına yönetilen kancalar ekleyebiliyorsunuz.
İlk olarak değişiklikleri önizlemek için:
shk hooks install-ai --dry-runDaha sonra denetim modunda çalıştırmak için:
shk hooks install-ai --auditDesteklenen araçlar arasında Claude Code, Cursor ve Codex bulunuyor. Örneğin, Cursor’a özel bir kanca eklemek için:
shk hooks install-ai --tool cursorKancalar, yapılandırma dosyalarında özel olarak tanımlanıyor ("_shk_managed": true gibi etiketlerle).
Yalnızca Metni Değil, Eylemleri de Tarayan Koruma
Geleneksel gizlilik tarayıcıları yalnızca içeriği incelerken, AI kancaları eylemleri de denetliyor. Örneğin:
- Hassas dizinlere yapılan okuma/yazma işlemleri.
.envdosyalarının çıktısını alan komutlar.- Veritabanı değişiklikleri veya yetki yükseltme komutları.
shk, varsayılan olarak recommended profiliyle çalışırken, strict profiliyle daha agresif bir koruma sunabiliyor. Örneğin, bash -c gibi opak komutları engelleyebiliyor. Bu profiller, shk.toml dosyasındaki ayarlarla özelleştirilebiliyor.
Denetimden Sonra Engellemeye Geçiş
Kancalar, kararlarını çıkış kodları (exit codes) üzerinden veriyor. Böylece:
0: Herhangi bir bulgu tespit edilmedi ya da denetim modunda çalışıyor.1: Eşik değerin üzerinde bir bulgu tespit edildi.2: Engelleyici bir kanca tetiklendi ya da Git deposu dışında bir komut çalıştırıldı.
--audit modunda araç her zaman 0 çıkış kodu verir, çünkü hedef işlemin zaten gerçekleşmiş olması nedeniyle raporlama odaklıdır. Bu sayede:
- Öncelikle denetim modunda çalıştırılır:
shk hooks install-ai --audit- Birkaç gün boyunca loglar incelenir.
- Gürültü seviyesi kabul edilebilir düzeye geldikten sonra engelleme moduna geçilir.
Git ve CI Süreçlerinde Tutarlılık
AI araçlarına yönelik koruma yerel sistemde başlasa da, Git ve CI sürecindeki korumalar da önemini koruyor. shk hooks install komutu ile yerel Git kancaları kurulabiliyor. GitHub Actions içinse:
shk ci init githubBu komut, otomatik olarak aşağıdaki özellikleri içeren bir GitHub Actions iş akışı oluşturuyor:
- Minimum yetkiye sahip
GITHUB_TOKEN. - Eşzamanlı çalışan işlemleri iptal eden yapılandırma.
- Yalnızca yüksek önemdeki bulgular için başarısızlık durumu.
AI çağında gizlilik koruması artık yalnızca Git’e ulaşmadan önceki adımlarla sınırlı değil. Yerel sistemlerdeki hassas verilerin korunması, AI kodlama ajanlarının yerel sistemlerle etkileşimini de kapsıyor. shk gibi araçlar, bu boşluğu doldurarak geliştiricilerin AI araçlarını güvenle kullanmalarına olanak tanıyor.
Yapay zeka özeti
AI destekli kodlama araçları yerel dosyaları okurken hassas veriler sızabiliyor. Yerel gizlilik koruması için geliştirilen `shk` aracının nasıl çalıştığını keşfedin.