CodeQL 2.24.0 添加 Swift 6.2 和 .NET 10 支持,并改进对已压缩 JavaScript 的文件处理
Source: GitHub Changelog
CodeQL 是 GitHub 代码扫描背后的静态分析引擎(GitHub code scanning),它能够发现并修复代码中的安全问题。我们最近发布了 CodeQL 2.24.0,该版本新增了对新语言版本的支持、扩展了框架覆盖范围,并提升了多语言查询的准确性。
语言和框架支持
Swift
- 已更新以支持对使用 Swift 6.2.2 和 6.2.3 构建的应用进行分析。
C#
- 已添加对 .NET 10 和 C# 14 的支持。
JavaScript/TypeScript
-
对于平均行长超过 200 的 JavaScript 文件,现在会被视为已压缩(minified),因此不会进行分析。
若要分析已压缩的文件,请设置环境变量:CODEQL_EXTRACTOR_JAVASCRIPT_ALLOW_MINIFIED_FILES=true -
已添加对 Next.js 16 的
use cache指令的支持。 -
已添加对 React
useRefHook 的支持,并改进了对current属性的数据流跟踪。
Python
py/decompression-bomb查询现已支持compression.zstd库(已在 Python 3.14 中加入)。- 为
urllib.parse添加了污点流模型,并为python-socketio包添加了远程流来源。 - 提取器现在默认会分析隐藏目录中的文件。
Java/Kotlin
- 为
com.couchbase添加了 sink 模型,支持 SQL 注入和硬编码凭证查询。 - 为
org.apache.commons.fileupload.FileItem、javax/jakarta.servlet.http.Part和org.apache.commons.fileupload.util.Streams添加了更多数据流模型。
C/C++
- 已添加对更多 Windows API 的支持,包括文件读取函数、命令行和环境变量 API,以及 SQLite 和 OpenSSL 库的流模型。
Rust
- 方法解析现在会考虑
Dereftrait,能够正确解析实现了Deref的接收者上的方法调用。 - 已添加对 Axum Web 应用框架的支持。
- 改进了对原始指针的类型推断,包括原始借用运算符和解引用。
查询更改
C#
- 将 Missing cross‑site request forgery token validation 查询扩展以支持 ASP.NET Core。
- 将
NHibernate.ISession.CreateSQLQuery、NHibernate.IStatelessSession.CreateSQLQuery和NHibernate.Impl.AbstractSessionImpl.CreateSQLQuery添加为 SQL 注入 sink。 - 在污点跟踪 sink 以及额外污点步骤的输入处,隐式读取
System.Collections.Generic.KeyValuePair.Value,当容器被污点化时会产生更多结果。
JavaScript/TypeScript
- 修复了 Next.js 模型中的一个错误,该错误导致分析在
api和pages文件夹之外的route或page文件中遗漏服务器端污点来源。 - 当未设置
content-type头(默认text/plain)时,new Response(x)不再被视为反射型 XSS sink。
Java/Kotlin
- Java 线程安全分析现在能够理解在构造函数内部对线程安全类的初始化。
- 为
java/ssrf添加了一个 sanitizer,以在正则表达式检查确认值安全时抑制警报。 - 所有 Spring
RestTemplate方法的 URI 模板变量现在被视为请求伪造 sink,这可能会为java/ssrf生成更多警报。
C/C++
- 改进了
cpp/constant-comparison查询的准确性,以减少误报。
Rust
- 改进了
rust/unused-variable、rust/unused-value、rust/access-invalid-pointer和rust/access-after-lifetime-ended查询的准确性,以减少误报。 - 使用新的启发式 sink 扩展了
rust/hard-coded-cryptographic-value查询,能够识别密码、初始化向量、随机数和盐。
有关完整的更改列表,请参阅完整的 版本 2.24.0 更新日志。每个新版本的 CodeQL 都会自动部署到 GitHub.com 上的 GitHub 代码扫描用户。CodeQL 2.24.0 中的新功能也将在未来的 GitHub Enterprise Server(GHES)版本中提供。如果您使用的是较旧的 GHES 版本,您可以手动升级 CodeQL 版本。