CodeQL 2.27.3, Python 3.15 구문과 JSON 데이터 확장 파일 지원 추가
CodeQL 2.27.3 adds Python 3.15 features and JSON data extensions
GitHub 코드 스캐닝의 정적 분석 엔진 CodeQL 2.27.3이 출시되어 Python 3.15 신규 문법, JSON 형식의 데이터 확장 파일, C23 비트 정밀 정수(_BitInt(N))를 지원한다. 여러 언어에서 정확도 개선도 함께 포함됐다. Python 추출기는 match 리터럴 패턴의 단항 플러스와 Unicode 17 식별자를 포함한 Python 3.15 구문을 지원하며, Python 3.15의 frozendict, sentinel 내장 객체도 추가됐다. 데이터 확장 파일은 이제 YAML과 같은 구조의 JSON 문법을 사용할 수 있고, .json 확장자 파일은 JSON으로, 그 외 파일은 YAML로 파싱된다. C# 쿼리 측면에서는 is 표현식과 switch 케이스의 위치 패턴을 통한 데이터 흐름을 인식하며, 사설 NuGet 레지스트리 설정 시 프록시와 인증서 환경 변수를 NuGet CLI에 전달한다. Ruby에서는 Grape::API의 일부 요청 하위 접근자(body.read, params, cookies 등)가 원격 흐름 소스로 처리된다. 쿼리 변경으로 C/C++ cpp/resource-not-released-in-destructor는 로컬 별칭을 통한 리소스 해제를 인식해 오탐이 줄었고, Java/Kotlin의 java/ssrf와 java/unvalidated-url-redirection은 URI.getHost() 비교를 대소문자 구분 없이 인식한다. 기사에 따르면 GitHub Actions 제어 흐름 그래프(CFG)가 공유 CFG 라이브러리를 사용하도록 바뀌었고 레거시 Completion 클래스가 제거됐다. 따라서 CFG 노드나 엣지에 의존하는 커스텀 쿼리는 DirectSuccessor, BooleanSuccessor, ReturnSuccessor 같은 CFG 엣지 레이블로 수정이 필요할 수 있다. 이 버전의 새 기능은 github.com의 GitHub 코드 스캐닝 사용자에게 자동 배포되며, GitHub Enterprise Server 3.24 릴리스에도 포함될 예정이다.
Python 3.15 구문 지원과 GitHub Actions CFG 엣지 레이블 변경(DirectSuccessor, BooleanSuccessor, ReturnSuccessor)으로 커스텀 쿼리를 점검해야 한다.
원문 출처
GitHub Changelog