Сканер для поиска утёкших секретов, токенов и учётных данных в git-репозиториях, S3-бакетах, файловых системах и других источниках. Использует верификацию через API, чтобы отличить активные токены от старых. Возможности: - 700+ детекторов: AWS, GCP, GitHub, Slack, Stripe, Twilio, и др. - Верификация найденных токенов через реальные API (активный/неактивный) - Сканирование git-истории, включая удалённые коммиты - Поддержка источников: GitHub/GitLab (орг/репо), S3, GCS, filesystem, Docker - Режим CI/CD: сканирование только новых коммитов (diff) - Вывод в JSON для интеграции в SIEM - Открытый исходный код, активно развивается TruffleHog OSS
# Скачать бинарь (Linux): curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin # go install: go install github.com/trufflesecurity/trufflehog/v3@latest # Docker: docker run --rm -it trufflesecurity/trufflehog:latest git https://github.com/target/repo # Примеры: # Сканировать публичный репозиторий: trufflehog git https://github.com/target/repo # Локальный репозиторий с верификацией: trufflehog git file://./myrepo --only-verified # Вся организация на GitHub: trufflehog github --org=myorg --token=$GITHUB_TOKEN # Только новые коммиты (для CI): trufflehog git file://. --since-commit HEAD~1 --only-verified
Находите утечки учётных данных.
...и многое другое
Чтобы узнать больше о TruffleHog, его функциях и возможностях, посетите нашу страницу продукта.
Вы заинтересованы в непрерывном мониторинге Git, Jira, Slack, Confluence, Microsoft Teams, Sharepoint (и многого другого) на наличие учётных данных? У нас есть корпоративный продукт, который может помочь! Подробнее на https://trufflesecurity.com/trufflehog-enterprise.
Мы используем доход от корпоративного продукта для финансирования других замечательных проектов с открытым исходным кодом, от которых может выиграть всё сообщество.
TruffleHog — самый мощный инструмент для обнаружения, классификации, проверки и анализа секретов. В данном контексте под секретом понимается учётные данные, которые машина использует для аутентификации с другой машиной. Сюда входят API-ключи, пароли от баз данных, закрытые ключи шифрования и многое другое.
TruffleHog может искать секреты во многих местах, включая Git, чаты, вики, журналы, платформы тестирования API, объектные хранилища, файловые системы и многое другое.
TruffleHog классифицирует более 800 типов секретов, сопоставляя их с конкретными сервисами, которым они принадлежат. Это секрет AWS? Stripe? Cloudflare? Пароль Postgres? Закрытый ключ SSL? Иногда по внешнему виду сложно определить, поэтому TruffleHog классифицирует всё найденное.
Для каждого секрета, который TruffleHog может классифицировать, он также может выполнить вход, чтобы подтвердить, является ли этот секрет активным. Этот шаг критически важен, чтобы понять, существует ли активная угроза или нет.
Для примерно 20 наиболее часто утекающих типов учётных данных, вместо отправки одного запроса для проверки возможности входа с помощью секрета, TruffleHog может отправить множество запросов, чтобы узнать всё об этом секрете. Кто его создал? Каким ресурсам он может получить доступ? Какие разрешения он имеет на этих ресурсах?
Есть вопросы? Отзывы? Присоединяйтесь к Slack или Discord и пообщайтесь с нами.
Присоединяйтесь к нашему сообществу в Slack
Присоединяйтесь к Discord для сканирования секретов
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity
Для вас доступны несколько вариантов:
brew install trufflehog
Убедитесь, что движок Docker запущен, прежде чем выполнять следующие команды:
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
docker run --rm -it -v "%cd:/=\%:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
docker run --rm -it -v "${PWD}:/pwd" trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys
docker run --platform linux/arm64 --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
Download and unpack from https://github.com/trufflesecurity/trufflehog/releases
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog; go install
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -v -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin <ReleaseTag like v3.56.0>
Контрольные суммы применяются ко всем артефактам, и полученный файл контрольных сумм подписывается с помощью cosign.
Для проверки подписи вам потребуется следующий инструмент:
Шаги проверки следующие:
Скачайте нужные файлы артефактов и следующие файлы со страницы релизов.
trufflehog_{version}_checksums.txt
trufflehog_{version}_checksums.txt.sig
Проверьте подпись:
shell
cosign verify-blob <путь к trufflehog_{version}_checksums.txt> \
--certificate <путь к trufflehog_{version}_checksums.txt.pem> \
--signature <путь к trufflehog_{version}_checksums.txt.sig> \
--certificate-identity-regexp 'https://github\.com/trufflesecurity/trufflehog/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
shell
sha256sum --ignore-missing -c trufflehog_{version}_checksums.txt
Замените {version} на версию скачанных файлов.
Как альтернатива, если вы используете скрипт установки, передайте опцию -v для выполнения проверки подписи.
Для этого перед запуском скрипта установки должен быть установлен бинарный файл Cosign.
Команда:
trufflehog git https://github.com/trufflesecurity/test_keys --results=verified
Ожидаемый вывод:
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷
Found verified result 🐷🔑
Detector Type: AWS
Decoder Type: PLAIN
Raw result: AKIAYVP4CIPPERUVIFXG
Line: 4
Commit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca
File: keys
Email: counter <counter@counters-MacBook-Air.local>
Repository: https://github.com/trufflesecurity/test_keys
Timestamp: 2022-06-16 10:17:40 -0700 PDT
...
trufflehog github --org=trufflesecurity --results=verified
trufflehog github --org=trufflesecurity --exclude-archived
Команда:
trufflehog git https://github.com/trufflesecurity/test_keys --results=verified --json
Ожидаемый вывод:
{"SourceMetadata":{"Data":{"Git":{"commit":"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca","file":"keys","email":"counter \u003ccounter@counters-MacBook-Air.local\u003e","repository":"https://github.com/trufflesecurity/test_keys","timestamp":"2022-06-16 10:17:40 -0700 PDT","line":4}}},"SourceID":0,"SourceType":16,"SourceName":"trufflehog - git","DetectorType":2,"DetectorName":"AWS","DecoderName":"PLAIN","Verified":true,"Raw":"AKIAYVP4CIPPERUVIFXG","Redacted":"AKIAYVP4CIPPERUVIFXG","ExtraData":{"account":"595918472158","arn":"arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj","user_id":"AIDAYVP4CIPPJ5M54LRCY"},"StructuredData":null}
...
trufflehog github --repo=https://github.com/trufflesecurity/test_keys --issue-comments --pr-comments
trufflehog s3 --bucket=<bucket name> --results=verified,unknown
trufflehog s3 --role-arn=<iam role arn>
docker run --rm -v "$HOME/.ssh:/root/.ssh:ro" trufflesecurity/trufflehog:latest git ssh://github.com/trufflesecurity/test_keys
trufflehog filesystem path/to/file1.txt path/to/file2.txt path/to/dir
Клонируйте git-репозиторий. Например, репозиторий тестовых ключей.
git clone git@github.com:trufflesecurity/test_keys.git
Запустите trufflehog из родительской директории (вне git-репозитория).
trufflehog git file://test_keys --results=verified,unknown
Для защиты от вредоносных git-конфигураций при локальном сканировании (см. CVE-2025-41390) TruffleHog клонирует локальные git-репозитории во временную директорию перед сканированием. Это соответствует лучшим практикам безопасности Git. Если вы хотите указать пользовательский путь для клонирования репозитория (вместо tmp), вы можете использовать флаг --clone-path. Если вы хотите пропустить процесс локального клонирования и сканировать репозиторий напрямую (делайте это только для доверенных репозиториев), вы можете использовать флаг --trust-local-git-config.
trufflehog gcs --project-id=<project-ID> --cloud-environment --results=verified
Используйте флаг --image несколько раз для сканирования нескольких образов.
# to scan from a remote registry
trufflehog docker --image trufflesecurity/secrets --results=verified
# to scan from the local docker daemon
trufflehog docker --image docker://new_image:tag --results=verified
# to scan from an image saved as a tarball
trufflehog docker --image file://path_to_image.tar --results=verified
Установите флаг --since-commit на вашу основную ветку, в которую происходит слияние (например, "main"). Установите флаг --branch на имя ветки вашего PR (например, "feature-1"). В зависимости от используемой платформы CI/CD это значение может быть получено динамически (например, CIRCLE_BRANCH в Circle CI и TRAVIS_PULL_REQUEST_BRANCH в Travis CI). Если репозиторий клонирован и целевая ветка уже выбрана в процессе CI/CD, тогда --branch HEAD должно быть достаточным. Флаг --fail вернет код ошибки 183, если будут найдены действительные учётные данные.
trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail
Используйте флаги --workspace-id, --collection-id, --environment несколько раз для сканирования нескольких целей.
trufflehog postman --token=<postman api token> --workspace-id=<workspace id>
trufflehog jenkins --url https://jenkins.example.com --username admin --password admin
Есть два способа аутентификации в локальном кластере с помощью TruffleHog: (1) имя пользователя и пароль, (2) токен сервиса.
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --username truffle --password hog
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’
Для сканирования кластера в Elastic Cloud вам потребуется Cloud ID и API-ключ.
trufflehog elasticsearch \
--cloud-id 'search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA==' \
--api-key 'MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ=='
Следующая команда перечислит удаленные и скрытые коммиты в репозитории GitHub, а затем просканирует их на наличие секретов. Эта функция находится на стадии альфа-версии.
trufflehog github-experimental --repo https://github.com/<USER>/<REPO>.git --object-discovery
В дополнение к обычному выводу TruffleHog, флаг --object-discovery создает два файла в новой директории $HOME/.trufflehog: valid_hidden.txt и invalid.txt. Они используются для отслеживания состояния во время перечисления коммитов, а также для предоставления пользователям полного списка всех скрытых и удаленных коммитов (valid_hidden.txt). Если вы хотите автоматически удалить эти файлы после сканирования, добавьте флаг --delete-cached-data.
Примечание: Перечисление всех действительных коммитов в репозитории таким способом занимает от 20 минут до нескольких часов в зависимости от размера вашего репозитория. Мы добавили прогресс-бар, чтобы вы знали, сколько времени займет перечисление. Фактическое сканирование секретов выполняется очень быстро.
Дополнительную информацию о межфорковых ссылках на объекты (Cross Fork Object References) можно найти в нашем блоге.
trufflehog huggingface \
--model <model_id> \
--dataset <dataset_id> \
--space <space_id> \
--bucket <bucket_id>
trufflehog huggingface --org <orgname> --user <username>
(Опционально) При сканировании организации или пользователя вы можете пропустить целый класс ресурсов с помощью флагов --skip-all-models, --skip-all-datasets, --skip-all-spaces, --skip-all-buckets ИЛИ конкретный ресурс с помощью --ignore-models <model_id>, --ignore-datasets <dataset_id>, --ignore-spaces <space_id>, --ignore-buckets <bucket_id>.
trufflehog huggingface --model <model_id> --include-discussions --include-prs
<<>
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷, и программа завершает работу, что не так?--token с персональным токеном доступа.trufflehog:ignore в строку, содержащую секрет, чтобы игнорировать этот секрет.TruffleHog v3 — это полный пересказ на языке Go со множеством новых мощных функций.
Для каждого обнаруженного потенциального секрета мы тщательно внедрили программную проверку через API, к которому, по нашему мнению, он относится. Проверка устраняет ложные срабатывания и предоставляет три статуса результатов:
Например, детектор учетных данных AWS выполняет API-вызов GetCallerIdentity к API AWS, чтобы проверить, активен ли ключ доступа AWS.
TruffleHog имеет подкоманду для каждого источника данных, который вы можете захотеть просканировать:
Каждая подкоманда может иметь опции, которые можно увидеть с помощью флага --help, переданного подкоманде:
$ trufflehog git --help
usage: TruffleHog [<flags>] <command> [<args> ...]
TruffleHog is a tool for finding credentials.
Flags:
-h, --[no-]help Show context-sensitive help (also try --help-long and --help-man).
--log-level=0 Logging verbosity on a scale of 0 (info) to 5 (trace). Can be
disabled with "-1".
--[no-]profile Enables profiling and sets a pprof and fgprof server on :18066.
-j, --[no-]json Output in JSON format.
--[no-]json-legacy Use the pre-v3.0 JSON format. Only works with git, gitlab,
and github sources.
--[no-]github-actions Output in GitHub Actions format.
--concurrency=12 Number of concurrent workers.
--[no-]no-verification Don't verify the results.
--results=RESULTS Specifies which type(s) of results to output: verified (confirmed
valid by API), unknown (verification failed due to error),
unverified (detected but not verified), filtered_unverified
(unverified but would have been filtered out). Defaults to
verified,unverified,unknown.
--[no-]no-color Disable colorized output
--[no-]allow-verification-overlap
Allow verification of similar credentials across detectors
--[no-]filter-unverified Only output first unverified result per chunk per detector if there
are more than one results.
--filter-entropy=FILTER-ENTROPY
Filter unverified results with Shannon entropy. Start with 3.0.
--config=CONFIG Path to configuration file.
--[no-]print-avg-detector-time
Print the average time spent on each detector.
--[no-]no-update Don't check for updates.
--[no-]fail Exit with code 183 if results are found.
--[no-]fail-on-scan-errors
Exit with non-zero error code if an error occurs during the scan.
--verifier=VERIFIER ... Set custom verification endpoints.
--[no-]custom-verifiers-only
Only use custom verification endpoints.
--detector-timeout=DETECTOR-TIMEOUT
Maximum time to spend scanning chunks per detector (e.g., 30s).
--archive-max-size=ARCHIVE-MAX-SIZE
Maximum size of archive to scan. (Byte units eg. 512B, 2KB, 4MB)
--archive-max-depth=ARCHIVE-MAX-DEPTH
Maximum depth of archive to scan.
--archive-timeout=ARCHIVE-TIMEOUT
Maximum time to spend extracting an archive.
--include-detectors="all" Comma separated list of detector types to include. Protobuf name or
IDs may be used, as well as ranges.
--exclude-detectors=EXCLUDE-DETECTORS
Comma separated list of detector types to exclude. Protobuf name
or IDs may be used, as well as ranges. IDs defined here take
precedence over the include list.
--[no-]no-verification-cache
Disable verification caching
--[no-]force-skip-binaries
Force skipping binaries.
--[no-]force-skip-archives
Force skipping archives.
--[no-]skip-additional-refs
Skip additional references.
--user-agent-suffix=USER-AGENT-SUFFIX
Suffix to add to User-Agent.
--[no-]version Show application version.
Commands:
help [<command>...]
Show help.
git [<flags>] <uri>
Find credentials in git repositories.
github [<flags>]
Find credentials in GitHub repositories.
github-experimental --repo=REPO [<flags>]
Run an experimental GitHub scan. Must specify at least one experimental sub-module to run:
object-discovery.
gitlab --token=TOKEN [<flags>]
Find credentials in GitLab repositories.
filesystem [<flags>] [<path>...]
Find credentials in a filesystem.
s3 [<flags>]
Find credentials in S3 buckets.
gcs [<flags>]
Find credentials in GCS buckets.
syslog --format=FORMAT [<flags>]
Scan syslog
circleci --token=TOKEN
Scan CircleCI
docker [<flags>]
Scan Docker Image
travisci --token=TOKEN
Scan TravisCI
postman [<flags>]
Scan Postman
elasticsearch [<flags>]
Scan Elasticsearch
jenkins --url=URL [<flags>]
Scan Jenkins
huggingface [<flags>]
Find credentials in HuggingFace datasets, models and spaces.
stdin
Find credentials from stdin.
multi-scan
Find credentials in multiple sources defined in configuration.
json-enumerator [<path>...]
Find credentials from a JSON enumerator input.
analyze
Analyze API keys for fine-grained permissions information.
Например, чтобы просканировать репозиторий git, начните с
trufflehog git https://github.com/trufflesecurity/trufflehog.git
TruffleHog поддерживает определение кастомных регулярных выражений для обнаружения
и несколько источников в конфигурационном файле, предоставляемые через флаг --config.
Детекторы регулярных выражений могут использоваться с любой подкомандой, в то время как источники, определенные
в конфигурации, предназначены только для подкоманды multi-scan.
Формат конфигурации источников можно найти на странице документации по конфигурации источников Truffle Security.
Пример конфигурации источника GitHub и ссылка на опции:
sources:
- connection:
'@type': type.googleapis.com/sources.GitHub
repositories:
- https://github.com/trufflesecurity/test_keys.git
unauthenticated: {}
name: example config scan
type: SOURCE_TYPE_GITHUB
verify: true
Вы можете определить несколько подключений в ключе sources (см. выше), и
TruffleHog будет сканировать все источники параллельно.
Источник S3 поддерживает принятие IAM-ролей для сканирования в дополнение к IAM-пользователям. Это упрощает пользователям сканирование нескольких учетных записей AWS без необходимости полагаться на жестко закодированные учетные данные для каждой учетной записи.
IAM-лицо, которое TruffleHog использует изначально, должно иметь привилегии AssumeRole в качестве субъекта в политике доверия каждой IAM-роли для принятия.
Чтобы просканировать определенный бакет, используя локально установленные учетные данные или метаданные экземпляра, если вы находитесь на экземпляре EC2:
trufflehog s3 --bucket=<bucket-name>
Чтобы просканировать определенный бакет, используя принятую роль:
trufflehog s3 --bucket=<bucket-name> --role-arn=<iam-role-arn>
Несколько ролей могут быть переданы как отдельные аргументы. Следующая команда попытается просканировать каждый бакет, для которого у каждой роли есть разрешения на просмотр через API S3:
trufflehog s3 --role-arn=<iam-role-arn-1> --role-arn=<iam-role-arn-2>
Коды возврата:
--fail.on:
push:
branches:
- main
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Secret Scanning
uses: trufflesecurity/trufflehog@main
with:
extra_args: --results=verified,unknown
В примере конфигурации выше мы сканируем на наличие активных секретов во всех PR (запросах на слияние) и Push (отправках) в main. Сканируются только изменения кода в указанных коммитах. Если вы хотите просканировать целую ветку, пожалуйста, обратитесь к разделу «Расширенное использование» ниже.
Если вы интегрируете TruffleHog в отдельный рабочий процесс и не используете какие-либо другие инструменты CI/CD вместе с TruffleHog, мы рекомендуем использовать Мелкое клонирование для ускорения вашего рабочего процесса. Вот пример того, как это сделать:
...
- shell: bash
run: |
if [ "${{ github.event_name }}" == "push" ]; then
echo "depth=$(($(jq length <<< '${{ toJson(github.event.commits) }}') + 2))" >> $GITHUB_ENV
echo "branch=${{ github.ref_name }}" >> $GITHUB_ENV
fi
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "depth=$((${{ github.event.pull_request.commits }}+2))" >> $GITHUB_ENV
echo "branch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
ref: ${{env.branch}}
fetch-depth: ${{env.depth}}
- uses: trufflesecurity/trufflehog@main
with:
extra_args: --results=verified,unknown
...
В зависимости от типа события (push или PR), мы вычисляем количество присутствующих коммитов. Затем мы добавляем 2, чтобы мы могли сослаться на базовый коммит до наших изменений кода. Мы передаем это целочисленное значение в флаг fetch-depth в действии checkout, а также соответствующую ветку. Теперь наш процесс checkout должен быть намного короче.
TruffleHog статически обнаруживает https://canarytokens.org/.
- name: TruffleHog
uses: trufflesecurity/trufflehog@main
with:
# Repository path
path:
# Start scanning from here (usually main branch).
base:
# Scan commits until here (usually dev branch).
head: # optional
# Extra args to be passed to the trufflehog cli.
extra_args: --log-level=2 --results=verified,unknown
# Scan with a specific TruffleHog version (default: latest).
version:
# Docker image to pull. Override to use a registry mirror (default: ghcr.io/trufflesecurity/trufflehog).
image:
Если вы хотите указать конкретные опорные точки base и head, вы можете использовать аргумент base (флаг --since-commit в CLI TruffleHog) и аргумент head (флаг --branch в CLI TruffleHog). Мы рекомендуем использовать эти аргументы только для очень специфических случаев использования, когда поведение по умолчанию не подходит.
- name: scan-push
uses: trufflesecurity/trufflehog@main
with:
base: ""
head: ${{ github.ref_name }}
extra_args: --results=verified,unknown
stages:
- security
security-secrets:
stage: security
allow_failure: false
image: alpine:latest
variables:
SCAN_PATH: "." # Set the relative path in the repo to scan
before_script:
- apk add --no-cache git curl jq
- curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin
script:
- trufflehog filesystem "$SCAN_PATH" --results=verified,unknown --fail --json | jq
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
В примере пайплайна выше мы сканируем на наличие активных секретов во всех каталогах и файлах репозитория. Эта задача выполняется только тогда, когда источником пайплайна является событие merge request (запрос на слияние), то есть он запускается при создании нового запроса на слияние.
TruffleHog может использоваться в pre-commit hook, чтобы предотвратить утечку учетных данных до того, как они покинут ваш компьютер.
Смотрите документацию по pre-commit hook для получения дополнительной информации.
TruffleHog поддерживает обнаружение и проверку пользовательских регулярных выражений.
Для обнаружения требуется хотя бы одно регулярное выражение и ключевое слово.
Ключевое слово — это фиксированная строковая идентификатор, который появляется в или вокруг
регулярного выражения для обнаружения. Чтобы обеспечить максимальную гибкость для проверки,
используется вебхук, содержащий совпадения регулярного выражения.
TruffleHog отправляет JSON POST-запрос, содержащий совпадения с регулярными выражениями, на настроенный конечный адрес вебхука. Если конечный адрес отвечает кодом статуса 200 OK, секрет считается проверенным. Если проверка не удаётся из-за сетевых/API-ошибок, результат помечается как неизвестный.
Пользовательские детекторы поддерживают несколько различных механизмов фильтрации: энтропия, регулярное выражение, нацеленное на всё совпадение, регулярное.expression, нацеленное на захваченный секрет, и списки исключений, проверяемые по секрету (захваченная группа, если она присутствует, всё совпадение, если группа захвата отсутствует). Обратите внимание, что если ваш пользовательский детектор имеет несколько заданных regex (в данном примере hogID и hogToken), тогда фильтры применяются к каждому регулярному выражению. Здесь приведён пример пользовательского детектора с использованием этих фильтров.
Примечание: Эта функция находится на стадии альфа-тестирования и может измениться.
Здесь описано, как настроить пользовательский детектор регулярных выражений с сервером проверки.
TruffleHog поддерживает обнаружение и проверку подмножества generic JWT, которые он находит. В частности, если JWT использует криптографию с открытым ключом, а не HMAC, и открытый ключ можно получить, TruffleHog может определить, является ли JWT действующим.
TruffleHog поддерживает запуск более глубокого анализа учётных данных для просмотра их разрешений и ресурсов, к которым они имеют доступ.
trufflehog analyze
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Внести вклад].
Мы приветствуем вклад! Пожалуйста, сначала ознакомьтесь с нашими руководством по участию в разработке.
Мы больше не принимаем вклад для TruffleHog v2, но этот код доступен в ветке v2.
Мы опубликовали документацию и инструменты для начала работы по добавлению новых детекторов секретов. Давайте вместе улучшим обнаружение!
В настоящее время trufflehog находится в интенсивной разработке, и на данный момент невозможно гарантировать стабильность публичных API.
Начиная с v3.0, TruffleHog распространяется под лицензией AGPL 3, включённой в LICENSE. TruffleHog v3.0 не использует предыдущую кодовую базу, но было приложено усилие для сохранения обратной совместимости с интерфейсом командной строки. Работа до этого релиза по-прежнему доступна под лицензией GPL 2.0 в истории этого репозитория и в предыдущих пакетных релизах и тегах. Для принятия нашего вклада в будущем требуется заполненный CLA.