GitHub가 2026년 11월 2일 공개 저장소의 GitHub Actions 보안 정책 시행일을 조정했습니다. pull_request_target 이벤트의 기본 차단은 당초 11월 2일이 아니라 12월 2일에 시행될 예정입니다. 따라서 지금 갑자기 모든 해당 워크플로가 중단됐다고 이해할 필요는 없지만, 11월 중 두 차례 사전 차단 시험이 있어 미리 점검하는 것이 좋습니다.
Python·FastAPI·Django 프로젝트에서 외부 기여자의 풀 리퀘스트를 자동 검사하거나 라벨을 붙이는 워크플로를 운영한다면 대상 여부를 확인하세요. 공식 공지에 설명된 적용 범위, 점검 순서, 권한 관리 원칙을 정리합니다.
2026년 11월 2일 바뀐 것은 시행일이다
GitHub Changelog에 따르면 기본 차단 적용일은 2026년 12월 2일입니다. 보호 정책 자체가 철회된 것은 아닙니다. GitHub는 기본 규칙을 우선 ‘평가 모드(evaluate mode)’로 실행해, 앞으로 차단될 워크플로를 사전에 확인할 수 있도록 하고 있습니다.
보호 대상은 GitHub Free·Team·Enterprise Cloud에 있는 공개(public) 저장소입니다. 비공개·내부 저장소는 해당 기본 규칙의 적용 대상이 아니며, GitHub Enterprise Server도 이번 변경 대상에서 제외됩니다. 이미 적용 가능한 별도 이벤트 정책이 있다면 실제 동작은 해당 정책에 따라 달라질 수 있습니다.
11월 9일·16일 사전 차단 시험: 한국시간으로 언제인가?
첫 번째 일시 차단 시험은 11월 9일 16:00~18:00 UTC, 두 번째는 11월 16일 16:00~18:00 UTC입니다. 한국시간(KST, UTC+9)으로 환산하면 각각 11월 10일 오전 1~3시, 11월 17일 오전 1~3시입니다.
이 시간에 기본 정책에 의해 차단되는 공개 저장소의 해당 이벤트는 워크플로가 실행되지 않고 실패한 실행 기록과 오류 주석을 남길 수 있습니다. 시험이 끝나면 기본 규칙이 다시 평가 모드로 돌아가므로, 그 뒤 정상 실행되는 것을 보고 문제가 해결됐다고 판단하지 마세요.
왜 pull_request_target이 보안 위험이 될까?
일반 pull_request와 달리 pull_request_target은 기본 저장소(base repository)의 컨텍스트에서 실행됩니다. 이 이벤트는 일부 상황에서 저장소 비밀정보(secrets)나 쓰기 권한이 있는 토큰에 접근할 수 있기 때문에, 외부 포크(fork)에서 온 신뢰할 수 없는 코드를 같은 워크플로로 실행하면 위험합니다.
예를 들어 외부 기여자가 제안한 변경 코드를 바로 체크아웃하고, 비밀정보에 접근 가능한 권한으로 빌드·테스트 명령을 실행하는 구조는 피해야 합니다. 단순히 워크플로 이름만 바꿔서는 권한 문제를 해결할 수 없습니다.
Python 프로젝트에서 영향받는 워크플로 확인하기
프로젝트 저장소의 .github/workflows 폴더에서 이벤트 선언을 검색합니다. 로컬 Git 작업 폴더에서는 아래와 같은 읽기 전용 명령으로 확인할 수 있습니다.
git grep -n 'pull_request_target' -- .github/workflows/
검색 결과가 없다면 적어도 현재 추적 중인 워크플로 파일에는 해당 이벤트가 직접 선언돼 있지 않습니다. 결과가 있으면 파일을 열어 on: 항목과 실행 권한, 체크아웃하는 커밋의 출처, secrets 사용 여부를 각각 확인합니다. GitHub Actions의 정책 Insights 화면에서도 평가 결과를 확인할 수 있습니다.
Python 프로젝트에서 통상적인 코드 스타일 검사·테스트만 필요하다면, 신뢰할 수 없는 코드를 제한된 권한으로 검증할 수 있는 이벤트와 권한 구성이 가능한지 검토하세요. 하지만 pull_request로 무조건 바꾸면 자동 라벨링이나 댓글 작성 같은 기능이 달라질 수 있으므로 검증 없이 치환하지 않는 것이 좋습니다.
기본 차단을 무조건 해제해야 할까?
아닙니다. 기존 워크플로에서 pull_request_target이 필요하지 않다면 기본 보호를 유지하는 편이 안전합니다. 꼭 필요한 경우에만 GitHub 공식 문서를 따라 적용 가능한 Actions 이벤트 정책에서 특정 워크플로를 명시적으로 허용하는 방식을 검토하세요.
허용 여부를 결정하기 전에는 최소 권한 GITHUB_TOKEN, 외부 코드 체크아웃 여부, 저장소 비밀정보 노출 가능성을 검토해야 합니다. 처음부터 모든 공개 저장소의 이벤트를 폭넓게 허용하는 방식은 권장하지 않습니다.
실무 체크리스트와 관련 문서
① 이벤트 사용 여부를 검색합니다. ② GitHub의 평가 모드 결과를 확인합니다. ③ 11월 10일·17일 오전 1~3시(KST) 실패 기록을 확인할 담당자를 정합니다. ④ 외부 기여자의 코드를 고권한으로 실행하는 단계가 없는지 검사합니다. ⑤ 12월 2일 이전에 필요한 정책만 최소 범위로 정비합니다.
GitHub의 기존 보안 검사 체계를 함께 이해하려면 GitHub AI Scan과 Python 프로젝트 PR 보안 검사 및 Python 자동화 읽기 안내를 참고할 수 있습니다. AI Scan, CodeQL, Actions 이벤트 정책은 서로 다른 보호 수단이며 어느 하나만으로 모든 위험이 제거되지는 않습니다.
공식 출처
발표일: 2026년 11월 2일. GitHub Changelog: pull_request_target blocked by default December 2. 추가 설명은 GitHub Docs: Securely using pull_request_target를 참고하세요. 이 글의 정책 확인일은 2026년 11월 3일이며, 이후 변경사항이 있을 수 있습니다.