Менеджеры по безопасности приложений (AppSec) часто сталкиваются с большим объёмом оповещений, многие из которых могут не представлять реального риска, поскольку затронутый код так и не попадает в продакшн. Связав контекст рабочей среды с оповещениями, вы можете фильтровать и определять приоритеты уязвимостей, влияющих на артефакты, фактически утвержденные для рабочих сред. Это позволяет вашей команде сосредоточить усилия по исправлению уязвимостей, которые наиболее важны, уменьшая шум и повышая уровень безопасности.
1. Связать артефакты с производственным контекстом
GitHub's linked artifacts page позволяет предоставлять производственный контекст для сборок вашей компании с помощью REST API или партнёрской интеграции. Команды могут использовать этот контекст для расстановки Dependabot приоритетов и code scanning оповещений. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/concepts/supply-chain-security/linked-artifacts).
Чтобы предоставить производственный контекст, вам следует настроить систему так:
-
Обновляйте записи хранения в linked artifacts page каждый раз, когда артефакт продвигается в репозиторий пакетов, одобренный для производства.
-
Обновляйте записи развертывания при развертывании артефакта в производственной среде.
GitHub Обрабатывает эти метаданные и использует их для питания фильтров оповещений, таких как `artifact-registry-url` записи хранения и `artifact-registry` от них, а `has:deployment``runtime-risk` также от записей развертывания. Риски во время выполнения, связанные с записями развертывания, также видны как свойства на отдельных code scanning страницах и Dependabot страницах оповещений.
Для получения дополнительной информации об обновлении записей см. Загрузка данных хранения и развертывания в linked artifacts page.
2. Используйте фильтры производственного контекста
Фильтры производственного контекста доступны во вкладке Security and quality .
- Dependabot просмотр: см. АВТОТИТРЫ.
- Code scanning просмотр: см. АВТОТИТРЫ.
- Обзор кампании безопасности: см. Создание кампаний безопасности и управление ими.
После отображения списка оповещений используйте artifact-registry-url фильтры OR artifact-registry в видах организаций, чтобы сосредоточиться на уязвимостях, затрагивающих артефакты в производстве.
-
Для вашего собственного репозитория артефактов, размещённого по адресу
my-registry.example.com, вы будете использовать:Text artifact-registry-url:my-registry.example.com
artifact-registry-url:my-registry.example.com -
Если вы используете JFrog Artifactory, вы можете использовать
artifact-registryбез дополнительной настройки в GitHub:Text artifact-registry:jfrog-artifactory
artifact-registry:jfrog-artifactory
Вы также можете использовать has:deployment фильтры runtime-risk AND, чтобы сосредоточиться на уязвимостях, которые метаданные развертывания показывают как развертывание или находящиеся под риском уязвимостей во время выполнения. Эти данные заполняются автоматически, если вы подключили MDC. Рассмотрим пример.
-
Чтобы сосредоточиться на оповещениях в развернутом коде, доступном в интернете, вы будете использовать:
Text has:deployment AND runtime-risk:internet-exposed
has:deployment AND runtime-risk:internet-exposed
Вы также можете объединить эти фильтры контекста производства с другими фильтрами, такими как EPSS:
epss > 0.5 AND artifact-registry-url:my-registry.example.com
epss > 0.5 AND artifact-registry-url:my-registry.example.com
3. Устранение оповещений в производственном коде
Теперь, когда вы выявили оповещения, которые подвергают ваш производственный код риску эксплуатации, вам нужно срочно их устранить. По возможности используйте автоматизацию для снижения барьера для устранения процедур.
- Dependabot alerts: Используйте автоматические pull requests для исправлений безопасности. См . раздел AUTOTITLE.
- Code scanning оповещения: Создайте таргетированные кампании с Автофикс второго пилота. См . раздел AUTOTITLE.