Установка
# go get -u github.com/zricethezav/gitleaks
Использование и объяснение
# ./gitleaks [options] url/path
Gitleaks проверяет локальные и удаленные репозитории, запуская проверки регулярных выражений на все коммиты.
usage: gitleaks [options] URL/path_to_repo; Options: -u --user Git user mode -r --repo Git repo mode -o --org Git organization mode -l --local Local mode, gitleaks will look for local repo in <path> -t --temp Clone to temporary directory -v --verbose Verbose mode, will output leaks as gitleaks finds them --report-path=<STR> Save report to path, gitleaks default behavior is to save report to pwd --clone-path=<STR> Gitleaks will clone repos here, default pwd --concurrency=<INT> Upper bound on concurrent diffs --since=<STR> Commit to stop at --b64Entropy=<INT> Base64 entropy cutoff (default is 70) --hexEntropy=<INT> Hex entropy cutoff (default is 40) -e --entropy Enable entropy -h --help Display this message --token=<STR> Github API token --stopwords Enables stopwords
Коды выхода
Код | Объяснение |
---|---|
0 | удалось без утечек |
1 | не удалось или не была предпринята попытка из-за сбоя выполнения |
2 | преуспел и в ходе аудита присутствовали утечки |
Используйте эти коды, чтобы подключить gitleaks к любому конвейеру, в котором вы работаете.
Примеры
# gitleaks
Запуск аудита в текущем рабочем каталоге, если присутствует .git
# gitleaks --local $HOME/audits/some/repo
# gitleaks https://github.com/some/repo
# gitleaks --clone-path=$HOME/Desktop/audits https://github.com/some/repo
Запустить аудит на github.com/some/repo.git и клонировать репо на $ HOME / Desktop / audits
# gitleaks --temp https://github.com/some/repo
Запустите аудит на github.com/some/repo.git и повторите клонирование на $ TMPDIR (это приведет к удалению репозиториев после завершения аудита)
# gitleaks --temp -u https://github.com/some-user
Запустите аудит во всех репозиториях некоторых пользователей.
Опять же, флаг -temp будет клонировать все репозитории в $ TMPDIR и удалит после аудита
Если вы обнаружили действительную утечку в репозитории
Пожалуйста, прочитайте статью Github об удалении конфиденциальных данных из хранилища, чтобы удалить конфиденциальную информацию из вашей истории.
Запуск в Docker
Просто запустите
# docker run --rm --name=gitleaks zricethezav/gitleaks https://github.com/zricethezav/gitleaks
Или создайте образ самостоятельно, чтобы получить последнюю версию:
# docker build -t gitleaks . # docker run --rm --name=gitleaks gitleaks https://github.com/zricethezav/gitleaks
Скачать Gitleaks