Сведения о графе зависимостей
Граф зависимостей — это сводка файлов манифеста и блокировки, хранящихся в репозитории. Для каждого репозитория отображается зависимости, то есть экосистемы и пакеты, от которых он зависит. GitHub AE не вычисляет сведения о зависимых, репозиториях и пакетах, которые зависят от репозитория.
При отправке в GitHub AE фиксации, которая изменяет или добавляет поддерживаемый манифест или файл блокировки в ветвь по умолчанию, граф зависимостей автоматически обновляется. Сведения о поддерживаемых экосистемах и файлах манифеста см. в разделе Поддерживаемые экосистемы пакетов ниже.
Когда вы создаете запрос на вытягивание, содержащий изменения зависимостей, предназначенные для ветви по умолчанию, GitHub использует граф зависимостей для добавления проверок зависимостей в запрос на вытягивание. Они указывают, содержат ли зависимости уязвимости и если да, то версию зависимости, в которой была исправлена уязвимость. Дополнительные сведения см. в статье "Сведения о проверке зависимостей".
Доступность графа зависимостей
Владельцы предприятия могут настроить Dependabot alerts для предприятия. Дополнительные сведения см. в разделах Включение Dependabot для предприятия.
Включенные зависимости
Граф зависимостей включает все зависимости репозитория, которые определены в файлах манифеста и блокировки или другим способом, для поддерживаемых экосистем. В том числе:
- Прямые зависимости, явно определенные в файле манифеста или блокировки.
- Косвенные зависимости этих прямых зависимостей, также известные как транзитивные зависимости или подзависимости
Граф зависимостей определяет косвенные зависимости из файлов блокировки.
Дополнительную информацию о том, как GitHub AE помогает понять зависимости в среде, см. в разделе Сведения о безопасности цепочки поставок.
Использование графа зависимостей
Граф зависимостей можно использовать для следующих целей.
- Изучение репозиториев, от которых зависит ваш код. Дополнительные сведения см. в разделе Изучение зависимостей репозитория.
- Просмотр и обновление уязвимых зависимостей для репозитория. Дополнительные сведения см. в статье Сведения о Dependabot alerts.
Поддерживаемые экосистемы пакетов
Рекомендуемые форматы явно определяют, какие версии используются для всех прямых и косвенных зависимостей. При использовании этих форматов график зависимостей будет более точным. Он также отражает текущую настройку сборки и позволяет графу зависимостей сообщать об уязвимостях как в прямых, так и косвенных зависимостях.
| Диспетчер пакетов | Языки | Рекомендуемые форматы | Все поддерживаемые форматы |
| --- | --- | --- | ---| | Composer php | composer.lock
| composer.json
, composer.lock
| | NuGet | языков .NET (C#, F#, VB), C++ | .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
| .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
, packages.config
| | модулей Go Перейти | go.sum
| go.mod
, go.sum
| | | Maven Java, Scala | pom.xml
| pom.xml
| | | npm | JavaScript package-lock.json
| package-lock.json
, package.json
| | | pip | Python requirements.txt
, pipfile.lock
| requirements.txt
, pipfile
, pipfile.lock
, setup.py
[".] | | Python Poetry | | Python poetry.lock
| poetry.lock
, pyproject.toml
| | | RubyGems | Ruby Gemfile.lock
| Gemfile.lock
, Gemfile
, *.gemspec
| | | Yarn | JavaScript yarn.lock
| package.json
, yarn.lock
|
[‡] Если вы перечисляете зависимости Python в файле setup.py
, то нам, возможно, не удастся проанализировать и перечислить каждую зависимость в вашем проекте.