CodeQL 통합 번들 폐지 예고: 버전보다 먼저 OS·CPU 설치 경로를 점검하기

개발
조회 2

보안 분석 도구의 버전은 올렸는데 설치 파일 이름은 몇 년째 그대로일 수 있습니다. 자체 CI나 사내 미러에서 CodeQL을 내려받는 팀이라면 이제 버전 숫자와 다운로드 대상을 함께 확인할 때입니다.

설치 경로 찾기 → OS·CPU 매핑 → 캐시 분리 → 분석 확인. 자체 CI에 적용할 수 있는 점검 흐름.
설치 경로 찾기 → OS·CPU 매핑 → 캐시 분리 → 분석 확인. 자체 CI에 적용할 수 있는 점검 흐름.

GitHub는 2026년 9월 22일 모든 플랫폼을 묶은 CodeQL 번들의 폐지 계획을 알렸습니다. 이번 글은 공지 내용을 정리하고, 플랫폼별 파일로 바꾸는 작업을 검토 가능한 변경으로 만드는 방법을 제안합니다.

폐지 예고와 현재 장애를 구분하기

공지는 CodeQL CLI 2.27.0부터 codeql-bundle.tar.gz와 codeql-bundle.tar.zst가 deprecated 상태이며 2027년 3월 중순 제거될 예정이라고 설명합니다. 권장되는 대안은 지원 운영체제와 아키텍처에 맞는 플랫폼별 번들입니다.

Linux ARM64 바이너리는 플랫폼별 다운로드에만 포함되며 통합 번들에는 들어가지 않습니다. 그렇다고 모든 기존 CodeQL 워크플로가 오늘부터 실패한다는 뜻은 아닙니다. 먼저 우리 팀이 해당 파일을 직접 받는지 확인해야 합니다.

직접 설치하는 경로부터 찾기

워크플로 YAML만 검색하면 컨테이너 이미지, 부트스트랩 스크립트와 사내 아티팩트 저장소에 숨은 설치 단계를 놓칠 수 있습니다. 다운로드 URL을 만드는 곳과 실제 분석을 실행하는 곳을 연결해 목록을 만들어 보세요.

표에는 실행 환경, OS, CPU 아키텍처, 내려받는 파일, 캐시 위치와 담당자를 적을 수 있습니다. 이 목록은 공식 요구사항이 아니라 팀이 누락을 줄이기 위한 운영 제안입니다. 비밀 토큰이나 내부 접속 주소를 공개 이슈에 붙일 필요는 없습니다.

OS 이름만으로 파일을 고르지 않기

같은 Linux라도 x86-64와 ARM64는 다른 실행 대상입니다. 실행 호스트와 컨테이너의 환경을 구분하고, 릴리스 자산에 있는 정확한 파일명을 매핑에 사용하세요. 알 수 없는 조합을 임의의 기본값으로 보내지 않는 편이 실패 원인을 명확히 합니다.

2.27.0 릴리스에는 Linux ARM64용 CLI와 번들 이름이 안내돼 있습니다. 다만 다운로드가 존재한다는 사실과 모든 언어·빌드 구성이 지원된다는 주장은 다릅니다. 현재 시스템 요구사항은 Linux ARM64 지원에 beta 표시를 두고 있으므로 적용할 언어와 환경의 조건도 확인하세요.

캐시가 전환 실패를 가리지 않게 하기

설치 파일만 바꿨는데 오래된 캐시에서 이전 실행 파일을 꺼내 쓴다면 새 경로를 시험한 것이 아닐 수 있습니다. 캐시 키와 미러 경로에 버전뿐 아니라 플랫폼 차이가 드러나는지 확인하고, 첫 검증에서는 실제 사용된 파일과 CLI 버전을 기록하세요.

공식 출처의 배포 파일과 제공되는 무결성 정보를 사용하고, 이미 검증한 자산을 사내에서 보관한다면 원본 버전과 플랫폼을 함께 남기는 것이 좋습니다. 서로 다른 아키텍처가 같은 캐시 이름을 공유하는 경우에는 특히 이 경계를 확인하세요.

실행 성공에서 분석 성공까지

CLI가 실행된다는 사실만으로 이전 분석과 동등하다고 판단하지 마세요. 대표 저장소의 같은 커밋에서 데이터베이스 생성, 쿼리 실행과 결과 업로드까지 확인하고 분석 대상 언어와 빌드 모드가 빠지지 않았는지 비교할 수 있습니다.

이때 애플리케이션 리팩터링이나 쿼리 정책 변경을 함께 섞으면 차이를 설명하기 어렵습니다. 설치 경로 전환을 별도로 검토하고, 예상하지 못한 결과가 나오면 도구 버전·팩 버전·빌드 로그를 기준으로 원인을 좁혀 보세요.

일괄 전환보다 재현 가능한 한 경로

작은 팀은 가장 중요한 자체 CI 한 경로부터 전환해도 됩니다. 성공 조건과 되돌릴 설정을 남기고, 미러와 오래된 이미지의 담당자에게 같은 기준을 적용하면 점검 범위가 분명해집니다.

공개 릴리스와 이슈는 호환성 문제를 살펴볼 출발점이지만, 다른 저장소의 결과가 우리 환경의 결과를 대신하지는 않습니다. 이 글은 커뮤니티 합의나 전환 성공률을 수치로 주장하지 않습니다.

오늘 남길 변경 기록

PR에는 기존 파일명, 새 플랫폼 매핑, 실제 실행 환경과 대표 분석 결과를 붙여 보세요. 어느 환경을 아직 확인하지 못했는지도 함께 적으면 검토자가 완료 범위를 이해하기 쉽습니다.

제거 시점 전에 끝낼 일은 경고 문구를 숨기는 것이 아니라 실제 설치 경로를 바꾸고 검증하는 것입니다. 정확한 일자가 추가로 공지될 수 있으므로 공식 변경 이력과 요구사항을 다시 확인할 담당자도 정해 두세요.

출처