Skip to main content

Рекомендации по поддержанию зависимостей

Рекомендации и рекомендации по поддержанию используемых зависимостей, включая продукты безопасности GitHub.

Рекомендации по поддержанию зависимостей

Обновление зависимостей имеет решающее значение для поддержания безопасной среды программного обеспечения. Вот несколько рекомендаций.

          **Внедрение средств управления зависимостями, ориентированных на безопасность**
  • Используйте и настройте средства, которые сканируют зависимости для уязвимостей и автоматически предлагают обновления.

  • Убедитесь, что эти средства интегрированы в конвейер 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.

Для полного руководства по цепочкам поставок см. Защита сквозной цепочки поставок.