**변경이 불가능한 릴리스**란, 게시 후 자산과 연결된 Git 태그를 변경할 수 없는 릴리스를 말합니다. 이러한 유형의 릴리스를 사용하면 공급망 공격을 차단하여 보안을 강화합니다. 공격자는 다음을 수행할 수 없습니다.
- 현재 프로젝트 릴리스에 취약성 또는 맬웨어를 삽입합니다.
- 개발자 워크플로를 중단시킬 수 있는 자산 및 태그를 변경합니다.
변경할 수 없는 릴리스로 보호되는 항목
변경할 수 없는 릴리스를 사용하도록 설정하면 다음 보호가 적용됩니다.
-
**Git 태그를 이동하거나 삭제할 수 없습니다**. 변경할 수 없는 릴리스가 게시되면 연결된 Git 태그가 특정 커밋에 잠겨 있으므로 변경하거나 제거할 수 없습니다. -
**릴리스 자산을 수정하거나 삭제할 수 없습니다**. 릴리스에 연결된 모든 파일(예: 이진 파일 및 보관 파일)은 수정 또는 삭제로부터 보호됩니다.
또한, 변경이 불가능한 릴리스를 생성하면 릴리스 태그, 커밋 SHA, 릴리스 자산을 포함하는 릴리스의 암호화된 검증 기록인 릴리스 증명이 자동으로 생성됩니다. 소비자는 이 증명을 사용하여 자신이 사용하는 릴리스 및 아티팩트가 게시된 GitHub 릴리스와 정확히 일치하는지 확인할 수 있습니다.
참고 항목
변경할 수 없는 릴리스에는 리포지토리 부활 공격에 대한 보호가 포함됩니다. 리포지토리를 삭제하고 이름이 같은 새 리포지토리를 만드는 경우에도 원래 리포지토리에서 변경할 수 없는 릴리스와 연결된 태그를 다시 사용할 수 없습니다.
릴리스가 변경이 불가능한 경우, 릴리스 페이지의 제목 아래에 " Immutable"이라는 메시지가 표시됩니다.
변경할 수 없는 릴리스를 게시하기 위한 모범 사례
변경할 수 없는 릴리스를 게시하려면 다음 워크플로를 사용하는 것이 좋습니다.
- 릴리스를 초안으로 만들기.
- 연결된 모든 자산을 초안 릴리스에 연결합니다.
- 초안 릴리스를 게시합니다.
이렇게 하면 릴리스가 불변성이 되기 전에 모든 리소스가 준비되어 불변성 제한을 해결하지 않아도 됩니다.
다음 단계
리포지토리 또는 조직에 변경이 불가능한 릴리스를 사용하도록 설정하는 방법을 알아보려면 ���리스 변경 방지을(를) 참조하세요.
릴리스 및 로컬 자산이 변경되지 않도록 하는 방법을 알아보려면 릴리스의 무결성 유효성 검사을(를) 참조하세요.