GitHubがCodeQL 2.26.0を公開、Kotlin 2.4.0対応とAIプロンプトインジェクション検出を追加

GitHubがCodeQL 2.26.0を公開、Kotlin 2.4.0対応とAIプロンプトインジェクション検出を追加

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

GitHubは、コードスキャンの解析基盤であるCodeQLの新版2.26.0を公開しました。Kotlin 2.4.0への対応に加え、信頼できないユーザー入力がAIモデルのシステムプロンプトへ流れ込む経路を検出する新クエリなどを追加しています。



CodeQL 2.26.0の3行まとめ

今回の発表の要点を、先に3点へ整理しておきましょう。

  • GitHubがコード解析エンジンCodeQL 2.26.0を公開
  • Kotlin 2.4.0対応とAIプロンプトインジェクション検出クエリを追加
  • github.comのコードスキャンには自動配備、GHESは今後のリリースで提供

本記事は公表時点の情報にもとづきます。仕様や提供状況、料金は変わる可能性があります。

導入や利用の判断は各自の責任で公式情報の最新の内容をご確認ください。設定変更やアップデートを行う場合は、必ず事前にバックアップを取得し、検証環境で確認したうえで実施してください。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

CodeQL 2.26.0の主な変更点

CodeQL(コードを静的に解析してセキュリティ上の問題を見つける解析エンジン)の2.26.0では、対応言語・フレームワークの解析範囲の拡大と新しいクエリの追加が中心です。分野ごとに変更点を見ていきましょう。

Kotlin 2.4.0のサポートを追加

CodeQLはKotlinのバージョン2.4.0までを解析できるようになりました。Kotlin 2.4.0で書かれたコードも、CodeQLの解析対象に含められます。

今回拡大されたKotlinの解析範囲は、次のとおりです。

  • 対象言語: Kotlin
  • 解析可能なバージョン: 2.4.0まで

AIプロンプトインジェクションを検出する新クエリ

新クエリjs/system-prompt-injectionは、JavaScript・TypeScriptのコードで、信頼できないユーザー入力からシステムプロンプトやエージェントのツール説明へ至るデータフローを追跡します。入力がこの経路へ入ると、攻撃者による指示の回避、機密情報の漏えい、意図しない操作につながる可能性があります。

CodeQLが示すのは、危険な入力経路がコード上に存在することです。アラートが出ても実行時の攻撃がすでに成功したという意味ではないため、入力源から到達点までの経路と、実際に組み立てるメッセージの役割を確認します。

対処では、ユーザー入力をシステム/開発者メッセージやツール説明へ含めず、ユーザー役割のメッセージとして分離します。組み込む必要がある場合は、固定した許可リストで値を検証するという公式Query Helpの修正指針を確認してください。

このセクションの用語

プロンプトインジェクション
信頼できない入力をAIへの指示として解釈させ、安全上の制約を回避したり意図しない操作を実行させたりする攻撃。
システムプロンプト
AIモデルの役割や振る舞いを規定する上位の指示。通常のユーザーメッセージより優先して扱われる。
静的解析
プログラムを実行せずにコードの構造やデータの流れを調べ、不具合や脆弱性につながる経路を検出する手法。

AI SDK向けのprompt-injection sinkモデルを追加

JavaScript・TypeScript向けに、CodeQLがprompt-injection sink(信頼できない入力が到達すると危険になる、データフロー上の到達点)として扱うようになった主なAPIとフィールドは、次の表のとおりです。

SDK API 対象
OpenAI Sora videos.create/edit/extend/remix prompt
OpenAI Realtime beta.realtime.sessions.create instructions
Anthropic旧API completions.create prompt
Google GenAI caches.create cached contents/system instructions
OpenAI旧API completions.create user-prompt sinkへ再分類

これらはAI SDK向けの解析モデル変更であり、すべてが新しいjs/system-prompt-injection専用のsinkという意味ではありません。具体的なAPIとフィールドは、CodeQL 2.26.0公式変更履歴のAI SDK項目で確認できます。

C#とGoの解析モデルを拡充

C#とGoで追加された主な解析対象を、次の表にまとめます。

対象 主な追加
C#(Razor Pages) ハンドラーメソッドの引数を汚染入力源に追加、SQLインジェクション検出を強化
Go(log/slog) log/slog向けモデルを追加、対応クエリを拡大

C#では、Razor PagesのハンドラーメソッドOnGetOnPostOnPostAsyncなどが受け取るパラメータが、新たな汚染入力源に加わりました。cs/sql-injectionは、PageModel派生クラス内でこれらのパラメータが関わる脆弱性を検出できます。

Goでは、Go 1.21で導入されたlog/slogパッケージ向けのモデルが追加されました。go/log-injectiongo/clear-text-loggingは、パッケージ関数に加えslog.Loggerのメソッドも検出対象です。

JavaScript/TypeScriptに実験的なSSRFクエリを追加

JavaScript/TypeScript向けの実験的なjavascript/ssrf-ipv6-transition-incomplete-guardは、プライベートIPv4アドレスを拒否していても、IPv6遷移形式では回避できる不完全なSSRFガードを検出します。文字列の見た目だけで外部アドレスと判定すると、内部IPv4アドレスを埋め込んだ表現を通す可能性があります。

対象となる代表例は、IPv4-mapped IPv6の::ffff:169.254.169.254、NAT64の64:ff9b::a9fe:a9fe、6to4の2002::/16です。検証後にOSが埋め込まれたIPv4宛先へルーティングするため、クラウドのメタデータサービスや内部ネットワークへ到達し得ます。

