
고성능 비밀 정보 스캐너. CLI, Go 라이브러리, Burp Suite 확장 기능 및 Chrome 확장 프로그램. 실시간 자격 증명 검증이 포함된 487개의 탐지 규칙.
Titus는 소스 코드, 파일, git 이력에서 자격 증명, API 키, 토큰을 탐지하는 고성능 시크릿 스캐너입니다. 수백 개의 서비스와 자격 증명 유형을 포괄하는 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 enum <provider> 이전에 존재했던 최상위 titus <provider> 형식은 여전히 작동하지만, 별칭이 아니라 숨겨진 deprecated 형식이므로 여기 대신 생성된 레퍼런스에 나열됩니다.
전체 레퍼런스 — --help에서 숨겨진 항목을 포함한 모든 하위 명령, 별칭 및 플래그 — 는 docs/CLI.md에 생성됩니다.
API 토큰 없이 URL로 공개 저장소를 직접 스캔할 수 있습니다:
# 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
토큰은 공개 저장소의 경우 선택 사항입니다. 비공개 저장소 접근 및 더 높은 API 속도 제한을 위해 GITHUB_TOKEN 또는 GITLAB_TOKEN을 설정하세요 (또는 --token 사용).
컨테이너 이미지를 직접 스캔하세요 — docker 데몬도, docker 바이너리도 필요하지 않습니다. Titus는 HTTPS를 통해 모든 OCI 레지스트리에서 이미지를 바로 가져오거나 (~/.docker/config.json의 자격 증명 사용), 로컬 docker save tarball 또는 OCI 이미지 레이아웃 디렉터리에서 이미지를 읽습니다. 그런 다음 이미지 manifest/config 메타데이터와 모든 레이어의 모든 일반 파일을 스캔하며, 이후 레이어에서 삭제된 하위 레이어 파일도 포함합니다 (이미지 기록에서 시크릿이 복구 가능한 상태로 남을 수 있기 때문입니다).
# 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를 사용하여 이전 스캔의 발견 사항을 다시 읽습니다:
# 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을 사용하여 스캔 시 출력 형식을 제어할 수도 있습니다:
titus scan path/to/code --format json
스캔 중 --validate를 전달하여 탐지된 시크릿을 해당 소스 API에 대해 확인합니다:
titus scan path/to/code --validate
검증은 동시에 실행되며(기본적으로 4개의 워커, --validate-workers로 구성 가능) 각 발견 사항을 확인됨, 부인됨 또는 알 수 없음으로 표시합니다.
# List all available detection rules
titus rules list
# Scan with only specific rules (e.g., AWS and GCP credentials)
titus scan path/to/code --rules-include "aws,gcp"
# Exclude rules by pattern
titus scan path/to/code --rules-exclude "kingfisher.generic"
# Use a custom rules file for organization-specific secrets
titus scan path/to/code --rules path/to/custom-rules.yaml
# Opt in to rules marked noisy: true (high false-positive rate, off by default)
titus scan path/to/code --include-noisy
visible: false로 표시된 규칙은 클라이언트 ID, 계정 이름 또는 호스트와 같이 다른 규칙을 위한 컨텍스트를 캡처하는 헬퍼로, 비밀 정보가 아닙니다. 해당 패턴은 여전히 실행되지만, 규칙이 명시적으로 선택된 경우에도 CLI나 Go 라이브러리에서 일치 항목이 보고되지 않습니다.
Titus는 바이너리 파일 형식에서 텍스트를 추출하고 내용에서 비밀 정보를 스캔할 수 있습니다:
# Extract and scan all supported binary formats
titus scan path/to/files --extract=all
# Target specific formats
titus scan path/to/files --extract=xlsx,docx,pdf,zip