# Подвержение уязвимостям в вашем коде и зависимости

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

## Риски неустранённых уязвимостей

Ваша организация сталкивается с уязвимостями как в коде, который вы пишете и поддерживаете, так и в открытый код или сторонних зависимостях, которые использует ваш код. Оценка вашей уязвимости крайне важна, если вы хотите предотвратить:

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

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

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

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

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

Регулярная оценка уязвимости помогает выявлять риски на раннем этапе и расставлять приоритеты в устранении.

## Способы мониторинга ваших репозиториев на наличие уязвимого кода

* **Code scanning** Автоматически отслеживает код вашего проекта на наличие уязвимостей. Когда в pull request-запросе обнаружена проблема с безопасностью, он создаёт оповещение с предложением автофикса для устранения уязвимости. Это снижает барьер для разрешения и помогает обеспечить безопасность вашего проекта. См [. раздел AUTOTITLE](/ru/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning).

* **Dependabot** Автоматически отслеживает зависимости вашего проекта на наличие уязвимостей и устаревших пакетов. При обнаружении проблемы безопасности или новой версии он создает запросы на вытягивание для обновления затронутых зависимостей, помогая быстро устранять риски безопасности и обновлять программное обеспечение. Это сокращает усилия вручную и помогает обеспечить безопасность проекта. См [. раздел AUTOTITLE](/ru/code-security/tutorials/secure-your-dependencies/dependabot-quickstart).

GitHub предоставляет комплексный Dependabot набор метрик, которые помогут вам отслеживать, расставлять приоритеты и устранять эти риски во всех хранилищах вашей организации. См [. раздел AUTOTITLE](/ru/code-security/concepts/supply-chain-security/dependabot-alert-metrics).

## Снижение уязвимости организации

Снижение уязвимости организации требует постоянной прозрачности рисков, прогресса устранения и контроля политики во всех хранилищах.
Dependabot И code scanning метрики обеспечивают такую видимость. Используйте следующие лучшие практики для мониторинга и снижения уязвимости вашей организации:

### Мониторинг метрик уязвимостей для зависимостей

Используйте обзор метрик, чтобы Dependabot получить представление о текущем состоянии уязвимостей зависимостей вашей организации. См [. раздел AUTOTITLE](/ru/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-dependabot-alerts).

* **Приоритет оповещений:** Проверьте количество фильтров открытия Dependabot alerts и использования, таких как серьёзность CVSS, вероятность эксплойта EPSS, доступность патчей, а также проверьте, действительно ли уязвимая зависимость используется в развернутых артефактах. См [Dependabot . фильтры представлений панели мониторинга](/ru/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview).
* **Разбивка на уровне репозитория:** определите, какие репозитории имеют наибольшее количество критически важных или эксплойтируемых уязвимостей.
* **Отслеживание исправления.** Отслеживайте количество и процент оповещений, фиксированных с течением времени, чтобы оценить эффективность управление уязвимостями программы.

### Мониторинг появления новых code scanning оповещений

Используйте режим code scanning оповещений, чтобы получить видимость активности по устранению в pull request-запросах вашей организации. См [. раздел AUTOTITLE](/ru/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-pull-request-alerts).

* **Оповещения в pull requests:** Проверьте, сколько оповещений было обнаружено и объединено в стандартную ветку без разрешения.
* **Самые распространённые правила:** Определите правила, которые часто срабатывают там, где требуется образование разработчиков.
* **Разбивка на уровне репозитория:** Определите, какие репозитории имеют наибольшее количество оповещений в pull request, но при этом объединённые с стандартной веткой.
* **Отслеживание исправления.** Отслеживайте количество и процент оповещений, фиксированных с течением времени, чтобы оценить эффективность управление уязвимостями программы.

### Приоритизируйте усилия по устранению

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

* Приоритизируйте оповещения высокой или критической степени. Для Dependabot alerts, также уделяйте приоритет высоким показателям EPSS и доступным патчам.
* Используйте информацию о разборе репозитория для направления усилий по устранению наиболее рискованных проектов.
* Поощряйте команды разработчиков устранять уязвимости, которые действительно используются в развернутых артефактах, с помощью пользовательских свойств репозитория и использования контекста продакшна. См. [Приоритет оповещений о сканировании кода в Dependabot и с использованием производственного контекста](/ru/code-security/tutorials/secure-your-organization/prioritize-alerts-in-production-code).
* Создавайте кампании безопасности для поощрения и отслеживания устранения приоритетных code scanning оповещений. См. [Создание кампаний безопасности и управление ими](/ru/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns).

### Сообщайте о рисках и прогрессе

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

### Устанавливать и обеспечивать соблюдение политик

* Установите общекорпоративную конфигурацию безопасности, которая будет включать Dependabot и code scanning на всех существующих и новых репозиториях. См [. раздел AUTOTITLE](/ru/code-security/concepts/security-at-scale/organization-security).
* Включите проверку зависимостей для комментирования pull requests во всех репозиториях.
* Создайте общеорганизационный набор правил для защиты стандартной ветки и требуя исправления критических code scanning оповещений перед объединением pull request. См [. раздел AUTOTITLE](/ru/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization).
* Обратитесь к администраторам репозитория, чтобы включить автоматические обновления системы безопасности по возможности. См [. раздел AUTOTITLE](/ru/code-security/concepts/supply-chain-security/dependabot-security-updates).

### Оценить влияние оповещений

* Регулярно проверяйте, как Dependabot и code scanning оповещения помогают блокировать уязвимости безопасности при входе в вашу кодовую базу.
* Используйте исторические данные для демонстрации значения упреждающего управления зависимостями.