2026.10.12

CodeQL 2.27.2で何が変わる?4言語とmacOS 27の5項目チェック

CodeQL 2.27.2で何が変わる?4言語とmacOS 27の5項目チェック

結論:CodeQL 2.27.2は、C/C++、Go、Rust、JavaScript/TypeScriptの解析精度を上げる一方で、macOS 27とXcode 27を使うCIではcompiled languagesのtraced analysisに注意が必要な更新です。GitHub code scanningを使う組織は、検出強化、CI runner、カスタムクエリの互換性を同時に確認するのが安全です。

GitHubは2026年10月9日のChangelogでCodeQL 2.27.2を公開しました。CodeQLはGitHub code scanningの静的解析エンジンで、Default suiteは498個のsecurity queryで170のCWEを、Extended suiteは追加131 queryでさらに32のCWEを対象にします。この記事では、管理者が今日見るべき5項目に絞ります。

CodeQL 2.27.2とは?

CodeQL 2.27.2は、GitHub code scanningの検出範囲と解析モデルを更新するリリースです。GitHub.com利用者には新しいCodeQLが自動展開され、古いGitHub Enterprise Serverでは手動アップグレードや次期GHESリリース待ちが必要になる場合があります。

今回の要点は3つです。4言語でフレームワークやデータフロー理解が広がったこと、macOS 27とXcode 27でautobuild/manual build modeに制約があること、Goのcontrol-flow graph変更でカスタムクエリ修正が起き得ることです。

何が変わる?4言語の解析強化

C/C++では、std::regexのECMAScript grammar解析、Comdb2 C APIのSQL injection sink model、Bloomberg BDE codecsやbyte-stream deserializersのflow summariesが追加されました。基幹系C++コードの入力経路を拾いやすくなる更新です。

Goではgithub.com/coder/websocketのimport pathがモデル化されました。開発者向けWeb IDEや社内ツールでcoder系websocketを使うチームは、入力処理や認可まわりの検出が増える可能性があります。

RustではAnyAttrとDocComment classes、await付きasync blockのdata flow、native-tls系のflow summariesが改善されました。JavaScript/TypeScriptではWorkflow SDKの「use workflow」「use step」directives、Hapi route-handler、request-input trackingの理解が広がっています。

管理者が見るべき5項目

1つ目はCI runnerです。macOS 27とXcode 27では、compiled languagesに対するCodeQLのautobuild/manual build modeがサポートされません。C/C++、Go、JavaなどをmacOS runnerで解析している場合は、macOS 26/Xcode 26固定、Linux runner移行、build mode none検証のどれかを決めます。

2つ目はカスタムCodeQL query packです。特にGo queryでCFG node、edge、location、basic blockに依存している場合、2.27.2で結果が変わる可能性があります。BasicBlocks::Cfg削除、EntryNode/ExitNode追加、IfStmt.getCond非推奨化を確認してください。

3つ目は検出増加へのトリアージです。解析精度が上がると初回はアラート件数が増えることがあります。重大度、到達可能性、外部入力の有無、修正担当を30日で仕分ける運用にします。

4つ目はCLIログの取り込みです。標準エラーのerror/warning表示が明確になり、ERROR: / WARNING: prefixが付きます。SARIFなどの構造化出力は維持されますが、CIログ監視が文字列依存なら確認が必要です。

5つ目はGHESの更新計画です。GitHub.comでは自動展開されますが、Enterprise Serverでは反映時期が異なります。ネットワーク制限環境ではCodeQL bundle、query pack、検証用リポジトリの再スキャン手順を文書化します。

30日PoCの進め方

最初の1週間は、C/C++、Go、Rust、JavaScript/TypeScriptから代表リポジトリを1件ずつ選び、現在のアラート件数、false positive、CI時間を記録します。Web入力、認証、シリアライズ、TLS、GitHub Actionsを含むものを選ぶと影響が見えやすくなります。

2週目はCodeQL 2.27.2で再スキャンし、増えた検出を「新しいsink model」「data flow改善」「query変更」「環境変更」に分類します。3週目はrunnerとGHES更新計画、4週目はSLA、例外承認、セキュリティレビュー会議への流し込みを決めます。

既存のCopilot運用記事とどう違う?

HelloCraftAIではCopilotのモデル、課金、権限、MCP、sandboxを多く扱ってきました。今回の記事は利用体験ではなく、GitHub code scanningとCodeQLによるセキュリティ検出の運用変更に絞っています。AIコーディングが増えるほど、生成コードを継続的に検査する仕組みが重要になります。

AI開発ツール導入後のセキュリティレビュー、CodeQL query packの整備、GitHub Advanced Securityの運用設計を見直したい場合は、PoC設計から社内ルール化まで一緒に整理できます。

FAQ

Q. GitHub.comのcode scanning利用者は手動更新が必要ですか?

A. GitHub.comのcode scanning利用者には新しいCodeQL versionが自動展開されます。ただし、結果の増減やCI runner制約は組織側で確認が必要です。

Q. macOS 27を使うとCodeQLが全く使えませんか?

A. 全てが使えないという意味ではありません。GitHubの説明では、compiled languagesのautobuild/manual build modesがmacOS 27とXcode 27でサポートされません。該当言語とbuild modeを切り分けて判断します。

Q. まず何から確認すべきですか?

A. CI runnerのOS/Xcode version、Goのカスタムクエリ有無、重要リポジトリ、GHESかGitHub.comかを確認してください。4言語それぞれで代表リポジトリを1つずつ再スキャンすると、影響が見えやすくなります。