跳过主内容

安全咨询

安全咨询是报告安全漏洞信息的一种方式。Pub 使用 GitHub Advisory Database 发布 Dart 和 Flutter 包的安全咨询。

要在 GitHub 仓库中创建安全咨询,请使用 GitHub 的安全咨询报告机制,具体操作请参阅 GitHub 文档中的 创建仓库安全咨询。首先,您需要创建一份安全咨询草稿,该草稿将由 GitHub 审核并录入到中央安全咨询数据库中。

pub 客户端中的安全咨询

#

pub 客户端会在依赖解析时显示安全咨询。例如,运行 dart pub get 时,您将看到以下输出

dart pub get
Resolving dependencies...
http 0.13.0 (affected by advisory: [^0], 1.2.0 available)
Got dependencies!
Dependencies are affected by security advisories:
  [^0]: https://github.com/advisories/GHSA-4rgh-jx4f-qfcq

如果解析识别出安全咨询,Dart 团队建议您访问链接并查看咨询内容。如果您评估认为该漏洞会影响您的包,强烈建议您考虑升级到不受该漏洞影响的依赖版本。

忽略安全咨询

#

如果某个安全咨询与您的应用不相关,您可以通过将安全咨询标识符添加到包的 pubspec.yaml 文件中的 ignored_advisories 列表中来抑制警告。例如,以下配置会忽略 GHSA 标识符为 GHSA-4rgh-jx4f-qfcq 的安全咨询

yaml
name: myapp
dependencies:
  foo: ^1.0.0
ignored_advisories:
 - GHSA-4rgh-jx4f-qfcq

ignored_advisories 列表仅影响根包。您依赖项中忽略的安全咨询不会影响您自己包的依赖解析。