资讯概览
GitHub 发布 CodeQL 2.26.3。CodeQL 是 GitHub 代码扫描背后的静态分析引擎,它把代码转换成可查询的数据关系,再利用安全查询追踪不可信输入如何流向危险操作。新版针对 GitHub Actions、JavaScript、TypeScript、Vue、C/C++ 和 Ruby 增加模型与查询修正。对使用 GitHub.com 自动代码扫描的项目,新版本会由平台逐步部署;自建 GitHub Enterprise Server 的团队则需要按照版本支持情况安排升级。
技术细节
本次更新可识别 merge_group 事件中的不可信数据,改善缓存投毒、不可信检出和环境变量注入等 Actions 查询的路径与触发条件。JavaScript方面,开发者可以通过 file:<path> 形式让自定义模型引用特定文件的公开导出;Vue的 ref、reactive、computed 与路由参数获得更完整的数据流建模。查询还开始识别 Fastify 的限流包,并跟踪 Promise 包装的响应数据。与此同时,部分旧模块被移除,自定义查询依赖者需要检查兼容性。
行业影响
软件供应链攻击越来越多地利用 CI 工作流、缓存、令牌和自动发布流程,仅扫描应用源代码已经不足够。CodeQL把 Actions 配置纳入更细的数据流分析,有助于发现外部事件输入如何进入高权限步骤。更准确的路径起点和触发分类也能减少告警噪声,让团队更容易把时间集中在真正可利用的问题上。不过静态分析结果仍依赖代码建模和查询规则,未出现告警不能证明系统没有漏洞。
阅读与使用建议
维护自定义 CodeQL 查询的团队应先阅读破坏性变更,特别是已删除的 SelfHostedQuery 模块。升级后可对关键仓库重新运行全量扫描,比较新增、消失与路径改变的告警,并由安全人员确认是否属于模型变化。对于 Actions,还应同时限制工作流权限、固定第三方 Action 版本、保护密钥并审核来自分叉仓库的触发条件。本文依据 GitHub 官方变更日志整理。
