2 puan yazan zcxv8048 17 일 전 | Henüz yorum yok. | WhatsApp'ta paylaş

Merhaba.
Projeyi bir AI Agent'a her teslim ettiğimde önemli verileri tek tek manuel olarak silmek çok zahmetli olduğu için, tek komutla bilgileri gizleyen bir otomasyon aracını bizzat geliştirdim.
Mevcut bir projeyi AI agent'a vermeden önce, kaynak kod içindeki hardcode edilmiş API anahtarları, kimlik bilgileri, sertifikalar vb. verilerin dışarı sızmasını önceden engeller.

  • Regex ile bulunan şüpheli dizelerin gerçekten kodun içindeki "string literal" içinde olup olmadığını sözdizimi analiziyle ikinci kez doğrular.

  • Basit maskeleme değil, otomatik kod dönüştürme (Auto-fix)
    Hardcode edilmiş sırları .env dosyasına çıkarır ve kaynak kodu da her dile uygun şekilde process.env.API_KEY, System.getenv(), @Value gibi yapılara otomatik olarak dönüştürür.

  • Platforma özel dosya işleme:
    Sadece kaynak kod değil, iOS'un Info.plist, Android'in build.gradle, Flutter'ın pubspec.yaml, Spring'in application.yml gibi derleme/yapılandırma dosyalarındaki sırları da her biri için ayrı parser'larla hassas şekilde ayıracak biçimde tasarlandı.

Başlıca işlevler şunlar:

Hardcode edilmiş anahtar, URL vb. sırları .env'ye ayırıp kodu otomatik dönüştürme

blinder blind   
  
- String apiKey = "sk_live_abc123..."      # Before  
+ String apiKey = BuildConfig.STRIPE_KEY   # After (빌드 가능)  
  

AI Agent için salt okunur proje oluşturma

blinder mask  
  
- apiKey: "AIzaSy9xK2mP3rT..."       # Before  
+ apiKey: "__BLINDER_VAR__FIREBASE_API_KEY"  # After (빌드 불가)  

bulunuyor.

Node.js ortamında global olarak kurup hemen kullanabilirsiniz.

Bash
npm install -g github:YellowC-137/Blinder

Şu anda iOS, Android, Flutter, Node.js, React, Spring Boot ve Ruby ortamlarını destekliyor; platform eklemeye de sürekli devam ediyorum.

Erken aşamadaki bir açık kaynak proje olduğu için eksikleri olabilir.
Bolca geri bildirim verirseniz sevinirim, teşekkürler!

GitHub Repo: https://github.com/YellowC-137/Blinder

Henüz yorum yok.

Henüz yorum yok.