
Высокопроизводительный сканер секретов. CLI, библиотека Go, расширение для Burp Suite и расширение для Chrome. 487 правил обнаружения с проверкой учетных данных в реальном времени.
Titus — это высокопроизводительный сканер секретов, который обнаруживает учётные данные, API-ключи и токены в исходном коде, файлах и истории git. Он поставляется с 487 правилами обнаружения, охватывающими сотни сервисов и типов учётных данных, взятыми из NoseyParker и Kingfisher. Titus работает как CLI, библиотека Go, расширение для Burp Suite и расширение для браузера Chrome — все они используют один и тот же движок обнаружения и набор правил.
Созданный для инженеров по безопасности, пентестеров и команд DevSecOps, Titus сочетает ускоренное сопоставление регулярных выражений с помощью Hyperscan/Vectorscan с проверкой учётных данных в реальном времени, чтобы находить и подтверждать утечки секретов по всей вашей кодовой базе.
Скачайте готовый бинарный файл со страницы Releases или соберите из исходного кода:
make build
Бинарный файл будет находиться в 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
Результаты записываются в хранилище данных (titus.ds по умолчанию) и выводятся в консоль.
Titus организует свою функциональность в следующие специализированные подкоманды:
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
Каждая подкоманда принимает --help для своих собственных флагов. Формы верхнего уровня titus <provider>, которые существовали до titus enum <provider>, по-прежнему работают, но они скрыты и устарели, а не являются псевдонимами, поэтому они перечислены в сгенерированном справочнике, а не здесь.
Полный справочник — каждая подкоманда, псевдоним и флаг, включая скрытые из --help — генерируется в docs/CLI.md.
Сканируйте публичные репозитории напрямую по URL — API-токен не требуется:
# 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
Для сканирования в масштабах всей организации или пользователя используйте специальные подкоманды:
# 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
Токены необязательны для публичных репозиториев. Установите GITHUB_TOKEN или GITLAB_TOKEN (или используйте --token) для доступа к приватным репозиториям и повышения лимитов API.
Сканируйте образы контейнеров напрямую — без docker-демона и без бинарного файла docker. Titus извлекает образы напрямую из любого OCI-реестра по HTTPS (используя учётные данные из ~/.docker/config.json) или читает образы из локального tarball, созданного docker save, либо из каталога с раскладкой OCI-образа. Затем он сканирует метаданные манифеста/конфигурации образа и каждый обычный файл в каждом слое, включая файлы нижних слоёв, удалённые последующими слоями (поскольку секреты могут оставаться восстановимыми из истории образа).
# 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