CodeQL 2.26.3: GitHub Actions 정확도와 Vue 데이터 흐름을 함께 다듬다

CodeQL 2.26.3이 GitHub Actions 쿼리와 JavaScript·Vue 모델링을 개선했다. 제거된 맞춤 쿼리 모듈, GHES와 CLI 업데이트 전 확인 사항을 정리한다.

CodeQL 2.26.3: GitHub Actions 정확도와 Vue 데이터 흐름을 함께 다듬다

GitHub가 2026년 8월 19일 CodeQL 2.26.3의 분석 개선 사항을 공개했다. 이번 버전은 GitHub Actions 쿼리의 정확도를 높이고 JavaScript·TypeScript·Vue의 데이터 흐름 모델을 넓혔다. GitHub.com의 코드 스캐닝 사용자는 자동으로 새 버전을 받지만, 자체 CodeQL 구성과 GitHub Enterprise Server(GHES)를 운영하는 팀은 호환성을 직접 살펴봐야 한다.

무엇이 바뀌었나

GitHub Actions 분석은 merge_group 이벤트의 github.event.merge_group에서 들어오는 값을 신뢰할 수 없는 데이터로 인식한다. 병합 대기열을 쓰는 저장소에서 이벤트 입력이 명령, 환경 변수나 캐시 경로로 흘러가는 과정을 더 정확히 추적할 토대가 생겼다.

동시에 호환성 주의점이 하나 있다. 러너 레이블만으로 자체 호스팅 러너와 GitHub 관리 러너를 신뢰성 있게 구분하기 어렵다는 이유로 codeql.actions.security.SelfHostedQuery 모듈이 제거됐다. 이 모듈을 불러오는 맞춤 쿼리는 2.26.3으로 올리기 전에 수정해야 한다.

JavaScript와 TypeScript에서는 맞춤 모델이 file:<path> 형태의 패키지 이름으로 특정 파일의 공개 내보내기를 지목할 수 있다. Vue의 ref, shallowRef, toRef, reactive, computed를 통한 흐름과 Vue Router useRoute()에서 나오는 쿼리·경로·매개변수도 모델링된다. Sails Action2 컨트롤러 입력과 Promise로 감싼 클라이언트 응답도 원격 입력의 흐름으로 추적 범위가 넓어졌다.

개발자에게 왜 중요한가

정적 분석의 품질은 탐지 규칙만이 아니라 프레임워크가 데이터를 옮기는 방식을 얼마나 잘 이해하는지에 달려 있다. Vue의 반응형 도우미나 라우터 값을 단순한 지역 변수로만 보면 사용자 입력에서 위험한 처리 지점까지 이어지는 경로가 끊길 수 있다. 2.26.3의 모델 추가는 경로 삽입과 XSS 같은 쿼리가 실제 애플리케이션 구조를 더 잘 따라가도록 돕는다.

Actions 쿼리에서는 오탐과 설명 가능성을 함께 다듬었다. JSON 인코딩이 유지되는 단순 jq 경로 필터를 출력 덮어쓰기 경고에서 제외하고, 캐시 오염과 신뢰하지 않는 체크아웃 경로는 경고의 시작점을 실제 제어 표현식에 가깝게 옮겼다. 예약 실행 이벤트의 외부 유발 여부와 환경 변수 주입 판단도 보수적으로 교정됐다.

기존 프로젝트 영향

GitHub.com의 기본 코드 스캐닝은 별도 설치 없이 순차 배포된다. 새 모델 때문에 이전에 없던 경고가 생기거나, 정확도 개선으로 기존 경고가 사라질 수 있다. 이것은 애플리케이션 런타임 동작의 변화가 아니라 분석 결과의 변화다. 새 경고는 무조건 결함으로 단정하지 말고 데이터 흐름과 실제 신뢰 경계를 확인해야 한다.

GHES에는 향후 릴리스에 포함될 예정이므로 현재 서버 버전이 즉시 2.26.3을 제공한다고 가정하면 안 된다. CLI를 직접 배포하는 환경은 CodeQL CLI 2.26.3과 같은 버전의 언어 팩을 함께 써야 한다. 공식 릴리스는 Linux·Windows·macOS x86-64 묶음과 플랫폼별 Arm64 바이너리를 제공한다.

적용·업데이트 전 확인 사항

  • 맞춤 Actions 쿼리에서 SelfHostedQuery 모듈을 가져오는지 검색하고 제거된 API에 의존한 신뢰 판단을 다시 설계한다.
  • 병합 대기열을 쓰는 저장소는 merge_group 이벤트 값이 셸, 캐시 키와 배포 입력으로 흐르는 경로를 점검한다.
  • Vue·Sails 프로젝트는 새 경고의 시작점과 종착점을 확인하고, 프레임워크 모델 추가로 생긴 결과인지 기록한다.
  • CI에서 CodeQL CLI와 쿼리 팩 버전을 고정했다면 2.26.3 호환 조합으로 시험한 뒤 기준 경고 수의 변화를 검토한다.
  • Windows의 subst 드라이브 경로 정규화 수정과 OCI 이미지 매니페스트 형식 수정이 자체 자동화에 미치는 영향도 회귀 시험한다.
  • 이 릴리스는 특정 CVE 긴급 패치 공지가 아니다. 공개된 개선과 버그 수정 범위를 취약점 악용 증거로 해석하지 않는다.

CodeQL 2.26.3은 화려한 새 분석 언어보다 현실의 프레임워크와 CI 이벤트를 더 정확히 읽는 데 초점을 맞춘 업데이트다. 자동 배포 사용자도 경고 수가 달라질 수 있다는 점을 준비하고, 맞춤 쿼리 운영자는 제거된 모듈과 팩 버전 호환성을 먼저 확인하는 편이 안전하다.

출처