CodeQL 2.27.2와 macOS 빌드 추적: OS·Xcode·분석 모드를 함께 확인하기
CI 빌드가 성공했다고 보안 분석까지 같은 환경에서 성공한다고 볼 수는 없습니다. 10월 9일 GitHub가 공개한 CodeQL 2.27.2 변경에는 언어 분석 개선과 함께 macOS의 빌드 추적 제약이 포함됐습니다. 새 러너 이미지를 선택하기 전에 OS, Xcode, 분석 언어, build mode를 한 묶음으로 기록해야 하는 이유입니다.

공식 변경에서 먼저 읽을 경계
GitHub는 컴파일 언어의 autobuild/manual 모드가 macOS 27에서는 Xcode 버전과 무관하게 지원되지 않고, macOS 26에서도 Xcode 27을 선택하면 지원되지 않는다고 설명합니다. 이 모드에는 최대 macOS 26과 Xcode 26을 사용하라는 안내입니다. 이는 일반 앱 빌드의 모든 실패를 예측하는 규칙이 아니라 CodeQL 추적 분석의 범위입니다. 릴리스 노트의 분석 개선과 이 환경 제약을 함께 읽어야 합니다.
green 빌드와 분석 증거를 분리하세요
작은 팀의 운영 관점에서 필요한 것은 도구 버전 이름보다 재현 가능한 조합입니다. 러너 OS와 실제 선택된 Xcode, CodeQL 버전, 언어, build mode, 분석 대상 commit, 결과 로그·SARIF를 같은 실행에 연결해 두세요. 평소 빌드가 green이어도 대상 언어의 분석이 실행됐는지, 의도한 소스가 포함됐는지 별도 확인해야 합니다. 경고가 0개라는 숫자도 분석 실행 범위를 확인한 뒤 해석하는 편이 안전합니다.
러너 교체 전에 작은 비교 실행
기존 분석 환경에서 기준 실행을 남기고, 새 환경은 별도 작업으로 시험하는 절차를 권합니다. 비밀이나 실제 공격 payload 대신 팀이 소유한 작은 예제·기존 테스트 저장소를 사용하세요. 실행 시간, 데이터베이스 생성 여부, 분석 완료 상태, 결과 형식을 비교하되 실제 증거 없이 성능 개선이나 탐지율 상승을 주장하지 않습니다. 환경 조합이 막히면 보안 검사를 조용히 빼는 대신 지원되는 조합과 책임자를 명확히 남겨야 합니다.
build mode none을 만능 우회로로 보지 않기
공식 글은 macOS에서 none 모드 지원 개선을 진행 중이라고 설명합니다. 이를 모든 언어·모든 프로젝트에서 지금 바로 대체 가능하다는 뜻으로 확대해서는 안 됩니다. 프로젝트가 사용하는 언어의 지원 범위와 현재 설정을 확인하고, 모드를 바꾸면 추출된 코드와 결과를 다시 대조하세요. 새로운 경고는 먼저 변경된 분석기·모델과 실제 코드 문제를 구분해 검토하고, 무조건 숨기거나 곧바로 취약점으로 단정하지 않습니다.
오늘 할 일은 환경 기록표 한 장입니다. 현재 조합의 증거를 확보하고, 바꿀 조합의 제한을 확인한 뒤 작은 실행으로 비교하세요. 여기의 비교·롤백 절차는 운영 제안이며 GitHub가 모든 팀에 강제한 정책이 아닙니다. 커뮤니티 반응이나 추정 벤치마크를 사실 근거로 사용하지 않았습니다.
공식 출처와 확인 범위
2026년 10월 12일 확인. 적용 전 현재 공식 릴리스 노트와 팀 저장소 설정을 다시 대조하세요.