CodeQL 2.27.1 新增 C 和 C++ 查询,并支持 Kotlin 2.4.20

GitHub 发布 CodeQL 2.27.1,为 C/C++ 和 C# 增加新查询、支持 Kotlin 2.4.20,并修了一批查询准确性问题。它延续了代码扫描工具从“能查漏洞”向“少误报、贴框架”演进的方向。

一句话看懂:GitHub 发布 CodeQL 2.27.1,为 C/C++ 和 C# 增加新查询、支持 Kotlin 2.4.20,并修了一批查询准确性问题。它延续了代码扫描工具从“能查漏洞”向“少误报、贴框架”演进的方向。

事件核心:发生了什么

据 GitHub Changelog,CodeQL 2.27.1 是 GitHub Code Scanning 背后的静态分析引擎的新版本。语言支持方面:C/C++ 新增 boost::asio 解析器、Bloomberg bdlbb::Blob 分段缓冲区以及 Protobuf MessageLite 的污点流模型;Go 补充了 1.27 标准库(bytes.CutLast、strings.CutLast、net/url 等)的数据流模型;Java/Kotlin 开始支持 Kotlin 2.4.20,并修复 K2 编译器下 Foo::class.java 参数提取问题;JavaScript/TypeScript 能识别 Fastify 链式配置的服务器;Rust 更新到 rust-analyzer 0.0.347,并加入 core::fmt::Write 数据流模型。

查询层面,新增 cpp/ambiguous-assignment-of-comparison 与 cs/linq/missed-firstordefault;actions/unpinned-tag 不再误报锁文件和 $/ 自仓库引用;C# 私有 NuGet 源配置也做了修正。

为什么重要

代码安全扫描长期受两个问题拖累:漏报和误报。误报多了,开发者会直接关掉告警。这次更新的重点不在“多查几个漏洞”,而在于把数据流模型补进框架和标准库层——boost、Protobuf、Fastify、Rust 格式化输出,都是真实漏洞容易藏身的地方。同时,支持 Kotlin 2.4.20 和更新的 rust-analyzer,说明 CodeQL 在跟进语言生态的编译器版本,这对 Android 和 Rust 项目尤其关键。目前公开信息显示,GitHub.com 上的代码扫描会自动部署新版本,GHES 3.24 将包含这些功能。

对用户/开发者/创作者的影响

使用 GitHub 代码扫描的团队无需手动操作即可获得新查询;自托管 GHES 用户若版本较旧,则需要手动升级 CodeQL。对 C/C++、C# 和 Rust 项目而言,部分原本被忽略的告警可能变多(因为新数据流模型暴露了真实路径),也可能变少(因为误报被修掉)。安全团队应关注告警基线的变化,而不是简单看数量。对开发者个人来说,Kotlin 和 Go 的模型改进会直接降低日常 PR 里出现的噪音。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

一是新查询在开源项目中的实际检出率如何,尤其 cpp/ambiguous-assignment-of-comparison 这类偏代码质量而非安全的查询是否被默认启用;二是 Kotlin K2 相关的提取修复是否能稳定减少 Android 查询误报;三是 GHES 3.24 的具体发布时间,以及旧版本用户升级 CodeQL 的成本。这些将决定本次更新是“例行迭代”还是真正改善开发者的告警体验。

来源:GitHub Changelog

celebrityanime
celebrityanime
文章: 25505

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注