CodeQL 2.24.0이 Swift 6.2와 .NET 10 지원을 추가하고, 압축된 JavaScript 파일 처리를 개선합니다
Source: GitHub Changelog
CodeQL은 GitHub code scanning 뒤에 있는 정적 분석 엔진으로, 코드에서 보안 문제를 찾아 해결합니다. 우리는 최근에 CodeQL 2.24.0을 출시했으며, 이는 새로운 언어 버전에 대한 지원을 추가하고, 프레임워크 커버리지를 확대하며, 여러 언어에 걸쳐 쿼리 정확성을 향상시킵니다.
언어 및 프레임워크 지원
Swift
- Swift 6.2.2 및 6.2.3으로 빌드된 앱 분석을 지원하도록 업데이트되었습니다.
C#
- .NET 10 및 C# 14 지원이 추가되었습니다.
JavaScript/TypeScript
-
평균 라인 길이가 200자를 초과하는 JavaScript 파일은 이제 최소화된 파일로 간주되어 분석되지 않습니다.
최소화된 파일을 분석하려면 다음 환경 변수를 설정하십시오:CODEQL_EXTRACTOR_JAVASCRIPT_ALLOW_MINIFIED_FILES=true -
Next.js 16의
use cache지시문 지원이 추가되었습니다. -
React
useRef훅에 대한 지원이 추가되었으며,current속성을 통한 데이터 흐름 추적이 개선되었습니다.
Python
py/decompression-bomb쿼리가 이제compression.zstd라이브러리를 지원합니다 (Python 3.14에 추가).urllib.parse에 대한 오염 흐름 모델과python-socketio패키지에 대한 원격 흐름 소스가 추가되었습니다.- 추출기가 이제 기본적으로 숨김 디렉터리의 파일을 분석합니다.
Java/Kotlin
com.couchbase에 대한 싱크 모델이 추가되어 SQL 인젝션 및 하드코딩된 자격 증명 쿼리를 지원합니다.org.apache.commons.fileupload.FileItem,javax/jakarta.servlet.http.Part,org.apache.commons.fileupload.util.Streams에 대한 데이터 흐름 모델이 추가되었습니다.
C/C++
- 파일 읽기 함수, 명령줄 및 환경 변수 API 등을 포함한 더 많은 Windows API 지원이 추가되었으며, SQLite와 OpenSSL 라이브러리에 대한 흐름 모델도 포함됩니다.
Rust
- 메서드 해석이 이제
Deref트레이트를 고려하여Deref를 구현한 수신자에 대한 메서드 호출을 올바르게 해결합니다. - Axum 웹 애플리케이션 프레임워크 지원이 추가되었습니다.
- 원시 포인터에 대한 타입 추론이 개선되었으며, 원시 빌림 연산자와 역참조를 포함합니다.
Query changes
C#
- Missing cross‑site request forgery token validation 쿼리를 확장하여 ASP.NET Core를 지원하도록 했습니다.
NHibernate.ISession.CreateSQLQuery,NHibernate.IStatelessSession.CreateSQLQuery,NHibernate.Impl.AbstractSessionImpl.CreateSQLQuery를 SQL‑injection 싱크로 추가했습니다.System.Collections.Generic.KeyValuePair.Value의 암시적 읽기를 taint‑tracking 싱크와 추가 taint 단계 입력에 포함시켜, 컨테이너가 오염된 경우 더 많은 결과가 나오도록 했습니다.
JavaScript/TypeScript
api및pages폴더 외부에 있는route또는page라는 이름의 파일에서 서버‑사이드 taint 소스를 놓치는 문제를 일으키던 Next.js 모델 버그를 수정했습니다.content-type헤더가 설정되지 않은 경우(text/plain이 기본값)new Response(x)가 더 이상 반사형 XSS 싱크로 처리되지 않도록 했습니다.
Java/Kotlin
- Java 스레드‑안전성 분석이 생성자 내부에서 스레드‑안전 클래스에 대한 초기화를 이해하도록 개선했습니다.
- 정규식 검사를 통해 값이 안전함을 확인할 경우 경고를 억제하도록
java/ssrf에 sanitizer를 추가했습니다. - 모든 Spring
RestTemplate메서드의 URI 템플릿 변수는 이제 request‑forgery 싱크로 간주되어,java/ssrf에 대한 경고가 더 많이 생성될 수 있습니다.
C/C++
cpp/constant-comparison쿼리의 정확성을 향상시켜 오탐을 줄였습니다.
Rust
rust/unused-variable,rust/unused-value,rust/access-invalid-pointer,rust/access-after-lifetime-ended쿼리의 정확성을 향상시켜 오탐을 줄였습니다.- 새로운 휴리스틱 싱크를 추가하여 비밀번호, 초기화 벡터, 논스, 솔트 등을 식별하도록
rust/hard-coded-cryptographic-value쿼리를 확장했습니다.
전체 변경 사항은 버전 2.24.0 전체 변경 로그를 참고하십시오. CodeQL의 모든 새 버전은 GitHub.com에서 GitHub 코드 스캔을 사용하는 사용자에게 자동으로 배포됩니다. CodeQL 2.24.0의 새로운 기능은 향후 GitHub Enterprise Server (GHES) 릴리스에도 포함될 예정입니다. GHES의 이전 버전을 사용 중이라면 CodeQL 버전을 수동으로 업그레이드할 수 있습니다.