codeql 2.27.4围绕扫描准确性和命令行可靠性作出调整:多种语言的查询减少误报,cli也处理了机器可读输出和查询包打包中的边界问题。版本变更日志标注日期为2026年11月2日,github随后在11月4日发布产品公告;两者对应同一版本。

先看告警:清理器识别与误报修正
Java/Kotlin的日志注入查询扩展了对JDK、Apache Commons Lang和Text、Guava、OWASP Java Encoder及Spring Framework中清理器和清理条件的识别;路径注入相关分析也补充了对子串条件、字符串替换与删除操作的识别。对已有防护代码而言,这些变化有助于让扫描结果更准确地反映其处理逻辑。
Rust的分配大小、日志注入和明文日志相关查询减少了部分误报。C/C++则不再把std::byte*缓冲区的有意指针运算报为可疑缩放,也不再对标有[[maybe_unused]]的相应变量报告未使用问题。JavaScript/TypeScript的js/invalid-prototype-value查询修正了对象字面量中计算型__proto__属性的误报。

报告标签也需要一起看。C#、Java/Kotlin、JavaScript/TypeScript、Python、Ruby和Swift的一批正则表达式及相关查询移除了CWE-730标签,其他CWE标签仍保留。该变化是漏洞分类元数据调整,不能据此判断对应检测规则已经删除。完整日志还新增了面向C/C++可维护性与可靠性问题的cpp-code-quality查询套件。
再看流水线:JSON输出和pack打包各修一处
此前,Java虚拟机的警告或初始化错误可能混入CLI标准输出,影响JSON等机器可读结果。2.27.4把这类消息写到标准错误。通过脚本读取扫描结果的团队,可重点复核输出解析流程,避免把诊断信息误当成结果正文。
执行codeql pack bundle或codeql pack publish时,CLI会在解析符号链接后检查文件是否仍位于pack根目录内。指向根目录外的文件将被排除,并给出警告。维护自定义查询包时,应检查这些警告及实际归档内容,确认依赖文件没有意外遗漏。
升级前分清云端服务、本地CLI与GHES
GitHub.com上的code scanning会自动部署新的CodeQL版本;CodeQL 2.27.4的功能也将包含在GitHub Enterprise Server 3.24中。旧版GHES可按官方说明手动升级CodeQL,不能把云端自动部署理解为所有企业自建环境都已同步更新。
本地使用JavaScript/TypeScript提取器的团队还要注意一项兼容性变化:SEMMLE_TYPESCRIPT_HOME环境变量不再受支持,提取器会忽略它并始终使用自带的TypeScript编译器。升级检查应同时覆盖自定义pack、结果解析脚本和提取器配置,而不是只核对版本号。











