CodeQL 2.26.3 이후: merge_group 워크플로의 신뢰 경계를 다시 읽는 법

테크
조회 5

GitHub는 8월 19일 CodeQL 2.26.3에서 GitHub Actions 분석이 merge_group 이벤트의 신뢰되지 않은 데이터를 인식하도록 개선됐다고 알렸습니다. 이 변화는 알림 수를 맞히는 이야기가 아니라, merge queue에서 어떤 입력이 권한 있는 단계까지 이어지는지 다시 확인할 계기입니다.

CodeQL 2.26.3 이후: merge_group 워크플로의 신뢰 경계를 다시 읽는 법
CodeQL 2.26.3 이후: merge_group 워크플로의 신뢰 경계를 다시 읽는 법

GitHub는 8월 19일 CodeQL 2.26.3에서 GitHub Actions 분석이 merge_group 이벤트의 신뢰되지 않은 데이터를 인식하도록 개선됐다고 알렸습니다. 이 변화는 알림 수를 맞히는 이야기가 아니라, merge queue에서 어떤 입력이 권한 있는 단계까지 이어지는지 다시 확인할 계기입니다.

이벤트 이름보다 데이터 흐름을 먼저 봅니다

확정된 변경을 분리합니다

공식 변경 기록은 merge_group 이벤트의 신뢰되지 않은 데이터 인식과 여러 Actions 보안 쿼리의 모델링 개선을 명시합니다. 이 글은 특정 저장소에 취약점이 있다는 뜻이 아니라, 분석 결과의 전제를 검토하자는 제안입니다.

merge_group 경로를 따로 그립니다

pull_request와 merge_group이 같은 workflow를 공유한다면 checkout ref, 이벤트 payload, 캐시 키, 토큰 권한이 어떤 값으로 달라지는지 한 장에 적습니다. 재사용 workflow까지 호출 흐름에 포함합니다.

알림의 출발점과 권한 단계를 대조합니다

새 경고는 소스와 privileged context가 같은 trigger에서 왔는지 더 엄밀히 분류할 수 있습니다. 경고를 바로 억제하기보다, 쓰기 권한·배포 자격증명·캐시 쓰기 단계가 저신뢰 입력과 만나는지 확인합니다.

작은 검증으로 운영을 고정합니다

기본 브랜치가 아닌 검증용 경로에서 분석을 재실행하고, 예외 처리의 근거와 재검토 날짜를 남깁니다. 분석 도구 업데이트와 workflow 권한 변경은 분리해 되돌릴 수 있게 운영합니다.

출처

blog.dante.company 원문