AI 軟體安全
GitHub、AI Scan管理APIを公開。ただしAIによる脆弱性検出でマージをブロックすることは依然不可
GitHubは、セキュリティチームがPR向けのAI脆弱性スキャンをプログラムから一括展開できるよう、組織およびリポジトリ単位のREST APIを追加した。このスキャンは、CodeQLがカバーしていない言語やフレームワークを補完できるが、現時点で結果はあくまで推奨事項であり、AI creditsを消費するうえ、マージ条件としてrulesetに組み込むこともできない。

GitHubは9月10日、pull requestのAI Scanを切り替える機能をREST APIに追加した。セキュリティ管理者は、`/orgs/{org}/code-scanning/ai-scan`を通じて組織設定を読み書きし、`/repos/{owner}/{repo}/code-scanning/ai-scan`で個別リポジトリの設定を確認または変更できる。組織側で無効化されている場合、リポジトリ側で設定を上書きすることはできない。これにより企業は、リスク、言語、パイロット導入などの基準に基づいて展開対象を一括で選定でき、Webインターフェースを一つずつ操作する必要がなくなる。
AI ScanはCodeQLを補完するものであり、代替するものではない。PRの作成時と新しいcommitが追加されるたびに実行され、差分を直接分析するとともに、コード検索を利用してリポジトリのコンテキストを取得するため、プロジェクトをビルドする必要がない。専用のプロンプトを使用し、`copilot-instructions.md`や`CLAUDE.md`などのカスタムエージェント指示は読み込まない。CodeQLが待機中または失敗した場合でも、AIスキャンは独立して完了できる。結果はCodeQLのアラートとともにConversationページおよびFiles changedページに表示され、一部の検出結果についてはCopilot Autofixで修正案を生成できる。
技術的なカバレッジは、CodeQLによるサポートがまだ不完全なPHP、Shell、Terraform HCL、Dockerfileに加え、JSPやBlazorなどのフレームワーク上の空白領域に重点を置いている。現在のカテゴリには、文字列インジェクション、脆弱な暗号方式、アクセス制御の不備、機密データの漏えい、SSRF、デシリアライゼーション、サプライチェーンリスクが含まれる。このため、多言語のモノリポジトリにおける追加のPRレビューシグナルとして適している。
制約も明確だ。この機能はまだpublic previewで、github.comのみをサポートしている。また、GitHub Advanced SecurityとCopilotのライセンスが必要で、AI creditsを消費する。リポジトリ全体のスキャンは実行せず、AIによる検出結果はセキュリティのバックログにも追加されない。現段階では、rulesetを通じてマージをブロックすることもできない。モデルが誤検知を生成する可能性があり、サポート対象の言語や分類も変更される場合がある。導入チームはまずAPIを使って段階的に有効化し、リポジトリごとの誤検知率、対応時間、creditsの消費量を追跡したうえで、展開を拡大するか判断すべきだ。決定論的なコンプライアンス統制として扱うべきではない。