ITPub博客

首页 > 应用开发 > C/C++ > CodeQL 2.27.2 改进了 C++、Go、Rust 和 JavaScript 分析 - GitHub Changelog

CodeQL 2.27.2 改进了 C++、Go、Rust 和 JavaScript 分析 - GitHub Changelog

C/C++ 作者:ITPUB社群 时间:1970-01-01 08:33:46 0 删除 编辑

CodeQL 2.27.2 现已发布,新增了 C++ 正则表达式解析器,并改进了多种语言的分析能力。CodeQL 是 GitHub 代码扫描背后的静态分析引擎,可帮助您发现并修复代码中的安全问题。Default 套件运行 498 个安全查询,覆盖 170 个 CWE。Extended 套件额外增加 131 个查询,覆盖另外 32 个 CWE。

语言和框架支持

  • CodeQL 现在可以解析 std::regex 中使用 ECMAScript 语法的正则表达式。

  • 我们为 Comdb2 C API(应用程序编程接口) 添加了 SQL 注入汇聚点模型,并为 Bloomberg BDE 编解码器和字节流反序列化器添加了流摘要。

  • 除了 nhooyr.io/websocket 之外,CodeQL 现在还可以对 github.com/coder/websocket 导入路径进行建模。

  • Rust 提取器现在支持 AnyAttr 和 DocComment 类。

  • 我们改进了与 await 一起使用的异步块的数据流分析,并为 native-tls、async-native-tls 和 tokio-native-tls 添加了流摘要。

JavaScript/TypeScript

  • CodeQL 现在可以识别 Workflow SDK(软件开发工具包) 的 "use workflow" 和 "use step" 指令。

  • 我们改进了通过自定义路由注册辅助函数和高阶函数对 Hapi 路由处理器和请求输入的追踪。

macOS 27 兼容性

  • 随着 macOS 27 和 Xcode 27 的发布,Apple 不再提供多架构 x86-64/arm64 二进制文件。CodeQL 执行追踪分析需要这些二进制文件。因此,在 macOS 27 上使用任何 Xcode 版本,以及在 macOS 26 上选择 Xcode 27 时,CodeQL 的自动构建和手动构建模式将不支持编译型语言。使用这些构建模式时,请最多使用 macOS 26 和 Xcode 26。我们也在努力改进 macOS 上对构建模式 none 的支持,以帮助缓解这一限制。

查询变更

  • cs/web/missing-x-frame-options 查询现在将 ASP.NET Core 响应头和 Content Security Policy frame-ancestors 指令识别为点击劫持防护。

  • cs/web/xss 查询不再将使用 WriteLiteral 写入的 Razor 标记帮助程序属性值视为 XSS 汇聚点。

  • 现在,您可以通过添加以 ! 为前缀的条目(例如 !github)来从 actions/unpinned-tag 查询使用的受信任集合中移除所有者。这样您就可以报告第一方所有者的未固定标签。

CodeQL CLI

  • CLI 现在会将查询套件中无效的 qlpack: 和 from: 值报告为明确的错误,而不是崩溃。

  • CodeQL 现在会拒绝超出有符号 32 位范围的 YAML 数据扩展整数,而不是静默截断某些值。

  • 标准错误上的错误和警告消息现在包含 ERROR: 和 WARNING: 前缀。结构化输出(包括日志和 SARIF)保持不变。

  • codeql query compile 现在接受 --dil-constants 与 --dump-dil 一起使用,以在输出的 DIL 中包含优化的常量元组集。

  • 加载数据扩展的命令现在仅在包的 dataExtensions 列表中的所有模式均未匹配任何文件时发出警告。

Go 库破坏性变更

Go 控制流图(CFG)现在使用共享的 CFG 库。它为赋值、参数和结果、range 语句以及延迟调用等构造包含了额外的节点,并排除了从入口点不可达的节点。这会改变 CFG 节点、边、位置、文本表示和基本块边界,因此你可能需要更新依赖先前表示的查询。

  • 移除 BasicBlocks::Cfg 。

  • 添加 ControlFlow::EntryNode 、 ControlFlow::ExitNode 和 SwitchStmt.getExpr 。

  • 弃用 IfStmt.getCond ,改用 IfStmt.getCondition 。

  • 将 IfStmt.getThen 和 LoopStmt.getBody 的返回类型更改为 Stmt 。

  • 合并多个 IR 指令类。

有关完整详情,请参阅 CodeQL 2.27.2 变更日志 。GitHub 会自动将每个新的 CodeQL 版本部署给 github.com 上 GitHub 代码扫描的用户。未来的 GitHub Enterprise Server (GHES) 版本也将包含 CodeQL 2.27.2 中的新功能。如果你使用较旧版本的 GHES,可以手动升级你的 CodeQL 版本 。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:GitHub Blog

原创地址:https://github.blog/changelog/2026-10-09-codeql-2-27-2-improves-c-go-rust-and-javascript-analysis

原文作者:Allison;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1090
  • 访问量
    546760