Рекомендации по поддержанию зависимостей
Обновление зависимостей имеет решающее значение для поддержания безопасной среды программного обеспечения. Вот несколько рекомендаций.
**Внедрение средств управления зависимостями, ориентированных на безопасность**
-
Используйте и настройте средства, которые сканируют зависимости для уязвимостей и автоматически предлагают обновления.
-
Убедитесь, что эти средства интегрированы в конвейер CI/CD для непрерывного мониторинга и обновления.
-
Настройте процессы для выполнения семантического управления версиями, чтобы избежать критических изменений.
**Выполнение регулярных проверок уязвимостей и аудита** -
Запланируйте регулярные аудиты зависимостей и проверки зависимостей, чтобы определить устаревшие или уязвимые зависимости.
**Автоматизация управления исправлениями безопасности** -
Настройте средства управления зависимостями для автоматического применения исправлений безопасности.
-
Настройте автоматические запросы на вытягивание критически важных обновлений системы безопасности, чтобы их можно было быстро проверить и объединить.
**Принудительное применение политик для использования зависимостей** -
Реализуйте политики, которые применяют безопасные версии зависимостей.
-
Используйте средства, которые могут блокировать объединение запросов на вытягивание, если они вводят уязвимости или не обновляют уязвимые зависимости.
**Интеграция тестирования безопасности в CI/CD** -
Включите средства тестирования безопасности в конвейер CI/CD.
-
Убедитесь, что обновления зависимостей автоматически проверяются на соответствие требованиям безопасности.
**Использование файлов блокировки и закрепления зависимостей** -
Используйте файлы блокировки (например,
package-lock.json,yarn.lock),Pipfile.lockчтобы закрепить зависимости в известных безопасных версиях. -
Регулярно обновляйте и просматривайте эти файлы блокировки, чтобы гарантировать актуальность зависимостей без непредвиденных проблем безопасности.
**Мониторинг рекомендаций по безопасности** -
Подпишитесь на рекомендации по безопасности для языков и платформ, которые вы используете.
-
Автоматизируйте интеграцию помощников в рабочий процесс разработки, чтобы оставаться в курсе новых уязвимостей.
-
Следите за панелями мониторинга, предоставляемыми средствами управления зависимостями.
-
Помните о критических обновлениях, особенно исправлениях для системы безопасности и приоритете их.
**Управление версиями и управление изменениями** -
Отслеживайте изменения зависимостей в системе управления версиями (например, с помощью автоматических запросов на вытягивание).
-
Проводите регулярные проверки кода, чтобы обновления не вводят новые уязвимости.
**Обучение и осведомленность** -
Узнайте о важности обеспечения безопасности и актуальности зависимостей в команде разработчиков и операций.
-
Предоставление обучения эффективному использованию средств управления зависимостями и безопасности.
**План реагирования на уязвимости** -
У вас есть четкий план реагирования на инциденты при обнаружении уязвимостей в зависимостях.
-
Убедитесь, что команда знает, как быстро устранять и устранять проблемы безопасности.
Следуя этим методикам, вы можете значительно снизить риск, вызванный устаревшими и уязвимыми зависимостями, и поддерживать более безопасную среду.
Как GitHub может помочь
GitHub предоставляет функции безопасности для поддержания зависимостей:
**Граф зависимостей**: отслеживает зависимости вашего проекта и выявляет уязвимости. См [. раздел AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).
**Проверка зависимостей**: Обнаруживает небезопасные зависимости в pull-запросах до их слияния. Кроме того, Действие проверки зависимостей может не проходить проверки и, если это требуется правилами защиты ветвления, предотвращать слияние пулл-запросов, вносящих уязвимости. См [. раздел AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).
**Dependabot**: Автоматически сканирует уязвимости, создаёт оповещения и открывает pull requests для обновления уязвимых или устаревших зависимостей. Вы можете группировать несколько обновлений в отдельные pull requests, чтобы упростить отзывы. См [. раздел AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
**GitHub Advisory Database**: предоставляет рекомендации по безопасности, которые обеспечивают обнаружение уязвимостей Dependabot. См. [АВТОЗАГОЛОВОК](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database).
**Частная отчетность о уязвимости**: позволяет сопровождающим получать информацию, обсуждать и исправлять отчёты об уязвимостях в приватном режиме до публичного раскрытия.
Обзор безопасности: показывает состояние безопасности вашей организации с помощью панелей для репозиториев, находящихся в группе риска, тенденций оповещений и статуса активации функций. См . раздел AUTOTITLE.
Для полного руководства по цепочкам поставок см. Защита сквозной цепочки поставок.