Secret Gate
Gerçek gizli anahtarlarınızı bilen bir yayın kapısı: hiçbir şey bulana kadar hiçbir şey yayınlanmaz.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Ne yapar
Secret Gate, bir sürüm zip dosyası, bir müşteri kopyası, açık kaynak gönderimi veya bir sonraki commit olsun, elinizden çıkmadan önce tek bir soruyu yanıtlar: Bu dosyada benim bir sırrım var mı? Sırlarınızın ne olduğunu bilir, çünkü onların yaşadığı dosyaları okur ve hiçbirini göstermez: Bir bulgu, dosyayı, satırı ve değerin nereden geldiğini belirtir.
- Tam değerleriniz. Env dosyalarınızda, JSON ve YAML yapılandırmalarında,
.netrcve anahtar dosyalarındaki her değer; olduğu gibi, base64 ile kodlanmış ve URL ile kodlanmış halleriyle aranır. Sıradan bir kelimeye benzeyen bir parola veya bilinen bir ön eki olmayan dahili bir token, diğerleri gibi yakalanır. - Üzerinde çalışmadığı makinelerden gelen sırlar. Dizüstü bilgisayarınızda parmak izleri oluşturun; derleme sunucusu bu değerleri, onları hiç elinde tutmadan bulur.
- Diğer makineler kendi sırlarına karşı kontrol eder. Dosyalar SSH üzerinden her makineye gider, orada taranır ve silinir. Sırlar asla taşınmaz ve yanıt veremeyen bir makine sürümü engeller.
- Şekiller, adlar ve gürültü de dahil. 25 token formatı, adlarınız, ana bilgisayarlar, alan adları ve hesap kimlikleri, özel IP adresleri, kişisel e-posta adresleri, telefon numaraları, IBAN'lar, ana klasör yolları ve sır benzeri adların yanındaki rastgele dizeler.
- Her seferinde kendini kanıtlar. Her tarama, her türden kanarya yerleştirerek başlar; herhangi bir kontrol kendi kanaryasını kaçırırsa tarama çalışmaz.
- Zaten çalıştığınız yerde. Klasörler, zip ve tar arşivleri, bir git pre-commit veya pre-push kancası, CI için çıkış kodları, bir JSON raporu.
Gönderdiklerimiz üzerinde test edildi
- Sattığımız her Paket: Yayınlanan 8 arşiv, derleme makinemizdeki 133 sır değeri ve dizüstü bilgisayarımızdan 16.259 parmak izine karşı tarandı. Hepsi, toplamda 5,4 saniyede geçti.
- Bir sürüm kopyasına yerleştirilen gerçek bir sır, düz ve base64 ile kodlanmış olarak yakalandı; her seferinde geldiği dosya ile adlandırıldı. Değer, çıktı veya raporda hiçbir yerde görünmedi.
- SSH üzerinden bir uzaktan tarama, bir sürümü ikinci bir makinenin 499 sır değerine karşı 1,4 saniyede kontrol etti ve yalnızca o makinede bulunan bir kopyaya yerleştirilen bir token'ı yakaladı.
İçinde neler var
Kapı
Dört kontrol, öz test, arşiv ve git'e eklenen dosyaların taranması, okunabilir bir rapor ve bir JSON raporu.
Parmak izleri
Bir makinenin sırlarının parmak izleri; değerler olmadan başka bir makinede tarama yapmak için.
Uzaktan taramalar
Gizli anahtarları barındıran her makinede aynı dosyaların kontrolü, projenizin kurallarıyla birlikte gönderilir.
Kurulum ve CI
Gizli dosyalarınız için bir bulucu, git kancaları ve sürüm arşivleri için bir GitHub Actions iş akışı.
Gereksinimler
- Linux veya macOS üzerinde Python 3.9 veya daha yeni sürüm; pip ile kurulacak bir şey yok.
- Kancalar için Git, uzaktan taramalar için SSH.
Bilmenizde fayda var
- Dosyaları o anki halleriyle okur. Git geçmişinizde zaten bulunan bir gizli anahtar orada kalır: onu değiştirin.
- Taranan klasör içindeki arşivler açılmaz; her arşivi ayrı ayrı tarayın.
- Parmak izi dosyalarını gizli anahtarlar kadar gizli tutun: 16 karakter veya daha uzun her değerin ilk 4 karakterini içerirler.
Sıkça Sorulan Sorular
Bu gitleaks veya TruffleHog'dan nasıl farklı?
Onlar gizli anahtarların genellikle nasıl göründüğüne bakar ve bunu iyi yaparlar. Secret Gate ayrıca gizli anahtarlarınızın gerçekte ne olduğunu da bilir: kendi gizli dosyalarınızı okur ve tam olarak bu değerleri arar, böylece tanınabilir bir şekli olmayan bir veritabanı şifresi veya dahili token de yakalanır. Bir şey gönderilmeden hemen önceki an için tasarlanmıştır ve başarısız olduğunda kapalı kalır (fail closed).
Gizli anahtarlarımı bir yere gönderir mi?
Hayır. Değerler tarama için dosyalarınızdan belleğe okunur ve asla yazdırılmaz, kaydedilmez veya gönderilmez; oluşturursanız bir parmak izi dosyası, bir hash ve her değerin ilk 4 karakterini içerir. Uzaktan taramalar, göndermek üzere olduğunuz dosyaları kendi makinenize gönderir; o makinedeki gizli anahtarlar orada kalır.
Yanlış alarmlar ne olacak?
Bir bulgu "buna bak" demektir. Sorun yoksa, proje yapılandırmasında o tür bulgular için dar kapsamlı bir izin kuralı ekleyin, örneğin kendi destek adresiniz. Bir kontrolü tamamen kapatan bir anahtar yoktur.
Git geçmişimi tarayabilir mi?
Hayır. Göndermek üzere olduğunuz şeyi kontrol eder: bir klasör, bir arşiv veya sonraki commit. Zaten geçmişte bulunan bir gizli anahtar için, anahtarı değiştirin.
Güncellendi: