
titus v1.2.8
Высокопроизводительный сканер секретов. CLI, библиотека Go, расширение для Burp Suite и расширение для Chrome. 487 правил обнаружения с проверкой учетных данных в реальном времени.
Titus: высокопроизводительный сканер секретов
Titus — это высокопроизводительный сканер секретов, который обнаруживает учётные данные, API-ключи и токены в исходном коде, файлах и истории git. Он поставляется с 487 правилами обнаружения, охватывающими сотни сервисов и типов учётных данных, взятыми из NoseyParker и Kingfisher. Titus работает как CLI, библиотека Go, расширение для Burp Suite и расширение для браузера Chrome — все они используют один и тот же движок обнаружения и набор правил.
Созданный для инженеров по безопасности, пентестеров и команд DevSecOps, Titus сочетает ускоренное сопоставление регулярных выражений с помощью Hyperscan/Vectorscan с проверкой учётных данных в реальном времени, чтобы находить и подтверждать утечки секретов по всей вашей кодовой базе.
Содержание
- Почему Titus?
- Установка
- Быстрый старт
- Параметры сканирования
- Оценка находок
- Библиотека Go
- Расширение для Burp Suite
- Расширение для браузера
- Сборка из исходного кода
- Участие в разработке
- Лицензия
Почему Titus?
- Быстрое сканирование секретов: сопоставление регулярных выражений ускоряется с помощью Hyperscan/Vectorscan, когда они доступны, с резервной реализацией на чистом Go для переносимости на любую платформу.
- Широкий охват обнаружения учётных данных: 487 правил обнаруживают API-ключи, токены и учётные данные для AWS, GCP, Azure, GitHub, Slack, баз данных, систем CI/CD и сотен других сервисов.
- Проверка секретов в реальном времени: обнаруженные секреты проверяются через их исходные API, чтобы подтвердить, активны ли они, что снижает количество ложных срабатываний и помогает расставить приоритеты при устранении.
- Оценка серьёзности на основе риска: каждая находка получает числовую оценку (0–100) и уровень серьёзности (info → critical). Оценки настраиваются на основе статических метаданных правил, контекста доступности кода и вызовов API в реальном времени, измеряющих реальный масштаб угрозы от учётных данных, — так что самые опасные находки всегда всплывают первыми.
- Сканирование образов контейнеров: сканируйте образы Docker и OCI напрямую из любого реестра, tarball или каталога с раскладкой OCI — без необходимости в демоне или бинарном файле Docker.
- Несколько интерфейсов для любого рабочего процесса: сканируйте из CLI, встраивайте как библиотеку Go, пассивно сканируйте HTTP-трафик в Burp Suite или сканируйте веб-страницы в Chrome во время тестирования безопасности приложений.
- Извлечение из бинарных файлов: извлекайте и сканируйте секреты из документов Office, PDF-файлов, архивов (zip, tar, 7z), мобильных приложений (APK, IPA), расширений для браузера и многого другого.
Установка
Скачайте готовый бинарный файл со страницы 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 по умолчанию) и выводятся в консоль.
Параметры сканирования
Сканирование GitHub и GitLab
Сканируйте публичные репозитории напрямую по URL — API-токен не требуется:```bash
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
Для сканирования в масштабах организации или пользователя используйте специальные подкоманды:```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 / OCI
Сканируйте образы контейнеров напрямую — без docker-демона и без бинарного файла docker. Titus извлекает образы напрямую из любого OCI-реестра по HTTPS (используя учётные данные из ~/.docker/config.json) или читает образы из локального tarball, созданного командой docker save, либо из каталога с раскладкой OCI-образа. Затем он сканирует метаданные манифеста/конфигурации образа и каждый обычный файл в каждом слое, включая файлы нижних слоёв, удалённые последующими слоями (поскольку секреты могут оставаться восстановимыми из истории образа).```bash
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
Scan an OCI image layout directory:
docker buildx build --output type=oci,dest=./img/ .
skopeo copy docker://my-app:latest oci:./img:latest
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
### Проверка обнаруженных секретов