
Высокопроизводительный сканер секретов. CLI, библиотека Go, расширение для Burp Suite и расширение для Chrome. 487 правил обнаружения с проверкой учетных данных в реальном времени.
Titus — это высокопроизводительный сканер секретов, который обнаруживает учётные данные, API-ключи и токены в исходном коде, файлах и истории git. Он поставляется с 487 правилами обнаружения, охватывающими сотни сервисов и типов учётных данных, взятыми из NoseyParker и Kingfisher. Titus работает как CLI, библиотека Go, расширение для Burp Suite и расширение для браузера Chrome — все они используют один и тот же движок обнаружения и набор правил.
Созданный для инженеров по безопасности, пентестеров и команд DevSecOps, Titus сочетает ускоренное сопоставление регулярных выражений с помощью Hyperscan/Vectorscan с проверкой учётных данных в реальном времени, чтобы находить и подтверждать утечки секретов по всей вашей кодовой базе.
Скачайте готовый бинарный файл со страницы Releases или соберите из исходного кода:```bash make build
Бинарный файл будет находиться в `dist/titus`.
## Быстрый старт```bash
# 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 по умолчанию) и выводятся в консоль.
Сканируйте публичные репозитории напрямую по URL — API-токен не требуется:```bash
titus scan github.com/kubernetes/kubernetes
titus scan gitlab.com/gitlab-org/cli
titus scan https://github.com/org/repo titus scan https://gitlab.com/namespace/project.git
Для сканирования в масштабах организации или пользователя используйте специальные подкоманды:```bash
# 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 owner/repo --git
Токены необязательны для публичных репозиториев. Установите GITHUB_TOKEN или GITLAB_TOKEN (или используйте --token) для доступа к приватным репозиториям и повышения лимитов API.
Сканируйте образы контейнеров напрямую — без docker-демона и без бинарного файла docker. Titus извлекает образы напрямую из любого OCI-реестра по HTTPS (используя учётные данные из ~/.docker/config.json) или читает образы из локального tarball, созданного командой docker save, либо из каталога с раскладкой OCI-образа. Затем он сканирует метаданные манифеста/конфигурации образа и каждый обычный файл в каждом слое, включая файлы нижних слоёв, удалённые последующими слоями (поскольку секреты могут оставаться восстановимыми из истории образа).```bash
titus scan --docker alpine:latest titus scan docker://ghcr.io/owner/repo:tag
titus scan --docker ./my-app.tar
titus scan --docker ./img/
Аутентификация использует вашу существующую конфигурацию Docker / Podman (`~/.docker/config.json`, `${XDG_RUNTIME_DIR}/containers/auth.json`). Приватные реестры, требующие нового входа, должны быть предварительно аутентифицированы с помощью `docker login` (или `podman login`, или `crane auth login`) — titus не запрашивает учётные данные.
### Просмотр результатов сканирования
Используйте `report`, чтобы повторно прочитать результаты предыдущего сканирования:```bash
# Human-readable summary of detected secrets
titus report
# JSON output for programmatic processing
titus report --format json
# SARIF output for CI/CD integration with GitHub Advanced Security
titus report --format sarif
# Report from a specific datastore
titus report --datastore path/to/titus.ds
Вы также можете управлять форматом вывода во время сканирования с помощью --format:```bash
titus scan path/to/code --format json
### Проверка обнаруженных секретов