PassDetective: Shell Geçmişinizdeki Parolaları ve Secret'ları Tespit Etmek
Shell geçmişinde yanlışlıkla yazılan parolalar, API key’ler veya secret’lar kalabiliyor; bunlar history dosyanda duruyor ve risk oluşturuyor. PassDetective, shell history’ni tarayıp bu tür hassas bilgileri tespit eden bir CLI aracı. Kali Linux ve NixOS’ta kullanılabiliyor; regex ile 40’tan fazla secret tipini tanıyabiliyor.
PassDetective nedir?
PassDetective Go ile yazılmış bir güvenlik aracı. ZSH ve Bash history dosyalarını tarayıp yanlışlıkla yazılmış parolaları, API key’leri ve diğer hassas bilgileri buluyor. 40’tan fazla secret tipi için regex pattern’leri kullanıyor.
Araç Kali Linux’un resmi deposunda ve NixOS paketinde mevcut; GitHub’da da kullanılıyor.
Neden PassDetective?
Günlük kullanımda bazen parola veya API key’i doğrudan komut satırına yazmak zorunda kalıyoruz (ör. curl -u user:pass ...). Bu komutlar .zsh_history veya .bash_history’e yazılıyor. Dosya bir backup’ta veya paylaşılan sistemde erişilebilir olursa hassas bilgiler sızabilir.
PassDetective history’ni tarayıp bu tür girdileri buluyor; böylece nerede risk olduğunu görüp önlem alabiliyorsun.
Kurulum
Kali Linux
PassDetective, Kali Linux’un resmi paket deposunda mevcut. Kurulum için:
sudo apt install passdetective
NixOS
NixOS’ta PassDetective’i kurmak için:
nix-env -iA nixpkgs.passdetective
Veya configuration.nix dosyanızda:
environment.systemPackages = with pkgs; [
passdetective
];
Go ile Kurulum
Kaynak koddan kurulum yapmak isterseniz:
go install github.com/aydinnyunus/PassDetective@latest
Kullanım
Temel kullanım: extract komutu ile history taranıyor.
Yardım
Tüm seçenekler için:
PassDetective -h

Shell history taraması
ZSH history’nizi taramak için:
PassDetective extract --zsh
Bash history’nizi taramak için:
PassDetective extract --bash
Her iki shell history’yi de taramak için:
PassDetective extract --all

Secret tespiti
PassDetective sadece parolaları değil API key’leri ve diğer secret’ları da tespit edebiliyor:
PassDetective extract --secrets --zsh
veya --bash. secret-regex-list projesindeki pattern’leri kullanıyor.
Tespit edilen secret tipleri
PassDetective şu tür secret’ları tespit edebiliyor (örnekler):
- Cloudinary URL’leri:
cloudinary://ile başlayan URL’ler - Firebase URL’leri:
firebaseio.comiçeren URL’ler - Slack Token’ları:
xox[p|b|o|a]-formatındaki token’lar - RSA Private Key’ler:
-----BEGIN RSA PRIVATE KEY-----ile başlayan key’ler - SSH Private Key’ler: DSA, EC ve PGP private key’ler
- AWS Access Key ID’leri:
AKIA[0-9A-Z]{16}formatındaki key’ler - Google API Key’leri:
AIza[0-9A-Za-z\\-_]{35}formatındaki key’ler - GitHub Token’ları: GitHub API token’ları
- Stripe API Key’leri:
sk_live_ile başlayan key’ler - Twilio API Key’leri:
SK[0-9a-fA-F]{32}formatındaki key’ler - URL’de parola:
https://user:password@example.comformatı
Ve daha fazlası. Pattern’ler secret-regex-list projesinden.
Pratik kullanım
Düzenli güvenlik kontrolü
History’yi düzenli taramak iyi bir alışkanlık. Örneğin aylık:
PassDetective extract --all --secrets
Yeni projeye başlamadan önce
Mevcut history’de hassas bilgi var mı diye bakmak için:
PassDetective extract --zsh --secrets
Sistem temizliği
Sistemden çıkmadan veya backup almadan önce history’de ne olduğunu görmek için PassDetective kullanabilirsin. Araç sadece tespit ediyor; silme işlemini sen yapmalısın.
Güvenlik önerileri
- Temizlik: PassDetective sadece tespit ediyor; bulduklarını sen manuel temizliyorsun.
- Düzenli tarama: Özellikle production ortamında history’yi düzenli tara.
- Backup öncesi: Backup almadan önce history’yi kontrol et.
- Alias: Araç config’teki alias’ları da tarıyor; alias’ta saklanan secret’lar da bulunabiliyor.
Özet
PassDetective shell history’deki parola ve secret’ları tespit etmek için kullanışlı. Kali ve NixOS’ta kurulumu kolay; düzenli kullanıldığında yanlışlıkla history’ye girmiş hassas bilgileri bulmana yardımcı oluyor.
Kaynak kod ve güncellemeler: GitHub - PassDetective.
İlgili içerik: