В разделе Безопасность → Настройки доступно Значение по умолчанию для организации , и для каждого проекта на соответствующей ветке. Каждый проект следует этим настройкам по умолчанию, пока кто-то не задаст для него собственную конфигурацию; Использовать значение по умолчанию возвращает исходные параметры. Владельцы и администраторы могут изменять настройки; участники видят их только в режиме чтения.
Режимы наблюдения и принудительного применения
Каждая мера защиты имеет два отдельных состояния:
- Наблюдение: обнаружение, запись и отображение результатов. Результаты появляются в разделе Безопасность, а
Coroid Securityпроверка в рамках процесса создания запроса на объединение фиксирует их без прерывания процесса. - Принудительное применение: прерывание проверки при наличии ошибок. Изменение, вызывающее появление результата с указанным уровнем серьезности и выше, приводит к сбою проверки, и задачи Coroid не создают запрос на объединение дальше этого этапа.
Для каждой области применения существует три варианта настройки принудительного применения:
| Вариант | Значение |
|---|---|
| Наследовать (значение по умолчанию) | Принудительное применение начинается после прохождения этапа готовности платформы для данной меры защиты. |
| Принудительное применение | То же самое, но явно задано для данной области применения. |
| Только наблюдение | Проверка никогда не завершается с ошибкой, независимо от действий платформы. |
Каждая мера защиты изначально работает в режиме наблюдения. Coroid включает принудительное применение для каждой меры защиты только после прохождения ею этапа готовности: для зависимостей — прохождение тестов покрытия кода и период наблюдения без ложных срабатываний; для правил проверки секретов и кода — калибровка, описанная ниже, и тот же период наблюдения. До этого момента мера защиты, настроенная на режим Наследовать или Принудительное применение, работает в режиме наблюдения, что отражено в настройках. После прохождения этапа готовности все элементы, оставленные в режиме Наследовать, переходят на принудительное применение; те, кто выбрал режим Только наблюдение, продолжают использовать его.
Режим принудительного применения не означает, что "GitHub блокирует слияние". GitHub блокирует слияние только если в репозитории требуется прохождение Coroid Security проверки. Подробнее см.
Разрешения GitHub и проверка безопасности Coroid.
Откалиброванные правила
Проверка утечек секретов и анализ кода применяются только к версиям детекторов, прошедшим калибровку: точность и полнота распознавания на основе набора реального кода и синтетических секретов, частота ложных срабатываний при повторном анализе уже объединенных изменений, каждая зафиксированная ошибка учитывается как критерий успешной работы, а также 14 дней наблюдения без ложных срабатываний.
Новая версия детектора не включает принудительное применение автоматически. Предыдущая утвержденная версия продолжает применять правила, пока новая версия работает в режиме наблюдения рядом с ней, и берет управление на себя только после успешной калибровки. Если ни одна утвержденная версия не может работать, мера защиты с включенным принудительным применением помечается как недоступная, и ее проверка завершается с ошибкой, вместо того чтобы пройти без проверки.
Настройки
| Мера защиты | Переключатель | Настроить |
|---|---|---|
| Уязвимые зависимости | Наблюдение | Принудительное применение; «Применять при уровне серьезности и выше» (значение по умолчанию — высокий) |
| Исправление уязвимых зависимостей | Включить или выключить | «Открывать задачу на исправление при уровне серьезности и выше» (значение по умолчанию — высокий); лимит открытия задач pull request на проект (по умолчанию — 5, максимум — 50); бюджет агентских часов, заданный как значение по умолчанию для организации |
| Утечки секретов | Наблюдение | Принудительное применение. Только для значения по умолчанию организации: блокировка новых секретов и анализ крупнейших изменений. |
| Анализ кода | Наблюдение | Принудительное применение; собственная команда для анализа; список правил |
| Рецензирование безопасности запросов на объединение | Наблюдение | Принудительное применение; «Применять при уровне серьезности и выше» (значение по умолчанию — высокий) |
| Уведомления о безопасности GitHub | Наблюдение | Нет |
| Аудит безопасности | Включить или выключить | Частота: ежедневно, еженедельно (значение по умолчанию) или ежемесячно |
Некоторые меры защиты зависят от других параметров:
- Рецензирование безопасности запросов на объединение требует включенной функции Coroid Review для проекта в разделе Quality Control. Если функция Coroid Review выключена, в строке настроек это указано, и мера защиты не применяется.
- Исправление уязвимых зависимостей для значения по умолчанию организации также включает и выключает встроенную функцию обязательного исправления уязвимостей. Подробнее см. Создание запросов на исправление.
- Аудит безопасности работает согласно вашему плану, если вы не измените настройки: включен для платных тарифов, выключен для тарифа Free. Подробнее см. Аудит безопасности.
Функция безопасности работает в соответствии с настройками раздела Quality Control.
Механизмы защиты Безопасности не зависят от правил Quality Control. Отключение функции anti-slop в разделе Quality Control приводит к выключению соответствующих правил качества, но не к отключению правил проверки кода в Безопасности. При создании запросов на объединение изменений Coroid Security выполняет собственную проверку, независимо от того, опубликована ли в проекте схема доставки ПО.
Настройки сканера берутся из Coroid
Сканеры работают с конфигурацией Coroid, которая формируется на основе этих настроек и исключений, разрешенных в разделе Безопасность; файлы из тестируемых изменений для этого не используются. Изменение, добавляющее или редактирующее настройки сканера (osv-scanner.toml,
.gitleaks.toml, .gitleaksignore, .github/secret_scanning.yml,
.secrets.baseline и аналогичные) проверяются с использованием конфигурации базового коммита и получают security.policy-changed результат проверки. Файл репозитория может предлагать исключение; оно применяется только после того, как владелец или администратор утвердит его в разделе Безопасность. То же правило распространяется и на задачи по исправлению ошибок, создаваемые самим Coroid: агент не может обойти проверку, изменив список исключений.
Настройки привязаны к организации
Раздел security настройки входят в пакет настроек организации вместе с другими политиками качества, так же как и актуальная модель угроз каждого проекта. Исключения, результаты проверок и подтверждающие данные — это результаты работы системы, а не настройки, поэтому они не передаются вместе с настройками. Подробнее см. Переносимость настроек.