12월 2일부터 GitHub Actions의 pull_request_target 이벤트가 public 저장소에서 기본적으로 차단됩니다.
pull_request_target는 base repository 컨텍스트에서 실행되므로 repository secrets에 접근할 수 있습니다. fork에서 온 untrusted code가 워크플로우에서 실행되면 파이프라인이 침해되거나 secrets이 유출될 수 있습니다. 이 기본 규칙은 이러한 위험을 줄이기 위한 것입니다.
적용 범위: public만, private은 영향 없음
이 변경사항은 다음에 적용됩니다.
- GitHub Free, GitHub Team, GitHub Enterprise Cloud의 public 저장소
- private/internal 저장소는 영향받지 않습니다
- GitHub Enterprise Server는 제외됩니다.
즉, public 저장소를 사용하는 모든 팀이 이 변경을 확인해야 합니다.
brownout 일정: 11월에 두 번 테스트합니다
12월 2일 영구 적용 전에, GitHub은 두 번의 brownout 기간을 설정했습니다.
| 날짜 | 시간 (UTC) | 상태 |
|---|---|---|
| 2026년 11월 9일 | 16:00–18:00 | 첫 번째 brownout |
| 2026년 11월 16일 | 16:00–18:00 | 두 번째 brownout |
각 brownout 동안 기본 규칙에 의해 차단된 pull_request_target 워크플로 시도가 실행 오류 annotation과 함께 실패한 실행을 생성합니다. 워크플로는 실행되지 않습니다. brownout 이후에는 경고를 출력하면서 evaluate mode로 복귀합니다.
대응 방법: 두 가지 옵션
첫 번째 brownout(11월 9일) 전에 다음 중 하나를 선택해야 합니다.
옵션 1: 기본 규칙 유지 (차단)
pull_request_target가 필요한 워크플로가 없다면 변경하지 않아도 됩니다. 기본 규칙이 유지됩니다.
옵션 2: Actions event policy에서 명시적 허용
워크플로가 pull_request_target에 의존한다면 Actions event policy에서 명시적으로 허용해야 합니다.
# insights에서 차단될 워크플로우 확인
# 허용이 필요한 경우:
permissions:
actions:
write # 또는 appropriate scope
# workflow file targeting으로 특정 워크플로우만 허용
workflows 실행 제어 문서에서 정책 구성 방법을 확인할 수 있습니다.
AI 에이전트 PR 처리 시 특별 주의사항
AI 에이전트가 생성한 PR을 자동으로 처리하는 CI/CD 파이프라인을 사용하는 경우 주의해야 할 사항:
- fork에서 온 코드: AI 에이전트가 생성한 PR의 코드는 fork에 있습니다.
pull_request_target는 base repository의 secrets에 접근하므로, fork 코드가 secrets에 접근할 수 있습니다. - 자동 병합 위험: AI 에이전트가 생성한 PR을 자동으로 테스트하고 병합하는 워크플로가
pull_request_target를 사용하는 경우, brownout 기간에 실패할 수 있습니다. - audit 체크리스트:
pull_request_target를 사용하는 워크플로가 public 저장소에 있는지 확인- fork 코드가 repository secrets에 접근할 수 있는지 검토
- brownout 기간에 영향을 받는 워크플로를 식별
- workflow file targeting으로 허용할 워크플로 결정
개발자에게 주는 교훈
이 변경사항을 평가할 때 확인해야 할 것들:
- 적용 대상 확인: public 저장소만 해당. private 저장소와 Enterprise Server는 영향 없음.
- brownout 일정 확인: 11월 9일과 16일 UTC 16:00-18:00에 영향을 받는 워크플로를 테스트.
- Insights 활용: 차단될 워크플로우를 Insights에서 확인할 수 있습니다.
- workflow file targeting: 특정 워크플로우만 허용하려면 workflow file targeting을 사용하세요. 전체 저장소를 허용하는 것이 아닙니다.
- AI 에이전트 워크플로우: AI 에이전트가 생성한 PR을 처리하는 워크플로가
pull_request_target를 사용하는지 반드시 확인하세요.
이 변경사항은 GitHub의 보안 개선 방향을 보여줍니다. fork에서 온 코드와 base repository의 높은 권한이 결합되는 것을 기본으로 차단하는 것입니다. 12월 2일 이전에 영향을 받는 워크플로를 확인하고 대응하세요.