追加された検出ルール
CodeQL 2.26.0で新設されたjs/system-prompt-injectionは、信頼できない入力がAIモデルへのシステムプロンプトに混入する経路をJavaScript/TypeScriptのコード上でたどり、検出する。OpenAI、Anthropic、Google GenAIなど複数のSDKのAPI呼び出しがシンクとして登録されており、Soraのプロンプト生成やOpenAI Realtimeのセッション指示の汚染なども対象に含まれる。同時にKotlin 2.4.0への対応も入った。
SQLインジェクション対策との時間差
SQLインジェクションを機械的に検出する静的解析ルールが主要ツールに広く定着するまでには、脆弱性クラスとして認知されてから長い年月がかかった。プロンプトインジェクションは比較的新しい脆弱性概念だが、今回のように主要な静的解析エンジンに専用クエリが実装されるまでの期間はそれよりずっと短い。生成AIブームが、脆弱性の認知から検出技術の実装までのサイクル自体を押し上げている一例と見ることもできる。
過信は禁物
とはいえ、今回のクエリはあくまでコード上の「データフロー」を追うものであり、自然言語の意味を理解して悪意を判定しているわけではない。巧妙に難読化された入力や、システムプロンプトを経由しない別の攻撃経路までは捕捉できない可能性がある。導入する側は、この機能を最後の砦ではなく、レビュー工程に加わる一つの網として位置づけるのが妥当だろう。対応SDKの一覧はGitHub Changelog(https://github.blog/changelog/2026-07-10-codeql-2-26-0-adds-kotlin-2-4-0-support-and-ai-prompt-injection-detection/)で確認できる。