
titus v1.2.8
Hochleistungs-Scanner für Geheimnisse. CLI, Go-Bibliothek, Burp Suite-Erweiterung und Chrome-Erweiterung. 487 Erkennungsregeln mit Live-Validierung von Anmeldeinformationen.
Titus: Hochleistungs-Secrets-Scanner
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.
Inhaltsverzeichnis
- Warum Titus?
- Installation
- Schnellstart
- Scan-Optionen
- Bewertung von Funden
- Go-Bibliothek
- Burp-Suite-Erweiterung
- Browser-Erweiterung
- Aus dem Quellcode erstellen
- Mitwirken
- Lizenz
Warum Titus?
- Schnelles Secrets-Scanning: Regex-Matching beschleunigt durch Hyperscan/Vectorscan, sofern verfügbar, mit einem reinen Go-Fallback für Portabilität auf jeder Plattform.
- Breite Abdeckung der Erkennung von Anmeldedaten: 487 Regeln erkennen API-Schlüssel, Tokens und Anmeldedaten für AWS, GCP, Azure, GitHub, Slack, Datenbanken, CI/CD-Systeme und Hunderte weiterer Dienste.
- Live-Validierung von Secrets: Erkannte Secrets werden gegen ihre Quell-APIs geprüft, um zu bestätigen, ob sie aktiv sind, wodurch Fehlalarme reduziert und die Behebung priorisiert werden.
- Risikobasierte Schweregradbewertung: Jeder Fund erhält eine numerische Bewertung (0–100) und eine Schweregradstufe (info → kritisch). Die Bewertungen werden durch statische Regel-Metadaten, den Kontext der Code-Zugänglichkeit und Live-API-Aufrufe abgestimmt, die den tatsächlichen Auswirkungsradius einer Anmeldedate messen — sodass die gefährlichsten Funde immer zuerst auftauchen.
- Scanning von Container-Images: Scannen Sie Docker- und OCI-Images direkt aus einer beliebigen Registry, einem Tarball oder einem OCI-Layout-Verzeichnis — kein Docker-Daemon oder Binary erforderlich.
- Mehrere Schnittstellen für jeden Workflow: Scannen Sie über die CLI, betten Sie es als Go-Bibliothek ein, scannen Sie HTTP-Verkehr in Burp Suite passiv oder scannen Sie Webseiten in Chrome während des Anwendungssicherheitstests.
- Extraktion aus Binärdateien: Extrahieren und scannen Sie Secrets aus Office-Dokumenten, PDFs, Archiven (zip, tar, 7z), mobilen Apps (APK, IPA), Browser-Erweiterungen und mehr.
Installation
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.
Schnellstart
# 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.
Unterbefehle
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.
Scan-Optionen
GitHub- & GitLab-Scanning
Ö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.
Docker / OCI Image Scanning
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