Что такое расширенная безопасность GitHub?
GitHub имеет множество функций, которые помогают улучшить и поддерживать качество кода. Некоторые из этих функций включены во все планы, такие как граф зависимостей и оповещения Dependabot. Другие предоставляют ограниченные возможности для общедоступных репозиториев, а для расширенных возможностей в приватных репозиториях требуются GitHub Code Security и GitHub Secret Protection.
В этом модуле вы узнаете больше о GitHub Advanced Security и увидите, как выглядит проект с возможностями расширенной безопасности.
Обзор расширенной безопасности GitHub
GitHub возможности расширенной безопасности теперь предоставляются через два основных продукта:
- GitHub Безопасность кода (обнаружение уязвимостей и исправление)
- GitHub Защита секретов (обнаружение и предотвращение секретов)
Вместе эти продукты предоставляют более широкую платформу безопасности, которая выходит за рамки исходного набора функций расширенной безопасности GitHub.
Доступность функций
В следующей таблице приводится сводка о доступности функций безопасности GitHub в разных типах репозиториях и продуктах.
| Особенность | Общедоступный репозиторий | Частный репозиторий | безопасность кода GitHub | защита секретов GitHub |
|---|---|---|---|---|
| Сканирование кода (CodeQL) | Да | Нет | Да | Нет |
| Автоисправление Copilot | Да (ограниченно) | Нет | Да | Нет |
| Проверка зависимостей | Да | Нет | Да | Нет |
| Оповещения Dependabot | Да | Да | Да | Нет |
| Правила автоматической сортировки Dependabot | Нет | Нет | Да | Нет |
| Кампании по безопасности | Нет | Нет | Да | Нет |
| Общие сведения о безопасности | Нет | Нет | Да | Нет |
| Сканирование секретов | Да (базовый) | Нет | Нет | Да |
| Защита от push-уведомлений | Нет | Нет | Нет | Да |
| Пользовательские шаблоны секретов | Нет | Нет | Нет | Да |
Как показано в предыдущей таблице, многие основные функции безопасности, включая сканирование кода, базовое сканирование секретов, проверку зависимостей и оповещения Dependabot, доступны по умолчанию для общедоступных репозиториев на GitHub.com. Для расширенных возможностей для частных и внутренних репозиториев требуется GitHub Enterprise Cloud или GitHub Team с включенной GitHub безопасностью кода и (или) GitHub защита секретов.
GitHub Безопасность кода и защита секретов GitHub предоставляют следующие расширенные возможности для частных и внутренних репозиториев:
- Сканирование кода (CodeQL): Автоматически обнаруживает уязвимости и ошибки в коде, а также поддерживает исправления с помощью ИИ через Copilot Autofix (если функция включена).
- Сканирование секретов: Обнаруживает предоставленные секреты в коде, блокирует утечки с помощью защиты push-уведомлений, поддерживает пользовательские шаблоны секретов и обеспечивает расширенные рабочие процессы оповещения и исправления.
- Проверка зависимостей: Показывает, как изменения в зависимостях влияют на проект, и выделяет уязвимые версии до слияния запросов на включение изменений.
- Обзор безопасности: Обеспечивает видимость состояния безопасности, рисков и оповещений на уровне репозитория.
- Кампании по безопасности: Позволяют организациям группировать, расставлять приоритеты и систематически устранять несколько предупреждений безопасности в разных репозиториях, помогая командам быстрее снижать количество уязвимостей в масштабе всей организации.
Ключевые заметки
GitHub превратился из одного пакета расширенной безопасности GitHub в модульную платформу, состоящую из следующих:
- Безопасность кода GitHub
- Защита секретов GitHub
Другие важные моменты:
- Общедоступные репозитории продолжают получать надежные базовые показатели бесплатных функций безопасности.
- Расширенные функции ориентированы на предотвращение (например, защиту push-уведомлений), автоматизацию и исправление с помощью искусственного интеллекта.
Расширенная безопасность GitHub в жизненном цикле разработки программного обеспечения
Какую роль функции GitHub Advanced Security играют в жизненном цикле разработки программного обеспечения? Сначала рассмотрим базовый сценарий безопасности.
В этом примере показан традиционный подход к безопасности в качестве шлюза , где на этапе проверки качества выполняется один или несколько тестов безопасности. В этом сценарии безопасность часто становится узким местом, которое задерживает доставку программного обеспечения. Многие организации решают эту проблему путем смены безопасности влево.
Теперь рассмотрим тот же жизненный цикл разработки программного обеспечения с помощью GitHub Advanced Security.
В этом сценарии безопасность интегрируется с самого начала с помощью политик безопасности, настроенных во время установки проекта. Разработчики получают отзывы о безопасности на протяжении всего процесса разработки.
- Сканирование кода: Проверяет каждый коммит и слияние на наличие уязвимостей и ошибок в коде.
- Сканирование секретов: Сканирует каждый коммит и слияние на наличие случайно добавленных секретов, таких как токены и приватные ключи.
- Проверка зависимостей: Отслеживает изменения в зависимостях и оценивает их влияние на безопасность проекта, сравнивая манифесты с базами данных известных уязвимостей при каждом запросе на слияние.
Кроме того, обзор безопасности предоставляет администраторам высокоуровневое представление о безопасности организации. Это представление помогает определить репозитории, требующие внимания или исправления.
Так как проверки безопасности выполняются в течение жизненного цикла разработки, потенциальные проблемы определяются и устраняются ранее. Этот подход сокращает узкие места во время проверки качества и сводит к минимуму технический долг перед выпуском программного обеспечения.