Сведения о графе зависимостей
Общие сведения о граф зависимостей см. в разделе Сведения о графе зависимостей.
Создание граф зависимостей
Если граф зависимостей включена, он сканирует репозиторий для файлов манифестов, используемых экосистемами языковых пакетов программирования. Когда он находит один из поддерживаемых файлов манифеста, он анализирует файл и создает представление его содержимого, включая имя и версию каждого пакета. Это называется статическим анализом.
Некоторые файлы явно определяют, какие версии используются для всех прямых и всех косвенных зависимостей. Они блокируют версии пакетов для тех, кто входит в сборку, и позволяют Dependabot находить уязвимые версии как в прямых, так и косвенных зависимостях. Если вы используете эти форматы, граф зависимостей более точны, поэтому они перечислены в столбце "Рекомендуемые файлы" в таблице "Поддерживаемые экосистемы пакетов". См. раздел "Поддерживаемые экосистемы пакетов".
Экосистемы пакетов, поддерживаемые с помощью действий отправки зависимостей
Помимо статического анализа и автоматической отправки граф зависимостей можно использовать API отправки зависимостей для добавления зависимостей во время сборки в граф зависимостей или добавления зависимостей от диспетчеров пакетов и экосистем вашего выбора в граф зависимостей, даже если экосистема не находится в таблице "Поддерживаемые экосистемы пакетов". Сведения о зависимости от этих отправленных зависимостей в свою очередь будут передаваться в Dependabot updates и Dependabot alerts.
Зависимости, отправленные в проект с помощью API отправки зависимостей показывают, какой детектор использовался для их отправки и когда они были отправлены. Дополнительные сведения о API отправки зависимостейсм. в разделе Использование API отправки зависимостей.
Поддерживаемые экосистемы пакетов
Диспетчер пакетов | Языки | Статические транзитивные зависимости | Автоматическая отправка зависимостей | Рекомендуемые файлы | Дополнительные файлы |
---|---|---|---|---|---|
Груз | Rust | Cargo.lock | Cargo.toml | ||
Composer | PHP | composer.lock | composer.json | ||
NuGet | Языки .NET (C#, F#, VB), C++ | .csproj , , .vbproj``.nuspec , .vcxproj``.fsproj | packages.config | ||
Рабочие процессы GitHub Actions | YAML | .yml , .yaml | |||
Модули Go | Go | go.mod | |||
Gradle | Java | ||||
Maven | Java, Scala | pom.xml | |||
npm | JavaScript | package-lock.json | package.json | ||
pip | Python | requirements.txt , pipfile.lock | pipfile , setup.py | ||
pnpm | JavaScript | pnpm-lock.yaml | package.json | ||
паб | Dart | pubspec.lock | pubspec.yaml | ||
Poetry | Python | poetry.lock | pyproject.toml | ||
RubyGems | Ruby | Gemfile.lock | Gemfile , *.gemspec | ||
Swift диспетчер пакетов | Swift | Package.resolved | |||
Yarn | JavaScript | yarn.lock | package.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).