Skip to main content
Skip to content

О анализе доступности оповещений Dependabot

Reachability analysis помогает определить, Dependabot alerts может ли приложение достичь уязвимого кода зависимостей.

Кто может использовать эту функцию?

Reachability analysis доступен для общедоступных, частных и внутренних репозиториев, GitHub Enterprise Cloudвключая предприятия с Место расположения данных. GitHub Code Security Лицензия не требуется.

Наличие уязвимой зависимости не всегда означает, что приложение вызывает затронутую функцию. Reachability analysis добавляет вердикт в каждое Dependabot оповещение, чтобы помочь вам определить приоритеты исправлений на основе использования зависимостей в коде.

Примечание.

Reachability analysis для Dependabot alerts и подлежит Публичный предварительный просмотр изменению.

Как работает reachability analysis

Reachability analysis анализирует открытое окно Dependabot alerts , чтобы определить, может ли ваше приложение вызывать уязвимые функции. Он использует CodeQL статический анализ и курированные данные, определяющие затронутые функции, для поиска путей вызова из кода в эти функции.

Каждое проанализированное Dependabot оповещение получает вердикт , который помогает решить свой приоритет. Где доступно, доказательства пути вызова показывают, как ваш код может достичь уязвимой функции, чтобы понять, почему оповещение имеет значение для вашего приложения.

Требования и поддерживаемые экосистемы

Reachability analysis поддерживает репозитории JavaScript, использующие репозитории npm, pnpm или Yarn и TypeScript. В репозитории должен быть файл блокировки, например package-lock.json, pnpm-lock.yamlили yarn.lock.

Dependabot alerts необходимо включить для reachability analysis работы.

Анализ выполняется в GitHubразмещенных модулях выполнения. Раннеры с собственным хостингом не поддерживаются.

Общие сведения о вердиктах доступности

Используйте доступность вместе с серьезностью, оценками оценки прогнозов эксплойтов (EPSS), областью зависимостей и связью зависимостей, чтобы решить, какие оповещения следует устранить первым.

ВердиктMeaningРекомендуемый ответ
ДоступныйАнализ нашел по крайней мере один путь вызова из кода репозитория в уязвимую функцию.Определите приоритет исправления и просмотрите доказательства пути вызова.
Потенциально достижимыйАнализ не мог исключить вызов уязвимой функции. Эта неопределенность не вызвана неподдерживаемой экосистемой или неудачной проверкой. В репозиториях с несколькими манифестами вызовы, найденные только за пределами каталога манифеста, считаются потенциально доступными.Определите приоритет исправления вместе с доступными оповещениями.
НедостижимоАнализ завершен и не обнаружил вызов из кода приложения к уязвимой функции.Предоставьте оповещению более низкий приоритет, но не закрывайте его исключительно из-за этого вердикта.
Доступность недоступнаАнализ не удалось предоставить вердикт, например, так как оповещение предназначено для неподдерживаемой экосистемы или сбоя сканирования или истечения времени ожидания.Выполнение оповещения с помощью других сигналов о приоритете.

Использование доступности для определения приоритетов, а не закрытия, оповещений

Reachability analysis добавляет сведения в существующие открытые оповещения, чтобы помочь вам определить приоритет исправления. Он не находит новые уязвимости или автоматически закрывает или закрывает оповещения.

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

Доступность не является эксплуатируемостью

Доступная функция не обязательно используется. Доступность показывает, что путь вызова существует, а не то, что злоумышленник может использовать его для использования уязвимости.

Аналогичным образом вердикт "Неустранимый" не гарантирует, что зависимость безопасна. Продолжайте просматривать эти оповещения и обновлять зависимости.

Доказательства пути вызова

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

Оповещение может отображать до пяти примеров путей. Эти примеры не являются исчерпывающим списком всех возможных путей вызова.

Понимание того, когда результаты обновляются

Включение reachability analysis запускает начальную проверку открытых оповещений репозитория. После этого сканирование выполняется каждые 24 часа, пока репозиторий имеет открытые оповещения. Каждая проверка охватывает все открытые оповещения.

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

Во время Публичный предварительный просмотрне удается запланировать или активировать проверки по запросу.

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

Выставление счетов и использование во время Публичный предварительный просмотр

Reachability analysis свободен во время Публичный предварительный просмотр. Его проверки не используют оплачиваемые минуты GitHub Actions .

Известные ограничения

Reachability analysis имеет следующие ограничения во время Публичный предварительный просмотр:

  • Поддержка экосистемы: оповещения за пределами поддерживаемых экосистем JavaScript и TypeScript не поддерживаются.
  • Большие репозитории и монорепосы: некоторые репозитории могут достичь трехчасового ограничения сканирования или столкнуться с ограничениями ресурсов, оставляя результаты недоступными.

Использование вердиктов через REST API

Dependabot alerts REST API предоставляет вердикты для reachability analysis. С помощью репозитория, организации и корпоративных конечных точек оповещений можно получить вердикты. См . раздел AUTOTITLE.

Дальнейшие действия

Сведения о включении reachability analysis репозитория см. в разделе Настройка анализа доступности для оповещений Dependabot.