CodeQL 2.23.7 및 2.23.8에 Go와 Rust용 보안 쿼리를 추가

발행: (2025년 12월 19일 오전 08:03 GMT+9)
5 min read

Source: GitHub Changelog

CodeQL은 GitHub의 Code ScanningCode 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.72.23.8에 대한 전체 changelog를 참조하십시오. 새로운 CodeQL 버전은 GitHub.com에서 GitHub Code Scanning 및 GitHub Code Quality를 사용하는 모든 사용자에게 자동으로 배포됩니다. 이번 릴리스에서 도입된 기능 및 수정 사항은 GitHub Enterprise Server (GHES) 버전 3.20에도 포함됩니다. 이전 GHES 버전을 사용 중이라면 CodeQL 버전을 수동으로 업그레이드할 수 있습니다.

Back to Blog

관련 글

더 보기 »

🚀_궁극의_Web_Framework_속도_대결

10년의 개발 경험을 가진 풀스택 엔지니어로서 나는 수많은 웹 프레임워크의 흥망성쇠를 목격해 왔습니다—초기 jQuery 시대부터 오늘까지.

Go와 Rust에 대한 사랑 열변!

> 경고: 란트! 소개 나는 이 상황에 지쳤다. 몇 주마다 어떤 Rustacean이 여기 슬며시 들어와서 그들의 거만한 “하지만 두려움 없는 동시성을 시도해봤나요...” 라고 말한다.