CodeQL 2.23.7 和 2.23.8 为 Go 和 Rust 添加安全查询
发布: (2025年12月19日 GMT+8 07:03)
4 min read
原文: GitHub Changelog
Source: GitHub Changelog
CodeQL 是 GitHub 的 Code Scanning 和 Code Quality 产品背后的静态分析引擎,用于发现并修复与代码质量和安全相关的问题。我们最近发布了 CodeQL 2.23.7 和 2.23.8。这些版本带来了针对 Go 和 Rust 的新安全查询、整体分析准确性的提升,以及多语言的框架更新。
Query changes
Go
- 新增
go/cookie-secure-not-set,用于检测未设置Secure标志的 Cookie,可能导致敏感信息泄露。 - 新增
go/weak-crypto-algorithm,用于检测使用已破损或弱的加密算法。 - 新增
go/weak-sensitive-data-hashing,用于检测在敏感数据上使用弱加密哈希算法。 - 将
go/cookie-http-only-not-set从实验包提升为正式查询;它识别缺少HttpOnly标志的 Cookie,可能构成 XSS 风险。最初由 GitHub 用户 @edvraa 贡献。
Rust
- 新增
rust/xss,用于检测跨站脚本(XSS)漏洞。 - 新增
rust/disabled-certificate-check,用于检测已禁用的 TLS 证书检查。 - 新增三个示例查询(
rust/examples/empty-if、rust/examples/simple-sql-injection、rust/examples/simple-constant-password),帮助您学习为 Rust 编写 CodeQL 查询。
Language and framework support
Java/Kotlin
- Java 分析不再强制在 Maven 构建中使用
--source和--target编译器标志;Maven 现在使用项目自身的编译器配置,提高了构建兼容性。 - 对仅提取字符串固定长度前缀或后缀的操作(例如 Java 中的
substring或 Kotlin 中的take),若长度限制在 7 个字符或以下,则在java/sensitive-log查询中被视为清理器,因为日志消息内容已被截断。
JavaScript/TypeScript
- 修复了 Next.js 模型中的一个 bug,该 bug 导致分析在
app/pages文件夹中遗漏服务器端污点来源。
Rust
- 改进了
rust/access-invalid-pointer查询,新增了流来源和屏障。
C#
- 在使用无构建分析(默认模式)时,编译错误现在会包含在调试日志中。
- 新增了一个提取器选项,可在无构建模式下指定依赖下载的自定义目录:
-O buildless_dependency_dir=。
Python
- 修复了 Python 提取器在处理导入时的一个 bug,之前在
find_module中缺少导入会抛出KeyError。此修复来自 GitHub 用户 @akoeplinger 的贡献。
如需查看完整的更改列表,请参阅版本 2.23.7 和 2.23.8 的完整更新日志。每个新版本的 CodeQL 都会自动部署到 GitHub.com 上的 GitHub Code Scanning 和 GitHub Code Quality 用户。此发布中引入的功能和修复将包含在 GitHub Enterprise Server (GHES) 版本 3.20 中。如果您使用的是较旧的 GHES 版本,可以手动升级您的 CodeQL 版本。