V4: パッケージ管理要件
管理目標
再利用を目的としたオープンソースコンポーネントは多くの場合エコシステム固有のパッケージリポジトリに公開されます。 一元化されたリポジトリは Maven, .NET, NPM, Python など多くのビルドシステムに存在します。 さらに組織内部のリポジトリではファーストパーティコンポーネントの再利用や信頼できるサードパーティコンポーネントへのアクセスを提供するものがあります。
パッケージマネージャは多くの場合ビルドプロセス中に呼び出されます。コンポーネントバージョンを解決し、リポジトリからコンポーネントを取得します。
パッケージマネージャと一元化されたリポジトリを使用することには、ビジネス、技術、セキュリティの面で大きなメリットがありますが、攻撃者の標的となることも少なくありません。 ベストプラクティスを実施することでソフトウェアサプライチェーンの危殆化のリスクを劇的に減らすことができます。
検証要件
#
説明
L1
L2
L3
4.1
バイナリコンポーネントはパッケージリポジトリから取得している
✓
✓
✓
4.2
パッケージリポジトリのコンテンツはオープンソースコンポーネントの信頼できる起点と一致している
✓
✓
✓
4.3
パッケージリポジトリは強力認証を必要としている
✓
✓
4.4
パッケージリポジトリは多要素認証コンポーネント発行をサポートしている
✓
✓
4.5
パッケージリポジトリコンポーネントは多要素認証で発行されている
✓
4.6
パッケージリポジトリはセキュリティインシデントレポートをサポートしている
✓
✓
4.7
パッケージリポジトリはセキュリティインシデントレポートを自動化している
✓
4.8
パッケージリポジトリはセキュリティ問題を発行者に通知している
✓
✓
4.9
パッケージリポジトリはセキュリティ問題をユーザーに通知している
✓
4.10
パッケージリポジトリはバージョン管理で特定のソースコードにコンポーネントバージョンを関連付ける検証可能な方法を提供している
✓
✓
4.11
パッケージリポジトリはコンポーネント更新時に監査可能性を提供している
✓
✓
✓
4.12
パッケージリポジトリはパッケージを本番リポジトリに公開するためにコード署名を必要としている
✓
✓
4.13
パッケージマネージャはリモートリポジトリからパッケージを取得する際にパッケージの整合性を検証している
✓
✓
✓
4.14
パッケージマネージャはファイルシステムからパッケージを取得する際にパッケージの整合性を検証している
✓
✓
✓
4.15
パッケージリポジトリはすべての対話に TLS の使用を強制している
✓
✓
✓
4.16
パッケージマネージャはリポジトリへの TLS 証明書チェーンを妥当性確認しており、妥当性確認が失敗した場合には安全に失敗している
✓
✓
✓
4.17
パッケージリポジトリはコンポーネントを公開する前に静的コード解析を要求または実行しており、他の人が結果を利用できるようしている
✓
4.18
パッケージマネージャはコンポーネントコードを実行していない
✓
✓
✓
4.19
パッケージマネージャはパッケージインストールを機械読み取り可能な形式でドキュメント化している
✓
✓
✓
Last updated
Was this helpful?