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"
    

    Примечание.

    • Если записей более 1000 paths-ignoreв , 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 файл. Некоторые исключения могут больше не применяться с течением времени, и рекомендуется сохранить файл чистым и текущим. Использование комментариев, как показано выше, может помочь в этом.
  • Сообщите группе безопасности, какие файлы и папки вы исключили, и почему. Хорошая связь важна для обеспечения того, чтобы все были на одной странице и понимают, почему определенные папки или файлы исключены.