CodeQL 2.23.7 및 2.23.8에 Go와 Rust용 보안 쿼리를 추가
Source: GitHub Changelog
CodeQL은 GitHub의 Code Scanning 및 Code Quality 제품 뒤에 있는 정적 분석 엔진으로, 코드 품질 및 보안과 관련된 문제를 찾아 해결합니다. 최근에 CodeQL 2.23.7 및 2.23.8을 출시했습니다. 이번 릴리스에서는 Go와 Rust에 대한 새로운 보안 쿼리, 전반적인 분석 정확도 향상, 여러 언어에 대한 프레임워크 업데이트가 포함되었습니다.
Query changes
Go
go/cookie-secure-not-set을 추가하여Secure플래그가 설정되지 않은 쿠키를 감지합니다. 이는 민감한 정보 노출 위험을 초래할 수 있습니다.go/weak-crypto-algorithm을 추가하여 깨지거나 약한 암호화 알고리즘 사용을 감지합니다.go/weak-sensitive-data-hashing을 추가하여 민감한 데이터에 약한 해시 알고리즘을 사용하는 경우를 감지합니다.- 실험용 팩에서
go/cookie-http-only-not-set을 정식으로 승격했습니다. 이 쿼리는HttpOnly플래그가 없는 쿠키를 식별하며, 잠재적인 XSS 위험을 나타냅니다. 원래는 GitHub 사용자 @edvraa가 기여했습니다.
Rust
rust/xss를 추가하여 교차 사이트 스크립팅(XSS) 취약점을 감지합니다.rust/disabled-certificate-check를 추가하여 TLS 인증서 검사가 비활성화된 경우를 감지합니다.- Rust용 CodeQL 쿼리를 작성하는 방법을 배우는 데 도움이 되는 세 가지 예제 쿼리(
rust/examples/empty-if,rust/examples/simple-sql-injection,rust/examples/simple-constant-password)를 추가했습니다.
Language and framework support
Java/Kotlin
- Java 분석이 Maven 빌드에서
--source및--target컴파일러 플래그를 강제하지 않게 되었습니다. 이제 Maven은 프로젝트 자체의 컴파일러 설정을 사용하므로 빌드 호환성이 향상됩니다. - 문자열의 고정 길이 접두사 또는 접미사만 추출하는 연산(예: Java의
substring또는 Kotlin의take)이 7자 이하인 경우java/sensitive-log쿼리에서 이를 정제기로 처리합니다. 이는 로그 메시지 내용이 잘려서 표시되기 때문입니다.
JavaScript/TypeScript
app/pages폴더에서 서버 측 오염 소스를 놓치게 만들던 Next.js 모델의 버그를 수정했습니다.
Rust
rust/access-invalid-pointer쿼리를 새로운 흐름 소스와 장벽을 추가하여 개선했습니다.
C#
- 빌드리스 분석(buildless analysis)을 사용할 때 컴파일 오류가 디버그 로그에 포함되도록 했습니다(기본 모드).
- 빌드리스 모드에서 종속성 다운로드를 위한 사용자 지정 디렉터리를 지정할 수 있는 추출기 옵션을 추가했습니다:
-O buildless_dependency_dir=.
Python
find_module에서 누락된 import가KeyError를 발생시키던 Python 추출기의 import 처리 버그를 수정했습니다. 이는 GitHub 사용자 @akoeplinger의 기여입니다.
전체 변경 사항 목록은 버전 2.23.7 및 2.23.8에 대한 전체 changelog를 참조하십시오. 새로운 CodeQL 버전은 GitHub.com에서 GitHub Code Scanning 및 GitHub Code Quality를 사용하는 모든 사용자에게 자동으로 배포됩니다. 이번 릴리스에서 도입된 기능 및 수정 사항은 GitHub Enterprise Server (GHES) 버전 3.20에도 포함됩니다. 이전 GHES 버전을 사용 중이라면 CodeQL 버전을 수동으로 업그레이드할 수 있습니다.