검색
← 릴리스 노트

pull_request_target 기본 체크아웃 보안 강화

깃허브 · 동작변경 · 2026.06.18

actions/checkout v7이 pull_request_target에서 포크 PR 코드를 기본적으로 차단합니다.

교안에 영향

pull_request_target에서 포크 PR 체크아웃을 안내하던 예전 글은 기본 차단으로 인해 그대로 따라 하면 동작하지 않을 수 있습니다.

요약

- actions/checkout v7이 일반 제공되며, pull_request_target와 일부 workflow_run에서 포크 PR 코드 체크아웃을 기본 차단합니다. - 포크 PR의 repository, ref, SHA가 특정 패턴과 맞으면 체크아웃이 실패합니다. - 같은 저장소의 PR과 pull_request 이벤트는 이번 변경의 영향을 받지 않습니다. - 필요한 경우 allow-unsafe-pr-checkout 입력으로 보호를 해제할 수 있습니다. - 지원되는 다른 주요 버전들에도 백포트가 적용되지만, v1은 제외됩니다.

바뀐 것

새 기능 1

  • actions/checkout v7이 일반 제공되기 시작했습니다.

개선 3

  • pull_request_target와, workflow_run에서 workflow_run.event가 pull_request* 인 경우에 포크 PR 코드를 기본적으로 가져오지 않도록 했습니다.
  • 포크 PR에서 repository가 해당 포크를 가리키거나, ref가 refs/pull/number/head 또는 refs/pull/number/merge 와 일치하거나, ref가 head 또는 merge 커밋 SHA로 해석되면 체크아웃을 거부합니다.
  • 포크 PR에서 insecure inputs를 사용한 pull_request_target 체크아웃 예시를 차단합니다.

기타 4

  • 지원 중인 주요 버전에 보안 변경을 백포트하며, floating major tag는 자동으로 반영되고 특정 SHA·minor·patch 고정은 대상이 아닙니다.
  • v1의 actions/checkout에는 이 변경을 적용하지 않습니다.
  • allow-unsafe-pr-checkout 입력으로 이 보호를 명시적으로 해제할 수 있습니다.
  • 이 변경은 fork PR의 head와 merge commit 체크아웃만 막으며, 다른 신뢰할 수 없는 저장소 체크아웃이나 issue_comment 같은 다른 이벤트는 막지 않습니다.

원문 제목 · Safer pull_request_target defaults for GitHub Actions checkout