Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
git-secrets — Предотвращает случайную фиксацию секретов и учетных данных в git-репозиториях. | Kitploit
Инструменты/GitHubGitHub/awslabs/git-secrets
Анализ КодаАудит конфигурацииDevSecOpsОбнаружение СекретовТоп в Обнаружение Секретов №4
GitHubawslabs/git-secrets

git-secrets

Предотвращает случайную фиксацию секретов и учетных данных в git-репозиториях.

Репозиторий
13.4k1.3k1091 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

=========== git-secrets


Предотвращает добавление паролей и другой конфиденциальной информации в git-репозиторий.

.. contents:: :depth: 2

Описание

::

git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<файлы>...]
git secrets --scan-history
git secrets --install [-f|--force] [<целевой-каталог>]
git secrets --list [--global]
git secrets --add [-a|--allowed] [-l|--literal] [--global] <шаблон>
git secrets --add-provider [--global] <команда> [аргументы...]
git secrets --register-aws [--global]
git secrets --aws-provider [<файл-учётных-данных>]

Описание

git-secrets сканирует коммиты, сообщения коммитов и слияния --no-ff, чтобы предотвратить попадание секретов в ваши git-репозитории. Если коммит, сообщение коммита или любой коммит в истории слияния --no-ff соответствует одному из настроенных вами запрещённых шаблонов регулярных выражений, то коммит отклоняется.

Установка git-secrets

git-secrets должен быть помещён в вашу переменную PATH, чтобы git мог его найти при выполнении git secrets.

*nix (Linux/macOS)


Вы можете использовать цель ``install`` из предоставленного Makefile для установки ``git secrets`` и man-страницы.
Вы можете настроить путь установки с помощью переменных PREFIX и MANPREFIX.

::

    make install

Windows
~~~~~~~

Запустите предоставленный PowerShell-скрипт ``install.ps1``. Он скопирует необходимые файлы
в каталог установки (по умолчанию ``%USERPROFILE%/.git-secrets``) и добавит
этот каталог в переменную PATH текущего пользователя.

::

    PS > ./install.ps1

Homebrew (для пользователей macOS)

::

brew install git-secrets

.. warning::

**Вы ещё не закончили! Вы ОБЯЗАТЕЛЬНО должны установить git-хуки для каждого репозитория, в котором
хотите использовать** ``git secrets --install``.

Вот краткий пример того, как обеспечить сканирование git-репозитория на наличие секретов при каждом коммите::

cd /path/to/my/repo
git secrets --install
git secrets --register-aws

Расширенная настройка

Добавьте шаблон конфигурации, если хотите добавлять хуки во все репозитории, которые вы инициализируете или клонируете в будущем.

::

git secrets --register-aws --global

Добавьте хуки во все ваши локальные репозитории.

::

git secrets --install ~/.git-templates/git-secrets
git config --global init.templateDir ~/.git-templates/git-secrets

Добавьте собственные поставщики для сканирования учётных данных безопасности.

::

git secrets --add-provider -- cat /path/to/secret/file/patterns

Перед публикацией репозитория

С помощью git-secrets также можно сканировать репозиторий, включая все ревизии:

::

git secrets --scan-history

Параметры

Режимы работы


Каждый из этих параметров должен быть первым в командной строке.

``--install``
    Устанавливает git-хуки для репозитория. После установки хуков для git-репозитория
    коммиты и не-ff слияния для этого репозитория будут предотвращены от
    добавления секретов.

``--scan``
    Сканирует один или несколько файлов на наличие секретов. Если файл содержит секрет,
    совпавший текст из сканируемого файла будет выведен в stdout, и
    скрипт завершится с ненулевым статусом. Каждая совпавшая строка будет выведена с
    именем файла, который совпал, двоеточием, номером совпавшей строки,
    двоеточием и затем текстом совпавшей строки. Если файлы не указаны,
    сканируются все файлы, возвращаемые ``git ls-files``.

``--scan-history``
    Сканирует репозиторий, включая все ревизии. Если файл содержит секрет,
    совпавший текст из сканируемого файла будет выведен в stdout, и
    скрипт завершится с ненулевым статусом. Каждая совпавшая строка будет выведена с
    именем файла, двоеточием, номером строки, двоеточием и затем текстом строки.

``--list``
    Выводит конфигурацию ``git-secrets`` для текущего репозитория или в глобальной
    конфигурации git.

``--add``
    Добавляет запрещённый или разрешённый шаблон.

``--add-provider``
    Регистрирует поставщика секретов. Поставщики секретов — это исполняемые файлы, которые
    при вызове выводят запрещённые шаблоны, которые ``git-secrets`` должен
    считать запрещёнными.

``--register-aws``
    Добавляет общие шаблоны AWS в git-конфиг и гарантирует, что ключи,
    присутствующие в ``~/.aws/credentials``, не будут обнаружены ни в одном коммите.
    Добавляются следующие проверки:

    - Идентификаторы ключей доступа AWS через ``(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}``
    - Ключи API Amazon Bedrock. Долгоживущие через ``ABSK[A-Za-z0-9+/]{109,}=*`` и краткосрочные через ``bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29t``
    - Назначения секретных ключей доступа AWS через ":" или "=" с возможными кавычками
    - Назначения идентификаторов аккаунта AWS через ":" или "=" с возможными кавычками
    - Разрешённые шаблоны для примеров ключей AWS (``AKIAIOSFODNN7EXAMPLE`` и
      ``wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY``)
    - Известные учётные данные из ``~/.aws/credentials``

    .. note::

        Хотя шаблоны, зарегистрированные этой командой, должны обнаруживать большинство
        экземпляров учётных данных AWS, эти шаблоны **не гарантируют** их обнаружения
        **всех**. ``git-secrets`` следует использовать как дополнительное средство
        защиты — вам всё равно нужно проявлять должную осмотрительность, чтобы
        не допустить добавления учётных данных в репозиторий.

``--aws-provider``
    Поставщик секретов, который выводит учётные данные, найденные в INI-файле. Вы можете
    дополнительно указать путь к INI-файлу.


Параметры для ``--install``

-f, --force Перезаписывает существующие хуки, если они присутствуют.

<целевой-каталог> При указании устанавливает git-хуки в заданный каталог. Если <целевой-каталог> не указан, используется текущий каталог.

Если указанный ``<целевой-каталог>`` не находится в git-репозитории,
каталог будет создан, а хуки будут помещены в
``<целевой-каталог>/hooks``. Это может быть полезно для создания каталогов шаблонов git,
используемых с ``git init --template <целевой-каталог>``.

Вы можете выполнить ``git init`` в репозитории, который уже был инициализирован.
Из `документации git init <https://git-scm.com/docs/git-init>`_:

    Из документации git: Выполнение ``git init`` в существующем репозитории
    безопасно. Он не перезаписывает уже существующие файлы.
    Основная причина повторного запуска ``git init`` — применить вновь добавленные
    шаблоны (или переместить репозиторий в другое место, если указан
    ``--separate-git-dir``).

Устанавливаются следующие git-хуки:

1. ``pre-commit``: Используется для проверки, не содержат ли файлы, изменённые в коммите,
   запрещённых шаблонов.
2. ``commit-msg``: Используется для определения, содержит ли сообщение коммита
   запрещённые шаблоны.
3. ``prepare-commit-msg``: Используется для определения, приведёт ли коммит слияния
   к истории, содержащей запрещённый шаблон в какой-либо точке.
   Обратите внимание, что этот хук вызывается только для не-ff слияний.

.. note::
Скачать инструмент