Skip to main content

Поддерживаемые экосистемы пакетов графа зависимостей

Граф зависимостей поддерживает различные экосистемы.

Сведения о графе зависимостей

Общие сведения о граф зависимостей см. в разделе Сведения о графе зависимостей.

Создание граф зависимостей

Если граф зависимостей включена, он сканирует репозиторий для файлов манифестов, используемых экосистемами языковых пакетов программирования. Когда он находит один из поддерживаемых файлов манифеста, он анализирует файл и создает представление его содержимого, включая имя и версию каждого пакета. Это называется статическим анализом.

Некоторые файлы явно определяют, какие версии используются для всех прямых и всех косвенных зависимостей. Они блокируют версии пакетов для тех, кто входит в сборку, и позволяют Dependabot находить уязвимые версии как в прямых, так и косвенных зависимостях. Если вы используете эти форматы, граф зависимостей более точны, поэтому они перечислены в столбце "Рекомендуемые файлы" в таблице "Поддерживаемые экосистемы пакетов". См. раздел "Поддерживаемые экосистемы пакетов".

Экосистемы пакетов, поддерживаемые с помощью действий отправки зависимостей

Помимо статического анализа и автоматической отправки граф зависимостей можно использовать API отправки зависимостей для добавления зависимостей во время сборки в граф зависимостей или добавления зависимостей от диспетчеров пакетов и экосистем вашего выбора в граф зависимостей, даже если экосистема не находится в таблице "Поддерживаемые экосистемы пакетов". Сведения о зависимости от этих отправленных зависимостей в свою очередь будут передаваться в Dependabot updates и Dependabot alerts.

Зависимости, отправленные в проект с помощью API отправки зависимостей показывают, какой детектор использовался для их отправки и когда они были отправлены. Дополнительные сведения о API отправки зависимостейсм. в разделе Использование API отправки зависимостей.

Поддерживаемые экосистемы пакетов

Диспетчер пакетовЯзыкиСтатические транзитивные зависимостиАвтоматическая отправка зависимостейРекомендуемые файлыДополнительные файлы
ГрузRustCargo.lockCargo.toml
ComposerPHPcomposer.lockcomposer.json
NuGetЯзыки .NET (C#, F#, VB), C++.csproj, , .vbproj``.nuspec, .vcxproj``.fsprojpackages.config
Рабочие процессы GitHub ActionsYAML.yml, .yaml
Модули GoGogo.mod
GradleJava
MavenJava, Scalapom.xml
npmJavaScriptpackage-lock.jsonpackage.json
pipPythonrequirements.txt, pipfile.lockpipfile, setup.py
pnpmJavaScriptpnpm-lock.yamlpackage.json
пабDartpubspec.lockpubspec.yaml
PoetryPythonpoetry.lockpyproject.toml
RubyGemsRubyGemfile.lockGemfile, *.gemspec
Swift диспетчер пакетовSwiftPackage.resolved
YarnJavaScriptyarn.lockpackage.json

Примечание.

  • Если вы перечисляете зависимости Python в setup.py файле, мы не можем анализировать и перечислять все зависимости в проекте.
  • Рабочие процессы GitHub Actions должны находиться в .github/workflows/ каталоге репозитория для распознавания как манифестов. Любые действия или рабочие процессы, для ссылок на которые используется синтаксис jobs[*].steps[*].uses или jobs.<job_id>.uses, будут анализироваться как зависимости. Дополнительные сведения см. в разделе Синтаксис рабочего процесса для GitHub Actions.
  • Dependabot создает только Dependabot alerts для уязвимых данных GitHub Actions, использующих семантическое управление версиями. Вы не получите оповещения для уязвимого действия, использующего управление версиями SHA. Если вы используете GitHub Actions с управление версиями SHA, рекомендуется включить Dependabot version updates для репозитория или организации, чтобы сохранить действия, которые вы использовали до последних версий. Дополнительные сведения см. в разделе [AUTOTITLE и Сведения об оповещениях Dependabot](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates).

Дедупликация манифестов