
Находите, проверяйте и анализируйте утекшие учетные данные
Найдите утекшие учетные данные.
...и многое другое
Чтобы узнать больше о 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-сообществу проверки секретов
```bash
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity
# :floppy_disk: Установка
Для вас доступно несколько вариантов:
### Пользователи MacOS```bash
brew install trufflehog
Убедитесь, что Docker engine запущен перед выполнением следующих команд:
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
#### Командная строка Windows```bash
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
#### M1 and M2 Mac```bash
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
### Скомпилировать из исходного кода```bash
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
### Использование сценария установки, проверить подпись контрольной суммы (требуется установка cosign)```bash
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
# :closed_lock_with_key: Проверка артефактов
Контрольные суммы применяются ко всем артефактам, и результирующий файл контрольных сумм подписывается с помощью cosign.
Для проверки подписи вам понадобится следующий инструмент:
- [Cosign](https://docs.sigstore.dev/cosign/system_config/installation/)
Шаги проверки следующие:
1. Загрузите нужные вам файлы артефактов и следующие файлы со страницы [релизов](https://github.com/trufflesecurity/trufflehog/releases).
- trufflehog\_{version}\_checksums.txt
- trufflehog\_{version}\_checksums.txt.pem
- trufflehog\_{version}\_checksums.txt.sig
2. Проверьте подпись: ```shell
cosign verify-blob <path to trufflehog_{version}_checksums.txt> \
--certificate <path to trufflehog_{version}_checksums.txt.pem> \
--signature <path to trufflehog_{version}_checksums.txt.sig> \
--certificate-identity-regexp 'https://github\.com/trufflesecurity/trufflehog/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Замените {version} на версию загруженных файлов
Кроме того, если вы используете скрипт установки, передайте опцию -v для проверки подписи. Для этого необходимо, чтобы бинарный файл Cosign был установлен перед запуском скрипта установки.
Команда:```bash 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 <[email protected]>
Repository: https://github.com/trufflesecurity/test_keys
Timestamp: 2022-06-16 10:17:40 -0700 PDT
...
trufflehog github --org=trufflesecurity --results=verified
## 3: Сканировать организацию GitHub, исключая архивированные репозитории```bash
trufflehog github --org=trufflesecurity --exclude-archived
Команда:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified --json
Ожидаемый вывод:```
{"SourceMetadata":{"Data":{"Git":{"commit":"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca","file":"keys","email":"counter \[email protected]\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
## 6: Сканировать S3-бакет на предмет результатов с высокой достоверностью (подтвержденных + неизвестных)```bash
trufflehog s3 --bucket=<bucket name> --results=verified,unknown
trufflehog s3 --role-arn=
## 8: Сканирование репозитория Github с помощью SSH-аутентификации в Docker```bash
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
## 10: Сканирование локального git-репозитория
Клонируйте git-репозиторий. Например, репозиторий [test keys](https://github.com/trufflesecurity/trufflehog/blob/HEAD/[email protected]:trufflesecurity/test_keys.git).```bash
git clone [email protected]:trufflesecurity/test_keys.git
Запустите trufflehog из родительской директории (за пределами git-репозитория).```bash trufflehog git file://test_keys --results=verified,unknown
Чтобы защититься от вредоносных git-конфигураций при локальном сканировании (см. CVE-2025-41390), TruffleHog клонирует локальные git-репозитории во временный каталог перед сканированием. Это соответствует [рекомендациям Git по безопасности](https://git-scm.com/docs/git#_security). Если вы хотите указать собственный путь для клонирования репозитория (вместо tmp), используйте флаг `--clone-path`. Если вы хотите пропустить процесс локального клонирования и сканировать репозиторий напрямую (делайте это только для доверенных репозиториев), используйте флаг `--trust-local-git-config`.
## 11: Сканирование корзин GCS только для проверенных секретов```bash
trufflehog gcs --project-id=<project-ID> --cloud-environment --results=verified
Используйте флаг --image несколько раз для сканирования нескольких образов.```bash
trufflehog docker --image trufflesecurity/secrets --results=verified
trufflehog docker --image docker://new_image:tag --results=verified
trufflehog docker --image file://path_to_image.tar --results=verified
## 13: Сканирование в CI
Установите флаг `--since-commit` на вашу ветку по умолчанию, в которую люди сливают изменения (например, "main"). Установите флаг `--branch` на имя ветки вашего PR (например, "feature-1"). В зависимости от используемой платформы CI/CD это значение может быть получено динамически (например, [CIRCLE_BRANCH в Circle CI](https://circleci.com/docs/variables/) и [TRAVIS_PULL_REQUEST_BRANCH в Travis CI](https://docs.travis-ci.com/user/environment-variables/)). Если репозиторий клонирован и целевая ветка уже переключена во время рабочего процесса CI/CD, то `--branch HEAD` должно быть достаточно. Флаг `--fail` вернет код ошибки 183, если будут найдены действительные учетные данные.```bash
trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail
Используйте флаги --workspace-id, --collection-id, --environment несколько раз для сканирования нескольких целей.```bash
trufflehog postman --token= --workspace-id=
## 15: Сканировать сервер Jenkins```bash
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
#### Подключиться к локальному кластеру с сервисным токеном```bash
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’
Для сканирования кластера в Elastic Cloud вам понадобятся Cloud ID и API key.```bash
trufflehog elasticsearch
--cloud-id 'search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA=='
--api-key 'MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ=='
## 17. Сканирование репозитория GitHub на предмет перекрёстных ссылок на объекты форков и удалённых коммитов
Следующая команда перечислит удалённые и скрытые коммиты в репозитории GitHub, а затем просканирует их на наличие секретов. Это функция альфа-релиза.```bash
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>
### Сканирование всех моделей, наборов данных, пространств и сегментов, принадлежащих организации или пользователю Hugging Face```bash
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
## 19. Сканирование ввода stdin```bash
aws s3 cp s3://example/gzipped/data.gz - | gunzip -c | trufflehog stdin
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷 и программа завершает работу. В чем дело?
--token с персональным токеном доступаtrufflehog:ignore на строке, содержащей секрет, чтобы игнорировать этот секрет.TruffleHog v3 — это полная переработка на Go с множеством новых мощных возможностей.
Для каждого потенциального учётного данного, которое обнаруживается, мы тщательно реализовали программную проверку через API, к которому, как мы считаем, оно относится. Проверка устраняет ложные срабатывания и предоставляет три статуса результата:
Например, детектор учётных данных AWS выполняет вызов API GetCallerIdentity к AWS API, чтобы проверить, активно ли учётное данное AWS.
У TruffleHog есть подкоманда для каждого источника данных, который вы хотите отсканировать:
Каждая подкоманда может иметь параметры, которые можно просмотреть с помощью флага --help, переданного подкоманде:```
$ trufflehog git --help
usage: TruffleHog [] [ ...]
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 [...] Show help.
git []
Find credentials in git repositories.
github [] Find credentials in GitHub repositories.
github-experimental --repo=REPO [] Run an experimental GitHub scan. Must specify at least one experimental sub-module to run: object-discovery.
gitlab --token=TOKEN [] Find credentials in GitLab repositories.
filesystem [] [...] Find credentials in a filesystem.
s3 [] Find credentials in S3 buckets.
gcs [] Find credentials in GCS buckets.
syslog --format=FORMAT [] Scan syslog
circleci --token=TOKEN Scan CircleCI
docker [] Scan Docker Image
travisci --token=TOKEN Scan TravisCI
postman [] Scan Postman
elasticsearch [] Scan Elasticsearch
jenkins --url=URL [] Scan Jenkins
huggingface [] 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 [...] 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 и справочник параметров:```yaml sources:
Вы можете определить несколько соединений в ключе `sources` (см. выше), и TruffleHog будет сканировать все источники одновременно.
## S3
Источник S3 поддерживает использование ролей IAM для сканирования в дополнение к пользователям IAM. Это упрощает сканирование нескольких учетных записей AWS без необходимости полагаться на жестко заданные учетные данные для каждой учетной записи.
Удостоверению IAM, которое изначально использует TruffleHog, потребуется иметь привилегии `AssumeRole` в качестве участника в [политике доверия](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/) каждой роли IAM, которую он должен принять.
Для сканирования конкретного контейнера (bucket) с использованием локально установленных учетных данных или метаданных экземпляра, если работа ведется на EC2-инстансе:```bash
trufflehog s3 --bucket=<bucket-name>
Для сканирования конкретного бакета с использованием предполагаемой роли:```bash trufflehog s3 --bucket= --role-arn=
Несколько ролей могут быть переданы в качестве отдельных аргументов. Следующая команда попытается просканировать каждый bucket, к которому каждая роль имеет разрешение на перечисление через S3 API:```bash
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 и пушах в `main`. Сканируются только изменения кода в указанных коммитах. Если вы хотите отсканировать всю ветку, см. раздел «Расширенное использование» ниже.
### Поверхностное клонирование
Если вы интегрируете TruffleHog в автономный рабочий процесс и не используете другие инструменты CI/CD вместе с TruffleHog, мы рекомендуем использовать [поверхностное клонирование](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt) для ускорения вашего рабочего процесса. Вот пример того, как это сделать:```
...
- 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/.

Если вы хотите указать конкретные ссылки `base` и `head`, вы можете использовать аргумент `base` (флаг `--since-commit` в TruffleHog CLI) и аргумент `head` (флаг `--branch` в TruffleHog CLI). Мы рекомендуем использовать эти аргументы только для очень специфических случаев, когда поведение по умолчанию не работает.
#### Расширенное использование: Сканирование всей ветки```
- name: scan-push
uses: trufflesecurity/trufflehog@main
with:
base: ""
head: ${{ github.ref_name }}
extra_args: --results=verified,unknown
stages:
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), то есть запускается при создании нового запроса на слияние.
## Pre-commit Hook
TruffleHog можно использовать в pre-commit хуке, чтобы предотвратить утечку учётных данных до того, как они покинут ваш компьютер.
Смотрите [документацию по pre-commit хуку](https://github.com/trufflesecurity/trufflehog/blob/HEAD/PreCommit.md) для получения дополнительной информации.
## Custom Regex Detector (alpha)
TruffleHog поддерживает обнаружение и верификацию пользовательских регулярных выражений.
Для обнаружения требуется как минимум одно **регулярное выражение** и **ключевое слово**.
**Ключевое слово** — это фиксированный строковый литерал, который встречается внутри или рядом
с обнаруживаемым регулярным выражением. Для обеспечения максимальной гибкости верификации используется
вебхук, содержащий совпадения с регулярным выражением.
TruffleHog отправит JSON POST-запрос, содержащий совпадения с регулярным выражением, на
настроенную конечную точку вебхука. Если конечная точка ответит кодом состояния `200 OK`,
секрет считается подтверждённым. Если верификация не удалась из-за ошибок сети/API, результат помечается как неизвестный.
Пользовательские детекторы поддерживают несколько различных механизмов фильтрации: энтропия, регулярное выражение, нацеленное на всё совпадение, регулярное выражение, нацеленное на захваченный секрет,
и списки исключённых слов, проверяемые по секрету (захваченная группа, если есть, иначе всё совпадение). Обратите внимание, что если
ваш пользовательский детектор имеет несколько установленных `regex` (в этом примере `hogID` и `hogToken`), то фильтры применяются к каждому регулярному выражению. [Здесь](https://github.com/trufflesecurity/trufflehog/blob/HEAD/examples/generic_with_filters.yml) приведён пример пользовательского детектора с использованием этих фильтров.
**NB:** Эта функция является альфа-версией и может быть изменена.
### Пример детектора регулярных выражений
[Здесь](https://github.com/trufflesecurity/trufflehog/blob/HEAD/pkg/custom_detectors/CUSTOM_DETECTORS.md) описана настройка пользовательского детектора регулярных выражений с сервером верификации.
## Generic JWT Detection
TruffleHog поддерживает обнаружение и верификацию подмножества найденных универсальных JWT.
В частности, если JWT использует криптографию с открытым ключом, а не HMAC, и открытый ключ может быть получен, TruffleHog может определить, является ли JWT действующим или нет.
## :mag: Анализ
TruffleHog поддерживает углублённый анализ учётных данных для просмотра их разрешений и ресурсов, к которым они имеют доступ.```bash
trufflehog analyze
Этот проект существует благодаря всем людям, которые вносят вклад. [Сделать вклад].
Вклад приветствуется! Пожалуйста, ознакомьтесь с нашими руководствами по внесению вклада.
Мы больше не принимаем вклад в TruffleHog v2, но этот код доступен в ветке v2.
Мы опубликовали документацию и инструменты для начала работы по добавлению новых детекторов секретов. Давайте улучшать обнаружение вместе!
В настоящее время trufflehog находится в стадии активной разработки, и никаких гарантий стабильности публичных API на данный момент дать нельзя.
Начиная с v3.0, TruffleHog выпускается под лицензией AGPL 3, включенной в LICENSE. TruffleHog v3.0 не использует ни одной части предыдущей кодовой базы, но были предприняты меры для сохранения обратной совместимости с интерфейсом командной строки. Работа, предшествующая этому выпуску, все еще доступна под лицензией GPL 2.0 в истории этого репозитория и предыдущих релизах и тегах пакетов. Для принятия вклада в будущем требуется заполненное CLA.