# リポジトリのバックログの AI スキャン

複数の言語にまたがって追加のセキュリティ脆弱性を見つけ、既存の code scanning バックログで結果を管理します。

> [!NOTE]
> リポジトリの AI スキャンは パブリック プレビュー プレビュー中であり、変更される可能性があります。

リポジトリの AI スキャンでは、利用可能な場合は複数のモデルを活用する独自のハーネスを使用して、リポジトリの既定のブランチでセキュリティの脆弱性を見つけます。 すべての言語をサポートし、CodeQL でサポートされている言語を超えてカバレッジを拡張し、CodeQL が既に分析している言語で追加の脆弱性を見つける。
CodeQLとは無関係に、必要に応じてスキャンを実行します。

リポジトリの AI スキャンにより、CodeQLバックログに結果が追加され、code scanningアラートと並んで表示されます。 既存のワークフローを使用して、アラートの割り当て、agentic autofix の適用、セキュリティ キャンペーンへのアラートの追加、問題へのリンクを行うことができます。

## Availability

可用性は、誰がリポジトリを所有しているかとその可視性によって異なります。

| リポジトリ所有者                                             | 視認性      | 可用性と要件                    |
| ---------------------------------------------------- | -------- | ------------------------- |
| 組織                                                   | Public   | アクティブコミッター ライセンスがなくても利用可能 |
| 組織                                                   | 非公開または内部 |                           |
| GitHub Code SecurityまたはGitHub Advanced Securityで利用可能 |          |                           |
| 個人用アカウント                                             | Public   | Available                 |
| 個人用アカウント                                             | Private  | 該当なし                      |

GitHub Copilot ライセンスは必要ありません。

## Billing

必要に応じてリポジトリに対して AI スキャンを実行すると、各スキャンで **Code SecurityAI credits** が消費されます。 この使用方法は、アクティブ/コミッター ライセンスとは別です。

使用状況は、組織の請求責任を持つアカウントに課金されます。

個人アカウントが所有するパブリック リポジトリの場合、リポジトリ所有者が組織または企業によって提供された GitHub Copilot ライセンスを持っていない限り、その個人アカウントに使用量が課金されます。 その場合、ライセンスを提供する組織または企業に使用量が課金されます。

課金アカウントがAI creditsの権利を通じて含まれるGitHub Copilotを受け取った場合、AI スキャンでは最初にこれらのクレジットが使用されます。 含まれているクレジットが使い果たされた後、またはアカウントにクレジットが含まれていない場合、使用状況は従量制課金され、該当する予算によって管理されます。 ハード予算で利用可能なCode SecurityAI creditsがない場合、AI スキャンでは結果を生成できません。 管理者が制限予算を増やすか、新しい請求サイクルが開始されると、スキャンが再開されます。

リポジトリの AI スキャンには、予算が非常に多く消費されないようにするための制限がいくつかあります。 検出手順は、30 分および 150,000 AI creditsに制限されます。

