CodeQL 2.24.1 改进了 Maven 私有注册表支持并提升查询准确性
发布: (2026年2月7日 GMT+8 08:05)
3 分钟阅读
原文: GitHub Changelog
Source: GitHub Changelog
CodeQL 是 GitHub 代码扫描背后的静态分析引擎,可发现并修复代码中的安全问题。我们最近发布了 CodeQL 2.24.1(changelog),改进了对 Maven 私有包注册表的支持,新增了对最新 Kotlin 版本的支持,并提供了多项其他增强功能,以提升代码扫描结果的准确性。
语言和框架支持
Java/Kotlin
- 现在支持分析 Kotlin 2.3.0 及以下版本。
- 为 Struts 框架库添加了对 Struts 7.x 包名的支持。
- 当您为组织的默认设置配置 Maven 兼容的私有包注册表时,CodeQL 现在会将这些注册表也配置为插件仓库,从而允许您从私有注册表获取 Maven 插件。
- 注意: 正如之前宣布的,已不再支持 Kotlin 1.6.x 和 1.7.x 系列。(announcement)
C/C++
- 添加了对 C23 和 C++26
#embed预处理指令的支持。
C#
- C# 14:添加了对空条件赋值的支持。
Python
- 现在可以通过
ListElement路径在 Python models‑as‑data 语言中引用列表元素。 - 为
agents和openai模块添加了污点流和类型模型,并为websockets包建模了远程流来源。
查询更改
C/C++
- 修复了
GuardCondition库中的一个 bug,该 bug 有时会导致二元逻辑运算符未被识别为守卫条件。使用GuardCondition的查询现在可能会得到改进的结果。 - 提高了缓冲区大小测量的准确性,减少了以下查询中的误报:
cpp/static-buffer-overflowcpp/overflow-buffercpp/badly-bounded-writecpp/overrunning-writecpp/overrunning-write-with-floatcpp/very-likely-overrunning-write
Java
- 提高了
java/unreleased-lock查询的准确性。
Python
- 添加了实验性查询
py/prompt-injection,用于检测使用大型语言模型(LLM)的代码中可能的提示注入漏洞。
GitHub Actions
- 修复了分析长度超过约 300 字符的
${{ ... }}表达式时导致的崩溃。
欲获取完整的更改列表,请参阅完整的 changelog for version 2.24.1。每个新版本的 CodeQL 都会自动部署到 github.com 上使用 GitHub 代码扫描的用户。CodeQL 2.24.1 中的新功能也将在未来的 GitHub Enterprise Server(GHES)版本中提供。如果您使用的是较旧的 GHES 版本,可以 手动升级您的 CodeQL 版本。