AB
AiBoss
News

CodeQL 2.27.0 发布:新增 Linux ARM64 原生支持

GitHub 发布 CodeQL 2.27.0,新增 Linux ARM64 平台原生运行支持,同时带来 Rust 命令行注入查询、Java/Kotlin 与 C# 框架覆盖扩展,以及多语言分析准确性改进。

核心事实

据 GitHub 官方更新日志,CodeQL 2.27.0 已发布。该版本最受关注的变化是支持在 Linux ARM64 平台上原生运行,用户可从对应平台的发布资产中下载 CodeQL CLI 与 CodeQL bundle。CodeQL 是 GitHub 代码扫描(code scanning)背后的静态分析引擎,用于发现并修复代码中的安全问题。

除平台支持外,本次更新还新增了 Rust 安全查询 rust/command-line-injection,用于检测不受控制的命令行调用;同时扩展了 Java/Kotlin 与 C# 的框架覆盖范围,并对多种语言的分析准确性做了改进。

背景与影响

在语言与框架支持方面,C# 改进了 ASP.NET Core MVC 控制器与操作的发现逻辑,使其更贴近运行时行为,并新增对 OData 操作参数绑定的污点追踪支持;在 build-mode: none 下,CodeQL 会尝试使用可用的 NuGet 源还原项目与解决方案。Java/Kotlin 方面新增了对 Micronaut 框架的建模,涵盖 HTTP 控制器、WebSocket 端点、配置注入、数据访问、安全注解与 HTTP 客户端汇聚点。

查询层面,C/C++ 将 PostgreSQL libpq 的查询执行与预编译语句函数纳入 SQL 注入汇聚点;GitHub Actions 调整了对事件负载中作者关联字段检查的判定方式,可能对依赖无效检查的工作流产生更多告警;Rust 方面更新了硬编码加密值查询以减少重复结果,并让未使用变量查询不再报告包含标准 todo!()unimplemented!() 宏的函数。

限制与来源

官方同时提示了即将到来的弃用安排:Java 9 与 10 的语言支持已弃用,将于 2027 年 1 月移除,Java 7 与 8 继续支持;通用多平台 codeql.zip CLI 发行包将在未来版本中移除,建议改用对应平台的 .zip。GitHub 会自动向 github.com 上使用代码扫描的用户部署新版本 CodeQL,未来某个 GitHub Enterprise Server(GHES)版本也会包含该功能;使用较旧 GHES 的用户可手动升级 CodeQL 版本。

以上信息来自 GitHub 官方更新日志,具体功能、平台可用性与版本安排请以官网当前信息为准。