
ggshield v1.53.0
Обнаруживайте и проверяйте более 500 типов жёстко заданных секретов с помощью расширенных проверок. Используйте его как pre-commit hook, GitHub Action или CLI для проактивного обнаружения секретов и обеспечения безопасности.
ggshield: защитите свой код с помощью GitGuardian
ggshield — это CLI-приложение, которое выполняется в вашем локальном окружении или в среде CI, помогая обнаруживать более 500 типов секретов.
ggshield использует наш публичный API через py-gitguardian для сканирования и обнаружения потенциальных уязвимостей в файлах и другом текстовом содержимом.
При использовании ggshield сохраняются только метаданные, такие как время вызова, размер запроса и режим сканирования, поэтому секреты не будут отображаться на вашей панели управления, и ваши файлы и секреты не будут сохранены.
Содержание
- Установка
- Начальная настройка
- Начало работы
- Интеграции
- Узнать больше
- Вывод
- Связанные проекты с открытым исходным кодом
- Лицензия
Установка
Сценарий установки (рекомендуется)
Самый быстрый способ установки ggshield.
Linux / macOS:
curl -sSfL \
https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | iex
Или, если вы предпочитаете curl (встроен в Windows 10+):
curl.exe -sSL https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -
Сценарий принимает параметры, такие как --instance и --plugin (установка плагина). Для рабочей области в ЕС или собственного экземпляра установите переменную окружения GITGUARDIAN_INSTANCE (или передайте --instance <URL>) перед запуском.
Полный список параметров, другие способы установки и инструкции по удалению см. в scripts/install/README.md.
Методы, описанные ниже, устанавливают CLI вручную.
macOS
Homebrew
Вы можете установить ggshield с помощью Homebrew:
brew install ggshield
Обновление выполняется через Homebrew.
Отдельный пакет .pkg
Кроме того, вы можете загрузить и установить отдельный пакет .pkg со страницы релизов ggshield.
Этот пакет не требует установки Python, но новые версии необходимо загружать вручную.
Linux
Пакеты Deb и RPM
Пакеты Deb и RPM доступны на Cloudsmith.
Инструкции по настройке:
Обновление выполняется через менеджер пакетов.
Windows
Chocolatey
ggshield доступен через менеджер пакетов Chocolatey:
choco install ggshield
Установщик MSI
Загрузите установщик MSI со страницы релизов ggshield и установите его:
msiexec /i ggshield-VERSION-x86_64-pc-windows-msvc.msi
Отдельный архив .zip
Мы предоставляем отдельный архив .zip на странице релизов ggshield.
Распакуйте архив на диск, затем добавьте каталог, содержащий файл ggshield.exe, в %PATH%.
Этот архив не требует установки Python, но новые версии необходимо загружать вручную.
Все операционные системы
ggshield можно установить на все поддерживаемые операционные системы через его пакет PyPI.
Для него требуется поддерживаемая версия Python (не завершившая жизненный цикл) (за исключением автономных пакетов) и git.
Если вы не используете наши упакованные версии ggshield, имейте в виду, что мы следуем циклу выпуска Python и не поддерживаем версии, достигшие конца своего жизненного цикла.
Использование pipx
Рекомендуемый способ установки ggshield из PyPI — использовать pipx, который установит его в изолированном окружении:
pipx install ggshield
Для обновления вашей установки выполните:
pipx upgrade ggshield
Использование pip
Вы также можете установить ggshield из PyPI с помощью pip, но это не рекомендуется, поскольку установка не изолирована, поэтому другие приложения или пакеты, установленные таким образом, могут повлиять на вашу установку ggshield. Этот метод также не будет работать, если ваша установка Python объявлена как управляемая извне (например, при использовании системного Python в операционных системах, таких как Debian 12):
pip install --user ggshield
Для обновления вашей установки выполните:
pip install --user --upgrade ggshield
Начальная настройка
Использование ggshield auth login
Для использования ggshield необходимо пройти аутентификацию на серверах GitGuardian. Для этого используйте команду ggshield auth login. Эта команда автоматизирует предоставление персонального токена доступа и его настройку на локальной рабочей станции.
Подробнее об этом можно узнать из документации ggshield auth login.
Ручная настройка
Вы также можете создать персональный токен доступа вручную и сохранить его в переменной окружения GITGUARDIAN_API_KEY, чтобы завершить настройку.
Начало работы
Секреты
Теперь вы можете использовать ggshield для поиска секретов:
- в файлах:
ggshield secret scan path -r . - в репозиториях:
ggshield secret scan repo . - в образах Docker (должна быть доступна команда
docker):ggshield secret scan docker ubuntu:22.04 - в пакетах PyPI (должна быть доступна команда
pip):ggshield secret scan pypi flask - и многое другое, подробнее см. в выводе
ggshield secret scan --help.
Миграция устаревшего файла конфигурации
Если ggshield сообщает, что ваш файл конфигурации .gitguardian.yaml (или .gitguardian.yml) использует устаревший формат, выполните миграцию до последней версии с помощью:
ggshield config migrate
По умолчанию он ищет файл конфигурации в текущем каталоге, поэтому запускайте его из каталога, содержащего файл. Чтобы запустить его из любого места, укажите ggshield путь к файлу явно:
ggshield --config-path path/to/.gitguardian.yaml config migrate
Предыдущая версия файла сохраняется как резервная копия .old рядом с ним.
Интеграции
Вы можете интегрировать ggshield в свой рабочий процесс CI/CD.
Для раннего обнаружения ошибок используйте ggshield в качестве Git-хука pre-commit, pre-push или pre-receive.
Помощники по ИИ-кодированию
ggshield может сканировать взаимодействия между вами и вашим помощником по ИИ-кодированию в реальном времени, блокируя действия, содержащие секреты, до их выполнения.
Вы можете установить хуки с помощью команды ggshield install.
Поддерживаемые инструменты: Cursor, Claude Code, Copilot Chat и Codex.
Узнать больше
Для получения дополнительной информации ознакомьтесь с документацией
Вывод
Если секреты не найдены, код выхода будет 0:
ggshield secret scan pre-commit
Если секрет найден в вашем промежуточном коде или в CI, вы получите предупреждение с именем файла, где был найден секрет, и патч, указывающий позицию секрета в файле:
ggshield secret scan pre-commit
2 incidents have been found in file production.rb
11 | config.paperclip_defaults = {
12 | :s3_credentials => {
13 | :bucket => "XXX",
14 | :access_key_id => "XXXXXXXXXXXXXXXXXXXX",
|_____AWS Keys_____|
15 | :secret_access_key => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|_______________AWS Keys_______________|
16 | }
17 | }
Слишком длинные строки обрезаются по размеру терминала, если не используется подробный режим (-v или --verbose).
Связанные проекты с открытым исходным кодом
Лицензия
ggshield распространяется под лицензией MIT.