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

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

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

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

**Внедрение средств управления зависимостями, ориентированных на безопасность**

* Используйте и настройте средства, которые сканируют зависимости для уязвимостей и автоматически предлагают обновления.
* Убедитесь, что эти средства интегрированы в конвейер CI/CD для непрерывного мониторинга и обновления.
* Настройте процессы для выполнения семантического управления версиями, чтобы избежать критических изменений.

**Выполнение регулярных проверок уязвимостей и аудита**

* Запланируйте регулярные аудиты зависимостей и проверки зависимостей, чтобы определить устаревшие или уязвимые зависимости.

**Автоматизация управления исправлениями безопасности**

* Настройте средства управления зависимостями для автоматического применения исправлений безопасности.
* Настройте автоматические запросы на вытягивание критически важных обновлений системы безопасности, чтобы их можно было быстро проверить и объединить.

**Принудительное применение политик для использования зависимостей**

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

**Интеграция тестирования безопасности в CI/CD**

* Включите средства тестирования безопасности в конвейер CI/CD.
* Убедитесь, что обновления зависимостей автоматически проверяются на соответствие требованиям безопасности.

**Использование файлов блокировки и закрепления зависимостей**

* Используйте файлы блокировки (например, `package-lock.json`, `yarn.lock`), `Pipfile.lock`чтобы закрепить зависимости в известных безопасных версиях.
* Регулярно обновляйте и просматривайте эти файлы блокировки, чтобы гарантировать актуальность зависимостей без непредвиденных проблем безопасности.

**Мониторинг рекомендаций по безопасности**

* Подпишитесь на рекомендации по безопасности для языков и платформ, которые вы используете.
* Автоматизируйте интеграцию помощников в рабочий процесс разработки, чтобы оставаться в курсе новых уязвимостей.
* Следите за панелями мониторинга, предоставляемыми средствами управления зависимостями.
* Помните о критических обновлениях, особенно исправлениях для системы безопасности и приоритете их.

**Управление версиями и управление изменениями**

* Отслеживайте изменения зависимостей в системе управления версиями (например, с помощью автоматических запросов на вытягивание).

* Проводите регулярные проверки кода, чтобы обновления не вводят новые уязвимости.

**Обучение и осведомленность**

* Узнайте о важности обеспечения безопасности и актуальности зависимостей в команде разработчиков и операций.
* Предоставление обучения эффективному использованию средств управления зависимостями и безопасности.

**План реагирования на уязвимости**

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

Следуя этим методикам, вы можете значительно снизить риск, вызванный устаревшими и уязвимыми зависимостями, и поддерживать более безопасную среду.

## Как GitHub может помочь

GitHub предоставляет функции безопасности, помогающие поддерживать зависимости:

**Граф зависимостей**: отслеживает зависимости вашего проекта и выявляет уязвимости. См [. раздел AUTOTITLE](/ru/code-security/concepts/supply-chain-security/dependency-graph).

**Проверка зависимостей**: Обнаруживает небезопасные зависимости в pull-запросах до их слияния. Кроме того, может завершиться сбой Действие проверки зависимостей проверок и при необходимости в правилах защиты ветви предотвратить объединение запросов на вытягивание, которые представляют уязвимости. См [. раздел AUTOTITLE](/ru/code-security/concepts/supply-chain-security/dependency-review).

\*\*
Dependabot
\*\*: автоматически сканирует уязвимости, создает оповещения и открывает запросы на вытягивание для обновления уязвимых или устаревших зависимостей. Вы можете группировать несколько обновлений в отдельные pull requests, чтобы упростить отзывы. См [. раздел AUTOTITLE](/ru/code-security/concepts/supply-chain-security/dependabot-alerts).

\*\*
GitHub Advisory Database
\*\*: предоставляет рекомендации по безопасности, которые обеспечивают обнаружение уязвимостей в power Dependabot. См. [База данных GitHub Advisory](/ru/code-security/concepts/vulnerability-reporting-and-management/github-advisory-database).

**Частная отчетность о уязвимости**: позволяет сопровождающим получать информацию, обсуждать и исправлять отчёты об уязвимостях в приватном режиме до публичного раскрытия.

**Обзор безопасности**: отображает состояние безопасности вашей организации с панелями мониторинга для репозиториев с рисками, тенденций оповещений и состояния включения функций. См [. раздел AUTOTITLE](/ru/code-security/concepts/security-at-scale/security-overview).

Для полного руководства по цепочкам поставок см. [Защита сквозной цепочки поставок](/ru/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview).