メインコンテンツにスキップ

セキュリティアドバイザリ

セキュリティアドバイザリは、セキュリティ脆弱性に関する情報を報告するための手段です。Pub は、Dart および Flutter パッケージのセキュリティアドバイザリを公開するために GitHub Advisory Database を使用しています。

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.yamlignored_advisories リストにアドバイザリ識別子を追加することで、警告を抑制できます。たとえば、次の例は GHSA 識別子 GHSA-4rgh-jx4f-qfcq のアドバイザリを無視します。

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

ignored_advisories リストはルートパッケージにのみ影響します。依存関係で無視されたアドバイザリは、あなた自身のパッケージのパッケージ解決に影響を与えません。