理解表格
依赖项图支持为直接和间接(可传递)依赖项提交数据的不同方法。 请参阅“依赖项图如何识别依赖项”。
下表中:
- 静态可传递依赖项和自动依赖项提交显示支持提交数据的方法。
- 静态可传递依赖项列还指示在该生态系统中,静态分析是否会为依赖包添加
direct``transitive标签。 - 推荐文件列建议使用能够显式定义所有直接和间接依赖项版本的格式。 这些文件将包版本锁定到生成中包含的版本,并使 Dependabot 能够在直接依赖项和间接依赖项中找到易受攻击的版本。
支持的包生态系统
| 程序包管理器 | 语言 | 静态可传递依赖项 | 自动依赖项提交 | 建议的文件 | 其他文件 |
|---|---|---|---|---|---|
| 巴泽尔 | Starlark |
`MODULE.bazel`、`WORKSPACE` |
`MODULE.bazel.lock`、`maven_install.json`、`*.MODULE.bazel` |
| |
| Cargo | 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 | | | | |
| |
| 朱莉娅 | 朱莉娅 | | | Manifest.toml | Project.toml |
| |
| Maven | Java,Scala | | | pom.xml | |
| npm | JavaScript | | | package-lock.json | package.json|
| |
| OpenTofu | HCL | | | .terraform.lock.hcl |
.tf、.tofu |
| |
| pip | Python | | |
requirements.txt、pipfile.lock |
pipfile、setup.py |
| pnpm | JavaScript | | | pnpm-lock.yaml | package.json |
| 酒馆 | Dart | | | pubspec.lock | pubspec.yaml |
| 诗歌 | Python | | | poetry.lock | pyproject.toml |
| RubyGems | Ruby | | | Gemfile.lock |
Gemfile、*.gemspec |
| Swift包管理器 (Swift Package Manager) | Swift | | | Package.resolved | |
| Yarn | JavaScript | | | yarn.lock | package.json |
注意
- 如果在
setup.py文件中列出Python依赖项,则可能无法分析和列出项目中的每个依赖项。 - GitHub Actions 工作流必须位于要识别为清单的存储库的
.github/workflows/目录中。 使用jobs[*].steps[*].uses或jobs.<job_id>.uses语法引用的任何操作或工作流都将被分析为依赖项。 有关详细信息,请参阅“GitHub Actions 的工作流语法”。 - 对于 GitHub Actions,系统仅针对使用语义版本控制(而不是 SHA 版本控制)的操作生成警报。 有关详细信息,请参阅 关于 Dependabot 警报”和“关于 Dependabot 版本更新。
社区维护的生态系统
以下生态系统由其上游社区维护者维护。 GitHub 集成了 Dependabot 及这些生态系统,但不负责直接维护这些生态系统。
| 生态系统 | 由...维护 |
|---|---|
| 朱莉娅 | Julia 社区 |
| OpenTofu | OpenTofu 社区 |
| 酒馆 | 达特社区 |