Сведения о графе зависимостей
Граф зависимостей — это сводка файлов манифеста и блокировки, хранящихся в репозитории. Для каждого репозитория отображается зависимости, то есть экосистемы и пакеты, от которых он зависит. GitHub AE не вычисляет сведения о зависимых, репозиториях и пакетах, которые зависят от репозитория.
При отправке в GitHub AE фиксации, которая изменяет или добавляет поддерживаемый манифест или файл блокировки в ветвь по умолчанию, граф зависимостей автоматически обновляется. Сведения о поддерживаемых экосистемах и файлах манифеста см. в разделе Поддерживаемые экосистемы пакетов ниже.
Когда вы создаете запрос на вытягивание, содержащий изменения зависимостей, предназначенные для ветви по умолчанию, GitHub использует граф зависимостей для добавления проверок зависимостей в запрос на вытягивание. Они указывают, содержат ли зависимости уязвимости и если да, то версию зависимости, в которой была исправлена уязвимость. Дополнительные сведения см. в разделе Сведения о проверке зависимостей.
Доступность графа зависимостей
Владельцы предприятия могут настроить Dependabot alerts для предприятия. Дополнительные сведения см. в разделах "Включение Dependabot для предприятия".
Включенные зависимости
Граф зависимостей включает все зависимости репозитория, которые определены в файлах манифеста и блокировки или другим способом, для поддерживаемых экосистем. В том числе:
- Прямые зависимости, явно определенные в файле манифеста или блокировки.
- Косвенные зависимости этих прямых зависимостей, также известные как транзитивные зависимости или подзависимости
Граф зависимостей определяет косвенные зависимости из файлов блокировки.
Дополнительные сведения о том, как GitHub AE помогает понять зависимости в среде, см. в разделе Сведения о безопасности цепочки поставок.
Использование графа зависимостей
Граф зависимостей можно использовать для следующих целей.
- Изучение репозиториев, от которых зависит ваш код. Дополнительные сведения см. в разделе Изучение зависимостей репозитория.
- Просмотр и обновление уязвимых зависимостей для репозитория. Дополнительные сведения см. в разделе Сведения об оповещениях Dependabot.
Поддерживаемые экосистемы пакетов
Рекомендуемые форматы явно определяют, какие версии используются для всех прямых и косвенных зависимостей. При использовании этих форматов график зависимостей будет более точным. Он также отражает текущую настройку сборки и позволяет графу зависимостей сообщать об уязвимостях как в прямых, так и косвенных зависимостях.
| Диспетчер пакетов | Языки | Рекомендуемые форматы | Все поддерживаемые форматы |
| --- | --- | --- | ---| | Груз | Rust | Cargo.lock
| Cargo.toml
, Cargo.lock
| | 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
| | Рабочие процессы GitHub Actions [1] | YAML | .yml
, .yaml
| .yml
, .yaml
| | Модули Go | Перейти | go.mod
| 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.lock``pipfile
, setup.py
[2] | | Python Поэзия | Python | poetry.lock
| poetry.lock
, pyproject.toml
| | RubyGems | Ruby | Gemfile.lock
| Gemfile.lock
, Gemfile
, *.gemspec
| | Yarn | JavaScript | yarn.lock
| package.json
,yarn.lock
|
[1] Рабочие процессы GitHub Actions должны находиться в .github/workflows/
каталоге репозитория для распознавания как манифесты. Любые действия или рабочие процессы, для ссылок на которые используется синтаксис jobs[*].steps[*].uses
или jobs.<job_id>.uses
, будут анализироваться как зависимости. Дополнительные сведения см. в разделе Синтаксис рабочего процесса для GitHub Actions.
[2] Если вы перечисляете зависимости Python в файле setup.py
, то, возможно, нам не удастся проанализировать и перечислить каждую зависимость в вашем проекте.
Примечание. Зависимости рабочих процессов GitHub Actions отображаются в графе зависимостей в целях информирования. В настоящее время для рабочих процессов GitHub Actions оповещения Dependabot не поддерживаются.