
Hochleistungs-Scanner für Geheimnisse. CLI, Go-Bibliothek, Burp Suite-Erweiterung und Chrome-Erweiterung. 487 Erkennungsregeln mit Live-Validierung von Anmeldeinformationen.
Titus ist ein Hochleistungs-Secrets-Scanner, der Anmeldedaten, API-Schlüssel und Tokens in Quellcode, Dateien und der Git-Historie erkennt. Er wird mit 487 Erkennungsregeln ausgeliefert, die Hunderte von Diensten und Anmeldedatentypen abdecken und aus NoseyParker und Kingfisher stammen. Titus läuft als CLI, Go-Bibliothek, Burp-Suite-Erweiterung und Chrome-Browser-Erweiterung — alle teilen dieselbe Erkennungs-Engine und denselben Regelsatz.
Titus wurde für Sicherheitsingenieure, Penetrationstester und DevSecOps-Teams entwickelt und kombiniert Hyperscan/Vectorscan-beschleunigtes Regex-Matching mit Live-Validierung von Anmeldedaten, um geleakte Secrets in Ihrer gesamten Codebasis zu finden und zu verifizieren.
Laden Sie ein vorgefertigtes Binary von der Seite Releases herunter oder erstellen Sie es aus dem Quellcode:
make build
Die Binärdatei befindet sich unter dist/titus.
# Scan a file for secrets
titus scan path/to/file.txt
# Scan a directory for leaked credentials
titus scan path/to/directory
# Scan a public GitHub repository (no token needed)
titus scan github.com/org/repo
# Scan a public GitLab project (no token needed)
titus scan gitlab.com/namespace/project
# Scan git history for secrets in past commits
titus scan --git path/to/repo
# Scan a Docker / OCI image (pulled from a registry — no docker daemon required)
titus scan --docker alpine:latest
# Validate detected secrets against source APIs
titus scan path/to/code --validate
Die Ergebnisse werden in einen Datenspeicher (titus.ds standardmäßig) geschrieben und auf der Konsole ausgegeben.
Titus organisiert seine Funktionalität in diese fokussierten Unterbefehle:
titus analyze # Analyze a credential on demand — detect type, validate, score, and enumerate resources
titus enum # Enumerate remote services for secrets
titus explore # Interactively explore scan results
titus report # Generate a report from scan results
titus rules # Manage detection rules
titus scan # Scan a target for secrets
titus serve # Run as streaming server for Burp extension integration
titus version # Show version information
Jedes Unterkommando akzeptiert --help für seine eigenen Flags. Die Top-Level-Formen titus <provider>, die älter sind als titus enum <provider>, funktionieren weiterhin, sind aber versteckt und veraltet statt Aliase, weshalb sie in der generierten Referenz statt hier aufgeführt werden.
Die vollständige Referenz — jedes Unterkommando, jeder Alias und jedes Flag, einschließlich der vor --help verborgenen — wird in docs/CLI.md generiert.
Öffentliche Repositories direkt per URL scannen — kein API-Token erforderlich:
# Scan a GitHub repository
titus scan github.com/kubernetes/kubernetes
# Scan a GitLab project
titus scan gitlab.com/gitlab-org/cli
# Full URLs work too
titus scan https://github.com/org/repo
titus scan https://gitlab.com/namespace/project.git
Für organisationsweite oder benutzerweite Scans verwenden Sie die dedizierten Unterbefehle:
# Scan all public repos in a GitHub org
titus github --org kubernetes
# Scan all repos in a GitHub org with a token (private repos + higher rate limits)
titus github --org kubernetes --token $GITHUB_TOKEN
# Scan all repos for a GitHub user
titus github --user octocat
# Scan all projects in a GitLab group
titus gitlab scan --group mygroup --token $GITLAB_TOKEN
# Scan a single repo with git history (finds deleted secrets)
titus github scan owner/repo --git
Tokens sind für öffentliche Repositories optional. Setze GITHUB_TOKEN oder GITLAB_TOKEN (oder verwende --token) für den Zugriff auf private Repositories und höhere API-Ratenlimits.
Scanne Container-Images direkt — kein Docker-Daemon, keine docker-Binärdatei erforderlich. Titus zieht Images direkt aus jeder OCI-Registry über HTTPS (unter Verwendung von Anmeldeinformationen aus ~/.docker/config.json) oder liest Images aus einem lokalen docker save-Tarball oder einem OCI-Image-Layout-Verzeichnis. Anschließend scannt es die Metadaten des Image-Manifests/der Konfiguration und jede reguläre Datei in jeder Schicht, einschließlich Dateien aus unteren Schichten, die von späteren Schichten gelöscht wurden (da Geheimnisse aus der Image-Historie wiederherstellbar bleiben können).
# Pull from a registry and scan
titus scan --docker alpine:latest
titus scan docker://ghcr.io/owner/repo:tag
# Scan an image saved to a tarball:
# docker save my-app:latest -o my-app.tar
# podman save my-app:latest -o my-app.tar
titus scan --docker ./my-app.tar