詳細については、「[GitHub Advanced Security ライセンス請求](/ja/billing/concepts/product-billing/github-advanced-security#how-ai-feature-usage-is-billed)」を参照してください。

## AI スキャンのしくみ

リポジトリへの **書き込みアクセス権** を持つユーザーは、リポジトリの既定のブランチのスキャンを手動でトリガーします。 AI エージェントはリポジトリ全体を検索して、調べるファイルと関数を識別します。 すべてのファイルを完全に読み取るのではなく、さらなる分析のためにコードを選択します。 エージェントは制限時間内で動作します。 その予算が使い果たされると、検索を停止し、検出結果が報告されます。

AI スキャンは、 CodeQLとは無関係に実行されます。 リポジトリに既に CodeQL アラートがある場合、AI スキャンはこれらのアラートを使用して、一致する検出結果を抑制します。

## コード スキャン バックログに AI スキャンの結果がどのように表示されるか

スキャンが完了すると、その結果はリポジトリの code scanning アラート リストの \[ **セキュリティと品質** ] タブの下にアラートとして表示され、 CodeQLからのアラートと共に表示されます。
**AI スキャン** ツールで一覧をフィルター処理して、これらの結果に注目することができます。

既存のアラート重大度フィルターを使用して、評価のために検出結果に優先順位を付けます。 アラートを割り当てたり、問題にリンクしたり、セキュリティ キャンペーンに含めたり、agentic autofix を使用してそれらの修復を支援したりできます。 「[リポジトリのコード スキャンのアラートの評価](/ja/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assess-alerts)」を参照してください。

パブリック プレビュー中に修正候補をマージしても、別の AI スキャンは自動的にトリガーされません。 解決されたアラートを確認するには、新しいスキャンを手動でトリガーする必要があります。

アラートは、適用された修正によってアラートをトリガーしたコードの正確な行が変更された場合にのみ、自動的に閉じられます。 それ以外の場合は、アラートを手動で閉じる必要があります。

## Limitations

* スキャンでは、デフォルト ブランチのみが分析されます。
* スキャンは手動でトリガーされます。 スケジュールされたスキャンと、プッシュ時の自動スキャンはサポートされていません。
* エージェントは、制限時間内で調べるコードを選択します。 スキャンでは、すべてのファイルを網羅的に分析したり、すべての脆弱性が検出されることを保証したりすることはありません。
* 既存の CodeQL アラートとの照合はベスト エフォートであるため、重複するアラートが発生する可能性があります。
* AI によって生成された結果は不正確になる可能性があります。 対処方法を決定する前に、各指摘事項を確認します。

AI を利用したセキュリティ機能の使用に関するガイダンスについては、 [アプリケーション カード: GitHubセキュリティと品質の AI 機能](/ja/code-security/responsible-use/security-and-quality-ai-features) を参照してください。

## 対応している言語

リポジトリの AI スキャンでは、 CodeQLで既にサポートされている言語を含め、すべての言語がサポートされます。 これを CodeQL と共に使用して、追加の脆弱性を見つけたり、CodeQL がサポートしていない言語までスキャン対象範囲を拡張したりします。

## リポジトリの AI スキャンの有効化

リポジトリの AI スキャンを有効にする前に、リポジトリの適格性を確認し、課金アカウントに含まれるAI creditsの内容を確認し、従量課金の使用量に対する予算を設定します。

* **エンタープライズ**: エンタープライズ所有者は、組織がリポジトリの AI スキャンを有効にすることを許可または禁止できます。 このポリシーは、プル要求での AI スキャンと、リポジトリのバックログに対する AI スキャンの両方を制御します。 既定では、ポリシーは "許可されていません" に設定されています。 AI スキャンを許可しても、自動的には有効になりません。 「[エンタープライズのコード セキュリティと分析のためのポリシーの適用](/ja/enterprise-cloud@latest/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-ai-scan-in-your-enterprises-repositories)」を参照してください。
* **組織**: 組織の所有者とセキュリティ マネージャーは、対象となるリポジトリに対して AI スキャンを有効にすることができます。 リポジトリは組織の設定を継承します。 「[組織のグローバル セキュリティ設定の構成](/ja/code-security/how-tos/secure-at-scale/configure-organization-security/establish-complete-coverage/configure-global-settings#enabling-ai-scan-for-repositories)」を参照してください。
* **組織所有のリポジトリ**: リポジトリへの管理者アクセス権を持つユーザーは、組織が AI スキャンを有効にしたときにオプトアウトできます。 組織の設定が無効になっている場合は、オプトインできません。 この機能を無効にするには、リポジトリの \[設定] ページの \[Advanced Security] の下の \[Code Security] で、 **リポジトリの AI スキャン**をオフにします。

## 次のステップ

スキャンを実行して結果のアラートを管理するには、 [リポジトリの既定のブランチでの AI スキャン アラートの表示と管理](/ja/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/viewing-and-managing-ai-scan-alerts) を参照してください。