GitHubが、組織とリポジトリ単位でリポジトリ全体のAIスキャンを有効・無効にするREST API設定をパブリックプレビューで提供する。管理者はスクリプトやインフラコードを使い、設定をコードで管理する方式で複数のリポジトリに設定を適用でき、組織ポリシーに合わせてリポジトリ別の例外も設けられる。

1. 組織とリポジトリで設定を管理

GitHubは2026年11月13日、既存のAIスキャン有効化機能に、リポジトリ全体をスキャンするかどうかの設定を追加したと発表した。新しい属性repository_scanは、有効または無効のいずれかを受け取る。組織やリポジトリに取得または変更リクエストを送って管理する。

従来は、コード変更のレビューを受けるために提案する機能であるプルリクエストを対象とするスキャンを設定していた。今回追加されたリポジトリ全体のスキャン設定は、既存の設定とともに1回のリクエストで変更できる。新しい設定も既存の設定と同じく、上位の設定を下位に引き継ぐ、組織・リポジトリ間の継承ルールに従う。

組織設定を無効にすると、所属するリポジトリでは有効にできない。組織が有効にするとリポジトリが設定を継承し、管理者は個々のリポジトリで選択的に無効にできる。そのため、中央のポリシーを既定値として適用しつつ、例外となるリポジトリを個別に管理できる。

2. 展開の手間を減らし、実行コストを管理する

設定の展開と実際のスキャン実行は2段階に分かれる。管理者が利用可能な範囲を決めると、書き込み権限を持つユーザーが必要なときにスキャンの実行を要求する。各スキャンは、使用量に応じて差し引かれる利用単位であるGitHub Code Security AIクレジットを消費する。

APIで繰り返しの設定を自動化すれば、リポジトリを1つずつ開いて変更する手間を減らし、チームが定めたポリシーを一貫して適用しやすい。一方、実際の実行にはクレジットが必要なため、設定の展開で節約した管理の手間とは別に実行コストを扱う必要がある。一括で有効にするリポジトリの範囲と、実行を任せるユーザーを併せて決めることが運用上重要となる。

3. 適用対象と権限を確認

組織設定は組織の所有者とセキュリティマネージャーが管理でき、リポジトリ管理者は個別のリポジトリ設定を調整できる。権限範囲を細かく定めた認証キーであるきめ細かなトークンを使う場合、組織の変更には組織管理の書き込み権限が、リポジトリの変更にはリポジトリ管理の書き込み権限が必要となる。リポジトリ設定の取得には、コードで検出したセキュリティ問題の通知であるコードスキャンアラートの読み取り権限が必要だ。

組織が所有する公開リポジトリで利用でき、非公開または内部リポジトリにはGitHub Code SecurityかGitHub Advanced Securityが必要となる。適用手順は、エンタープライズ所有者がポリシーでAIスキャンを許可することから始まる。

4. リクエストを一度に適用する方法

組織のパスとリポジトリのパスは、どちらも設定の取得と変更に対応する。組織では/orgs/{org}/code-scanning/ai-scanを、個別のリポジトリでは/repos/{owner}/{repo}/code-scanning/ai-scanを使う。

取得はGET、変更はPATCHリクエストで送る。以下は、組織でプルリクエストスキャンとリポジトリ全体のスキャンを同時に有効にする原文の例だ。認証トークンと組織名を自分の環境に合わせて指定する。

curl -L \
  -X PATCH \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2026-03-10" \
  https://api.github.com/orgs/ORG/code-scanning/ai-scan \
  -d '{"pr_scan":"enabled","repository_scan":"enabled"}'

リクエストが成功すると、両方の設定の状態がレスポンスに含まれる。同時に変更する設定を1つのリクエストで送れば、レスポンスで両方の値を確認でき、変更後の状態を点検する手順もまとめられる。

エンタープライズポリシーが有効化を阻止するか、値の検証に失敗すると422エラーが返され、両設定を同時に変更するリクエストで片方でも阻止されると、両方とも元の値のままとなる。リポジトリが変更を防ぐために保存されたアーカイブ状態にあるか、GitHub Advanced Securityが有効でない場合、リポジトリの変更リクエストで403エラーが発生することがあり、GitHub Enterprise Serverはサポート対象外となる。

5. 取得結果で組織設定と例外を点検する

組織の取得レスポンスは組織に保存された設定値を示し、組織への実際の適用にはエンタープライズポリシーが反映される。そのため管理者は、上位のポリシーを確認して組織設定を展開した後、リポジトリ別の取得で個々の設定を点検する順序で運用手順を組める。

組織とリポジトリの取得パスを併用すれば、中央で定めた既定値と個々のリポジトリが選んだ例外を、それぞれの階層で確認できる。複数のリポジトリへ機能を広げる際も、設定変更だけでなく確認手順までスクリプトに含めるのが実用的だ。

組織単位の設定とリポジトリ別の例外を併せて提供することで展開管理は簡素化されるが、スキャンの実行とクレジット管理は別途設計する必要がある。