**変更不可リリース**とは、公開後にアセットと関連する Git タグを変更できないリリースです。 この種のリリースを使用すると、サプライ チェーン攻撃をブロックすることでセキュリティが強化されます。 攻撃者は次のことはできません。
- 現在のプロジェクト リリースに脆弱性やマルウェアを挿入します。
- 開発者ワークフローを中断する可能性がある資産とタグを変更します。
変更できないリリースで保護されるもの
変更できないリリースを有効にすると、次の保護が適用されます。
-
**Git タグは移動または削除できません**。変更できないリリースが発行されると、関連付けられている Git タグは特定のコミットにロックされ、変更または削除することはできません。 -
**リリースアセットを変更または削除することはできません**:リリースにアタッチされているすべてのファイル (バイナリやアーカイブなど) は、変更または削除から保護されます。
さらに、変更不可リリースを作成すると、リリース構成証明が自動的に生成されます。これは、リリース タグ、コミット SHA、およびリリース アセットを含むリリースに関する、暗号で検証可能なレコードです。 コンシューマーはこの構成証明を使用して、使用しているリリースと成果物が、公開された GitHub リリースと完全に一致することを確認できます。
メモ
不変リリースには、リポジトリの復活攻撃に対する保護が含まれます。 リポジトリを削除し、同じ名前の新しいリポジトリを作成した場合でも、元のリポジトリの変更できないリリースに関連付けられたタグを再利用することはできません。
リリースが変更不可の場合、リリース ページのタイトルの下に " Immutable" が表示されます。
変更できないリリースを発行するためのベスト プラクティス
変更できないリリースを発行するには、次のワークフローを使用することをお勧めします。
- 下書きとしてリリースを作成します。
- 関連付けられているすべてのアセットをドラフト リリースにアタッチします。
- ドラフト リリースを発行します。
これにより、リリースが不変になる前にすべての資産が確実に配置されるため、不変性の制限を回避する必要がなくなります。
次のステップ
リポジトリまたは organization の変更不可リリースを有効にする方法については、「リリースに対する変更の防止」を参照してください。
リリースとローカル アセットが変更されていないことを確認する方法については、「リリースの整合性の検証」を参照してください。