対処では、遷移形式を解釈できるパーサーでホストを正規化し、埋め込まれたIPv4アドレスを取り出してプライベート範囲を再判定します。DNS解決後のアドレスも検証するという公式クエリ解説の修正指針まで確認してください。

このセクションの用語

SSRF
外部から与えた宛先へサーバー自身に通信させ、内部ネットワークやクラウドの管理用情報へアクセスする攻撃。
IPv4-mapped IPv6
IPv4アドレスをIPv6形式の中へ埋め込んで表す方式。先頭に::ffff:を付けた表現が代表例。
NAT64
IPv6ネットワークからIPv4の宛先へ通信するために、IPv6アドレスとIPv4アドレスを変換する仕組み。
6to4
IPv4ネットワークを経由してIPv6通信を行う遷移技術。IPv4アドレスを2002::/16配下へ埋め込む。

GoとPythonのクエリで誤検知を削減

誤検知(本来は問題でない箇所を警告する誤り)が減ったGoとPythonのクエリは、次のとおりです。

  • go/unhandled-writable-file-close: 誤検知を削減
  • py/modification-of-locals: 誤検知を削減

Goのgo/unhandled-writable-file-closeは、全実行経路で同じファイルハンドルへのSync呼び出しと結果処理がCloseより前に行われる場合、遅延実行のCloseへの警告を止めました。

Pythonのpy/modification-of-localsは、locals()の辞書が作成元スコープ外へ渡された後の変更を警告しなくなりました。詳しい判定条件は、CodeQL 2.26.0公式変更履歴のPython項目で確認できます。

SwiftとGitHub Actionsの解析精度を改善

SwiftとGitHub Actionsに入った主な改善は、次のとおりです。

  • Swift: CryptoKitのモデル改善
  • Swift: 弱いパスワードハッシュ検出を改善
  • GitHub Actions: ランナーラベル対応を更新
  • GitHub Actions: 名称・説明・警告文を修正

swift/weak-sensitive-data-hashingswift/weak-password-hashingは、CryptoKitのモデル改善により、更新後に追加の検出結果(アラート)が出る可能性があります。

actions/pr-on-self-hosted-runnerは、最新の標準ランナーラベルを認識するよう更新され、誤検知が減りました。actions/untrusted-checkout/mediumは名称・説明・アラートメッセージを修正し、非特権コンテキストに適用されることを明確にしています。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

対象ユーザーと利用シーン

今回の更新が関係する主な対象ユーザーは、次のとおりです。

  • Kotlinアプリを開発するチーム
  • 生成AIを組み込むJS・TSの開発者
  • C#・Go・Python・Swiftを検査するチーム
  • GitHub Actionsを検査する管理担当者

github.comのコードスキャンには、新しいバージョンのCodeQLが自動で配備されます(実際に実行されるクエリは、有効な言語やquery suiteなどの設定によって変わります)。GitHub Enterprise Server(GHES、自社環境で動かすGitHub)の利用者は、今後のリリースでの提供を待つか、古いGHESでは手動でCodeQLを更新するかのいずれかです。

CodeQL 2.26.0の概要

CodeQL 2.26.0の提供先と主な変更を、次の表に整理します。

項目 詳細
提供元 GitHub
発表日 2026年7月10日
バージョン CodeQL 2.26.0
コードスキャンでの提供先 github.com/GitHub Enterprise Server
主な変更 Kotlin 2.4.0対応/AIプロンプトインジェクション検出クエリの追加
提供形態 github.comは自動配備/GHESは今後のリリースで提供

trends編集部の一言

生成AIをアプリへ組み込む動きが広がるなか、プロンプトインジェクションは新しい攻撃面として注目を集めています。CodeQLがこの経路を静的解析で検出できるようになった意味は、決して小さくありません。

実務では、AI SDKを呼び出すコードでユーザー入力がシステムプロンプトへ直接または加工・中継処理を経て渡っていないかを、まず点検する価値があります。今回追加された主なsinkの例は、自社コードを点検する際の代表的な確認観点として使えます。

今回の更新は一様ではなく、Kotlinは対応バージョンの更新、C#・Go・AI SDK関連は解析範囲の拡大、Swiftは追加の検出結果が出る可能性がある変更、Go・Python・GitHub Actionsの一部クエリは誤検知の削減です。github.comのコードスキャンには新バージョンが自動配備されますが、実行対象のクエリは設定に依存するため、GHES利用者は自社の更新計画とあわせて今回の変更を確認するとよいでしょう。

References

  1. GitHub. 「CodeQL 2.26.0 adds Kotlin 2.4.0 support and AI prompt injection detection」. https://github.blog/changelog/2026-07-10-codeql-2-26-0-adds-kotlin-2-4-0-support-and-ai-prompt-injection-detection, (参照 26-07-12).
  2. GitHub. 「CodeQL CLI 2.26.0」. https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.26.0/, (参照 26-07-12).
  3. GitHub. 「System prompt injection」. https://codeql.github.com/codeql-query-help/javascript/js-system-prompt-injection/, (参照 26-07-12).
  4. GitHub. 「Incomplete guard against SSRF via IPv6 transition addresses」. https://github.com/github/codeql/blob/main/javascript/ql/src/experimental/Security/CWE-918/SsrfIpv6TransitionIncompleteGuard.qhelp, (参照 26-07-12).

※本記事は公式発表を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合は、以下フォームよりご報告ください。

修正・削除・掲載などの依頼はこちら

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する