セキュリティ
Dartチームは、Dartおよびそれを使用して作成されたアプリケーションのセキュリティを真剣に受け止めています。このページでは、発見した脆弱性を報告する方法について説明し、脆弱性を導入するリスクを最小限に抑えるためのベストプラクティスをリストします。
セキュリティ哲学
#Dartのセキュリティ戦略は、5つの主要な柱に基づいています。
- 特定 (Identify): コア資産、主要な脅威、および脆弱性を特定することにより、主要なセキュリティリスクを追跡および優先順位付けします。
- 検出 (Detect): 脆弱性スキャン、静的アプリケーションセキュリティテスト、ファジングなどの技術とツールを使用して、脆弱性を検出し特定します。
- 保護 (Protect): 既知の脆弱性を軽減することによってリスクを排除し、ソース脅威から重要な資産を保護します。
- 対応 (Respond): 脆弱性または攻撃を報告、トリアージ、および対応するためのプロセスを定義します。
- 回復 (Recover): インシデントの影響を最小限に抑えて、封じ込めおよび回復するための機能を作成します。
脆弱性の報告
#セキュリティ問題を報告するには、https://g.co/vulnz を使用してください。調整と開示は、dart-lang GitHubリポジトリ(GitHubセキュリティアドバイザリを含む)で行われます。問題の詳細な説明、問題を作成するために実行した手順、影響を受けるバージョン、および問題に対する緩和策を含めてください。Googleセキュリティチームは、g.co/vulnzでの報告から5営業日以内に返信します。
Googleがセキュリティ問題をどのように処理するかについての詳細は、Googleのセキュリティ哲学を参照してください。
既存の課題をセキュリティ関連としてフラグを立てる
#既存の課題がセキュリティ関連であると思われる場合は、https://g.co/vulnz 経由で報告し、報告に課題IDを含めてください。
サポートされているバージョン
#現在、最新の安定版 Dartリリースについては、Dartのバージョンに対するセキュリティアップデートを公開することをお約束します。
期待事項
#セキュリティ問題をP0優先度レベルと同等に扱い、Dart SDKの最新の安定版リリースで見つかった重大なセキュリティ問題に対するベータ版またはパッチ修正をリリースします。dart.devのようなDartウェブサイトで報告された脆弱性にはリリースは必要なく、ウェブサイト自体で修正されます。
Dartにはバグバウンティプログラムはありません。
セキュリティアップデートの受信
#問題と修正リリースによっては、dart-announceメーリングリストにアナウンスが行われます。
ベストプラクティス
#- 最新のDart SDKリリースを常に把握してください。 Dartは定期的に更新されており、これらの更新により、以前のバージョンで発見されたセキュリティ上の欠陥が修正される場合があります。セキュリティ関連のアップデートについては、Dartの変更履歴を確認してください。 
- アプリケーションの依存関係を最新の状態に保ってください。 パッケージ依存関係をアップグレードして、依存関係を最新の状態に保つようにしてください。依存関係の特定のバージョンを固定することは避け、もし固定した場合は、依存関係にセキュリティアップデートがないか定期的に確認し、バージョンピンをそれに応じて更新するようにしてください。