Skip to main content

Исключение папок и файлов из проверки секретов

Можно настроить secret scanning для автоматического закрытия оповещений секретов, найденных в определенных каталогах или файлах, путем настройки secret_scanning.yml файла в репозитории.

Кто может использовать эту функцию?

Владельцы репозитория, владелец организации, руководители безопасности и пользователи с ролью администратора

Возможно, у вас есть причина фиксации секрета в репозитории, например, если вы хотите предоставить поддельный секрет в документации или в примере приложения. В этих сценариях можно быстро закрыть оповещение и задокументируйте причины. Однако могут возникнуть случаи, когда необходимо полностью игнорировать каталог, чтобы избежать создания ложных положительных оповещений в масштабе. Например, у вас может быть монолитное приложение с несколькими интеграциями, содержащими файл фиктивных ключей, которые могут настроить множество ложных оповещений для рассмотрения.

Вы можете настроить secret_scanning.yml файл для автоматического закрытия оповещений, найденных в определенных каталогах из secret scanning, и исключить эти каталоги, включенные в защиту push-уведомлений. Эти оповещения закрыты как "игнорируются конфигурацией".

Исключение каталогов из Уведомления о секретном сканировании для пользователей

  1. На GitHubперейдите на главную страницу репозитория.

  2. Над списком **** файлов выберите раскрывающееся меню , а затем щелкните Создать новый файл.

    Кроме того, можно щелкнуть в представлении дерева файлов слева.

    Снимок экрана: главная страница репозитория с выделением значка "Добавить файл" и значком "плюс", описанным выше, с оранжевым контуром.

  3. В поле имени файла введите .github/secret_scanning.yml".

  4. В разделе Изменить новый файл введите paths-ignore: и следом пути, которые хотите исключить из secret scanning.

    YAML
    paths-ignore:
      - "docs/**"
    

    При этом secret scanning автоматически закрывают оповещения для всего в каталоге docs . Этот пример файла можно использовать в качестве шаблона для добавления файлов и папок, которые вы хотите исключить из собственных репозиториев.

    Вы также можете использовать специальные символы, такие как * фильтрация путей. Дополнительные сведения о шаблонах фильтров см. в синтаксисе рабочего процесса для GitHub Actions.

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    Примечание.

    • Если в paths-ignore имеется более 1000 записей, то secret scanning исключит из проверки только первые 1000 записей.
    • Если secret_scanning.yml размер превышает 1 МБ, secret scanning будет игнорировать весь файл.

Проверка исключения папки из secret scanning

  1. Открытие файла в каталоге, исключенном из проверки секретов
  2. Вставьте предварительно недопустимый секрет или тестовый секрет.
  3. Зафиксируйте изменения.
  4. На GitHubперейдите на главную страницу репозитория.
  5. Под названием репозитория нажмите на Security and quality вкладку. Если вы не видите вкладку « Security and quality» — выберите выпадающее меню и нажмите Security and quality. Не должно быть новых открытых оповещений для секрета, который вы только что ввели в файл.

Лучшие практики

Ниже приведены рекомендации.

  • Минимизация числа исключенных каталогов и максимально точное значение при определении исключений. Это гарантирует, что инструкции максимально понятны и что исключения работают должным образом.
  • Объясняя, почему определенный файл или папка исключены из комментария в secret_scanning.yml файле. Как и в обычном коде, использование комментариев объясняет ваше намерение, что упрощает для других пользователей понимание желаемого поведения.
  • Регулярно просматривая secret_scanning.yml файл. Некоторые исключения могут больше не применяться с течением времени, и рекомендуется сохранить файл чистым и текущим. Использование комментариев, как показано выше, может помочь в этом.
  • Сообщите группе безопасности, какие файлы и папки вы исключили, и почему. Хорошая связь важна для обеспечения того, чтобы все были на одной странице и понимают, почему определенные папки или файлы исключены.