CodeQL 2.25.4 が Swift 6.3.1 をサポートし、C# と Java の分析を改善
本文の状態
日本語全文を表示中
詳細モードで約3分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
GitHub Changelog
GitHub はセキュリティスキャンエンジン「CodeQL」のバージョン 2.25.4 をリリースしました。この更新では Swift 6.3.1 の解析対応を開始し、C# および Java の分析精度を向上させました。また、Vercel サーバーレス関数へのセキュリティ分析範囲を広げ、ほぼすべての言語でデータフローバリア拡張を導入しています。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
CodeQL は、GitHub コードスキャンの背後にある静的解析エンジンであり、コード内のセキュリティ問題を発見して修正します。このほど CodeQL 2.25.4 をリリースしました。これにより Swift 6.3.1 のサポートが追加され、C# 分析の精度が向上し、Vercel サーバーレス関数へのセキュリティ分析が拡張され、ほぼすべての対応言語でデータフローバリア拡張機能が導入されました。
言語およびフレームワークのサポート
Swift
CodeQL は now Swift 6.3.1 で構築されたアプリの解析をサポートするようになりました。
C#
ASP および ASP.NET のリモートソースモデリングを拡大し、汚染されたパラメータのフィールドや、転送的に汚染されるプロパティおよびフィールドなど、追加のソースをカバーしました。これにより、ASP.NET アプリケーション内の汚染フローの検出カバレッジが向上します。
C# 14 のユーザー定義複合代入演算子のサポートを追加しました。
ビルドモード:none で依存関係を解決する際、dotnet restore は now nuget.config に設定された到達可能な NuGet フィードおよび任意のプライベートレジストリを明示的に直接使用し、デフォルトフィードが利用できない場合や制限されている場合に信頼性が向上します。
JavaScript/TypeScript
@vercel/node による Vercel サーバーレス関数のサポートを追加しました。ハンドラは VercelRequest/VercelResponse の TypeScript パラメータ型を通じて認識されるため、標準的なセキュリティクエリ(例:js/reflected-xss, js/request-forgery, js/sql-injection, js/command-line-injection)が now Vercel API ルートファイル内の脆弱性を検出できるようになりました。
クエリの変更
Java/Kotlin
java/path-injection および java/zipslip クエリは、Path.toRealPath() をパス正規化のサニタイザーとして認識するようになりました。これは既存の Path.normalize() や File.getCanonicalPath() の扱いに合わせたものです。これにより、NIO.2 API を使用してパスの正準化を行っているコードにおける偽陽性が減少します。
java/sensitive-log クエリは、機密データを保持していない追加の変数名パターン(例:ページネーショントークン (nextToken, pageToken, continuationToken) およびシークレットメタデータ (secretName, secretId, secretVersion))を除外するようになりました。これにより偽陽性が減少します。
java/sensitive-log クエリは、名前に「encrypt」、「hash」、または「digest」が含まれるメソッド呼び出しをサニタイザーとして扱うようになりました。これにより、機密データをログ出力前にハッシュ化または暗号化する際の偽陽性が減少します。
java/trust-boundary-violation クエリは、正規表現チェック(例:String.matches() によるガードおよび @javax.validation.constraints.Pattern アノテーション)をサニタイザーとして認識するようになりました。これにより、入力値がセッションに保存される前に検証される際の偽陽性が減少します。
C/C++
Windows SDK の Strsafe.h ヘッダーに対する汚染フローモデルを追加しました。
新機能
データ拡張を使用して、C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby, Rust 全体でデータフローバリアおよびバリアガードを追加できるようになりました。これにより、クエリを直接修正することなく、組織のカスタム CodeQL 設定における偽陽性を抑制しやすくなります。詳細は、各言語のライブラリモデルのカスタマイズに関するドキュメントをご覧ください。
翻訳全文
完全な変更点一覧については、バージョン 2.25.4 の完全な変更履歴をご参照ください。CodeQL の新バージョンはすべて自動的に github.com 上の GitHub コードスキャン利用者へデプロイされます。また、CodeQL 2.25.4 で追加された新機能は、将来の GitHub Enterprise Server (GHES) リリースにも含まれます。もし GHES の古いバージョンをお使いの場合は、手動で CodeQL のバージョンをアップグレードすることができます。
原文を表示
CodeQL is the static analysis engine behind GitHub code scanning, which finds and remediates security issues in your code. We’ve recently released CodeQL 2.25.4, which adds Swift 6.3.1 support, improves accuracy of C# analysis, extends security analysis to Vercel serverless functions, and introduces data flow barrier extensions across nearly every supported language.
Language and framework support
Swift
CodeQL now supports analysis of apps built with Swift 6.3.1.
C#
We’ve expanded ASP and ASP.NET remote source modeling to cover additional sources, including fields of tainted parameters as well as properties and fields that become tainted transitively. This improves detection coverage for taint flows in ASP.NET applications.
We’ve added support for C# 14 user-defined compound assignment operators.
When resolving dependencies in build-mode: none, dotnet restore now explicitly uses reachable NuGet feeds configured in nuget.config and any private registries directly, improving reliability when default feeds are unavailable or restricted.
JavaScript/TypeScript
We’ve added support for @vercel/node Vercel serverless functions. Handlers are recognized via VercelRequest/VercelResponse TypeScript parameter types, so standard security queries (e.g., js/reflected-xss, js/request-forgery, js/sql-injection, and js/command-line-injection) now detect vulnerabilities in Vercel API route files.
Query changes
Java/Kotlin
The java/path-injection and java/zipslip queries now recognize Path.toRealPath() as a path normalization sanitizer, consistent with the existing treatment of Path.normalize() and File.getCanonicalPath(). This reduces false positives for code using the NIO.2 API for path canonicalization.
The java/sensitive-log query now excludes additional variable naming patterns that don’t hold sensitive data (e.g., pagination tokens (nextToken, pageToken, continuationToken) and secret metadata (secretName, secretId, secretVersion)) reducing false positives.
The java/sensitive-log query now treats method calls whose names contain “encrypt”, “hash”, or “digest” as sanitizers, reducing false positives when sensitive data is hashed or encrypted before logging.
The java/trust-boundary-violation query now recognizes regular expression checks (e.g., String.matches() guards and @javax.validation.constraints.Pattern annotations) as sanitizers, reducing false positives when input is validated before being stored in a session.
C/C++
We’ve added taint flow models for the Strsafe.h header from the Windows SDK.
New features
You can now add data flow barriers and barrier guards using data extensions across C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby, and Rust. This makes it easier to suppress false positives in your organization’s custom CodeQL configurations without modifying queries directly. See the customizing library models documentation for your language for details.
For a full list of changes, please refer to the complete changelog for version 2.25.4. Every new version of CodeQL is automatically deployed to users of GitHub code scanning on github.com. The new functionality in CodeQL 2.25.4 will also be included in a future GitHub Enterprise Server (GHES) release. If you use an older version of GHES, you can manually upgrade your CodeQL version.
The post CodeQL 2.25.4 adds Swift 6.3.1 support, improvements to C# and Java, and more appeared first on The GitHub Blog.
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み