Об этом проекте

ggshield — это приложение командной строки от GitGuardian для обнаружения жёстко закодированных секретов в вашем коде. Оно запускается локально или в CI и охватывает более 500 типов секретов, используя публичный API GitGuardian через клиент py-gitguardian для сканирования файлов и другого текстового содержимого. Примечание о конфиденциальности из README: при сканировании сохраняются только метаданные, такие как время вызова, размер запроса и режим сканирования, поэтому секреты не отображаются на вашей панели управления, а файлы и секреты не сохраняются. Варианты установки широки: рекомендуемый скрипт установки для Linux/macOS и Windows PowerShell, Homebrew на macOS, автономный .pkg, пакеты Deb и RPM через Cloudsmith, установщики Chocolatey и MSI на Windows, автономный .zip и PyPI через pipx (рекомендуется) или pip. Автономные пакеты не требуют установленного Python, но требуют обновления вручную. Для настройки требуется аутентификация на серверах GitGuardian. Команда `ggshield auth login` создаёт персональный токен доступа и настраивает его локально; альтернативно можно создать токен вручную и задать переменную окружения `GITGUARDIAN_API_KEY`. Устаревшую конфигурацию `.gitguardian.yaml` можно перенести с помощью `ggshield config migrate`, которая сохраняет резервную копию `.old`. Цели сканирования включают файлы (`ggshield secret scan path -r .`), репозитории (`ggshield secret scan repo .`), Docker-образы (требуется команда docker) и пакеты PyPI (требуется pip). README указывает на `ggshield secret scan --help` для полного списка. Интеграции охватывают рабочие процессы CI/CD и Git-хуки (pre-commit, pre-push, pre-receive), чтобы перехватывать секреты до того, как они попадут в систему контроля версий. Примечательно, что ggshield также может сканировать взаимодействия с ИИ-ассистентами по кодированию в реальном времени и блокировать действия, содержащие секреты, до их выполнения; в списке поддерживаемых инструментов указаны Cursor, Claude Code, Copilot Chat, Codex и Mistral Vibe 2.21+. Хуки устанавливаются с помощью `ggshield install`. Поведение вывода: код выхода 0, когда секреты не найдены. При обнаружении секрета инструмент сообщает имя файла и показывает патч с указанием позиции секрета, при этом длинные строки усекаются, если не используется подробный режим (`-v` или `--verbose`). README также перечисляет связанные проекты с открытым исходным кодом (truffleHog, gitleaks, gitrob, git-hound, AWS git-secrets, detect-secrets) и указывает, что проект распространяется по лицензии MIT. Примечание для macOS предупреждает, что обновление до 1.54.0 вызывает запрос Keychain для `ggshield-py` — второго бинарного файла, который считывает сохранённый токен в рамках улучшений производительности; пользователям следует нажать «Always Allow».