코드큐엘(CodeQL) 2.25.4, 스위프트(Swift) 지원 및 보안 분석 강화!
코드큐엘(CodeQL) 2.25.4 출시로 스위프트(Swift) 6.3.1 지원 및 C# 분석 정확도 향상
Vercel 서버리스(Serverless) 함수에 대한 보안 분석 지원 확대로 보안 취약점(Security Vulnerabilities) 탐지 범위 확장
데이터 흐름 차단(Data Flow Barrier) 확장을 통해 맞춤형 코드큐엘(CodeQL) 설정의 오탐 감소
자바(Java) 및 C/C++ 쿼리(Query) 개선으로 오탐(False Positives) 감소 및 보안 분석 정확도 향상
스위프트(Swift) 6.3.1 지원 및 C# 분석 정확도 향상
코드큐엘(CodeQL) 2.25.4는 스위프트(Swift) 6.3.1 지원을 추가하여 스위프트(Swift) 기반 애플리케이션의 보안 취약점 분석 범위를 넓혔다. 또한 C# 분석 정확도 향상을 위해 ASP.NET(ASP.NET) 원격 소스 모델링(Remote Source Modeling)을 확장하여 오탐을 줄였다.
ASP 및 ASP.NET: 오염된 매개변수(Tainted Parameters) 필드, 속성, 전이적으로 오염된 필드까지 분석 범위 확대
C# 14: 사용자 정의 복합 할당 연산자(User-defined Compound Assignment Operators) 지원
이러한 개선 사항은 개발자가 코드 품질(Code Quality)을 유지하고 잠재적인 보안 문제를 조기에 발견하는 데 기여한다.
Vercel 서버리스(Serverless) 함수 보안 분석 지원
코드큐엘(CodeQL)은 Vercel 서버리스(Serverless) 함수에 대한 보안 분석을 지원하여, 개발자가 서버리스 환경에서도 안전한 코드를 작성하도록 돕는다. 특히, @vercel/node(Vercel/Node)를 통해 정의된 핸들러(Handler)를 인식하여, 일반적인 보안 쿼리(Query)를 적용할 수 있다.
js/reflected-xss, js/request-forgery, js/sql-injection, js/command-line-injection: Vercel API 라우트 파일(API Route Files)에서 취약점 탐지
데이터 흐름 차단(Data Flow Barrier): 사용자 정의 쿼리(Custom Query) 설정 시 오탐(False Positives)을 줄이는 데 활용
이러한 기능은 서버리스 환경의 보안 취약점(Security Vulnerabilities)을 효과적으로 탐지하고, 개발자가 안전한 코드를 작성하도록 지원한다.
자바(Java) 및 C/C++ 쿼리(Query) 개선
코드큐엘(CodeQL)은 자바(Java) 및 C/C++ 쿼리(Query)를 개선하여 오탐(False Positives)을 줄이고, 보안 분석의 정확도를 높였다. 특히, Path.toRealPath()를 경로 정규화(Path Normalization) 처리자로 인식하여, java/path-injection 및 java/zipslip 쿼리의 오탐을 줄였다.
java/sensitive-log: 민감한 데이터(Sensitive Data)를 포함하지 않는 변수명 패턴(Variable Naming Patterns) 제외
java/sensitive-log: “encrypt”, “hash”, “digest”를 포함하는 메서드 호출을 처리자로 인식
java/trust-boundary-violation: 정규 표현식(Regular Expression) 검사를 처리자로 인식
이러한 개선 사항은 개발자가 보안 경고(Security Alert)의 신뢰도를 높이고, 코드 품질을 향상시키는 데 기여한다.
데이터 흐름 차단(Data Flow Barrier) 확장
코드큐엘(CodeQL) 2.25.4는 데이터 흐름 차단(Data Flow Barrier) 기능을 확장하여, 개발자가 맞춤형 코드큐엘(CodeQL) 설정을 더욱 유연하게 구성할 수 있도록 지원한다. C/C++, C#, 고(Go), 자바(Java)/코틀린(Kotlin), 자바스크립트(JavaScript)/타입스크립트(TypeScript), 파이썬(Python), 루비(Ruby), 러스트(Rust) 등 거의 모든 지원 언어에서 데이터 확장(Data Extensions)을 통해 차단 및 가드(Guard)를 추가할 수 있다.
맞춤형 쿼리(Custom Query) 설정: 쿼리(Query)를 직접 수정하지 않고도 오탐(False Positives)을 줄일 수 있음
customizing library models: 언어별 라이브러리 모델(Library Model) 사용자 정의
이러한 기능은 개발자가 자신만의 코드 분석 규칙(Code Analysis Rules)을 쉽게 적용하고, 코드큐엘(CodeQL)의 활용도를 높이는 데 기여한다.
코드큐엘(CodeQL) 2.25.4 배포 및 향후 계획
코드큐엘(CodeQL) 2.25.4는 깃허브 코드 스캔(GitHub Code Scanning) 사용자에게 자동으로 배포되며, 새로운 기능은 향후 깃허브 엔터프라이즈 서버(GitHub Enterprise Server, GHES) 릴리스에도 포함될 예정이다. 구체적인 변경 사항은 전체 변경 로그(Changelog)를 참조하면 된다.
깃허브 코드 스캔(GitHub Code Scanning) 사용자: 자동 업데이트
깃허브 엔터프라이즈 서버(GitHub Enterprise Server, GHES): 향후 릴리스에 포함
이전 버전 사용자: 수동 업데이트 권장
이러한 배포 계획은 개발자가 최신 보안 분석 기능(Security Analysis Features)을 지속적으로 활용하고, 코드 품질을 유지하도록 돕는다.