Что такое расширенная безопасность GitHub?
GitHub имеет множество функций, которые помогают улучшить и поддерживать качество кода. Некоторые из этих функций включены во все планы, такие как граф зависимостей и оповещения Dependabot. Другие выполняются только в ограниченном режиме функциональности в общедоступных репозиториях. Существуют также другие пользователи, требующие лицензии GitHub Advanced Security для запуска в частных репозиториях.
В этом уроке вы узнаете больше о расширенной безопасности GitHub и узнаете, как выглядит проект с GitHub Advanced Security.
Функции расширенной безопасности GitHub
В следующей таблице приведены сведения о доступности функций расширенной безопасности GitHub в общедоступных и частных репозиториях.
| Особенность | Общедоступный репозиторий | Приватный репозиторий без расширенной безопасности | Частный репозиторий с расширенной безопасности |
|---|---|---|---|
| Сканирование кода | Да | Нет | Да |
| Сканирование секретов | Да (только ограниченные функциональные возможности) | Нет | Да |
| Проверка зависимостей | Да | Нет | Да |
| Общие сведения о безопасности | Нет | Нет | Да |
Как описано в предыдущей таблице, все функции расширенной безопасности GitHub, кроме обзора безопасности, включены по умолчанию для всех общедоступных репозиториев в GitHub.com. Для доступа к этим функциям в частных и внутренних репозиториях требуется корпоративная учетная запись GitHub с лицензией GitHub Advanced Security.
Лицензия GitHub Advanced Security предоставляет следующие функции для частных и внутренних репозиториев:
- Сканирование кода: автоматически обнаруживает распространенные уязвимости и ошибки кодирования.
- сканирование секретов: получает оповещения при проверке секретов или ключей, исключает файлы из сканирования и определяет до 100 пользовательских шаблонов.
- проверка зависимостей. Показывает влияние изменений на зависимости и просматривает сведения о любых уязвимых версиях перед слиянием пулл-реквеста.
- Обзор безопасности. Проверяет конфигурацию безопасности и оповещения для организации и определяет репозитории с наибольшим риском.
Расширенная безопасность GitHub в жизненном цикле разработки программного обеспечения
В чём заключается разница, которую возможности расширенной безопасности GitHub вносят в жизненный цикл разработки программного обеспечения? Сначала рассмотрим базовый сценарий безопасности.
В этом примере показан традиционный подход "безопасность как ворота", в котором выполняется один тест безопасности или ряд тестов безопасности на этапе проверки качества. В этом сценарии безопасность обычно оказывается узким местом для доставки программного обеспечения. Такая ситуация — то, что ваша компания хочет исправить, перемещая акцент на безопасность на ранние этапы процесса разработки.
Теперь рассмотрим тот же жизненный цикл разработки программного обеспечения с помощью GitHub Advanced Security.
В этом сценарии безопасность настраивается прямо с самого начала с помощью политик безопасности на этапе конфигурации проекта. Разработчики предупреждают о потенциальных проблемах безопасности на каждом шаге процесса разработки:
- сканирование кода: сканирует каждый коммит и слияние изменений для выявления потенциальных уязвимостей и ошибок программирования.
- сканирование секретов: сканирует каждую фиксацию и слияние на предмет токенов и закрытых ключей, которые были случайно зафиксированы.
- Проверка зависимостей. Отслеживает изменения зависимостей проекта и их влияние на безопасность проекта. Он сравнивает файлы манифеста репозитория с базами данных известных уязвимостей на каждый pull request.
Кроме того, обзор безопасности предлагает администраторам высокоуровневое представление состояния безопасности проекта. Это представление позволяет администраторам определять проблемные репозитории, требующие вмешательства.
Безопасность кода проверяется несколько раз, прежде чем добраться до этапа обеспечения качества, поэтому есть меньше шансов на узкие места прямо перед доставкой, и меньше технического долга.