Skip to main content

セキュリティ キャンペーンの作成と管理

セキュリティ キャンペーンは、organization のセキュリティの概要から直接管理できます。

この機能を使用できるユーザーについて

管理者 ロールを持つ組織の所有者、セキュリティ マネージャー、および組織メンバー

GitHub Secret Protection or GitHub Code Security が有効になっている GitHub Team 上の organization

メモ

現在、secret scanning アラートのキャンペーンは パブリック プレビュー 段階であり、変更される可能性があります。

セキュリティ キャンペーンを作成する

セキュリティ キャンペーンは、組織の [ Security and quality ] タブから作成および管理されます。

次のいずれかを使って、キャンペーンに含めるアラートを選びます。

  •         **キャンペーン テンプレート**: キャンペーン テンプレートには、最も一般的なアラート選択用のフィルターが含まれています。 
            コード キャンペーンの場合は、含まれるすべてのアラートの種類 (つまり、GitHub Copilotの自動修正) に対して`autofix:supported`がサポートされるという要件もすべて含まれます。
    
  •         **カスタム フィルター**: カスタム フィルターを使ってキャンペーンを作成すると、キャンペーンのアラートを選ぶための独自の条件を定義できます。また、organization の特定のニーズに合わせてキャンペーンを調整できます。
    

さらに、REST API を使うと、キャンペーンをより効率的かつ大規模に作成および操作できます。 詳しくは、「セキュリティ キャンペーンの REST API エンドポイント」をご覧ください。

キャンペーンを作成する

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下にある [ Security] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーにある [ Campaigns] をクリックします。

  4. [キャンペーン の作成] をクリックし、次のいずれかのオプションを選択します。

    • [ テンプレートから] をクリックし、一覧から定義済みのCode または Secrets キャンペーン テンプレートを選択します。
    •      **[From code scanning filters]** または **[From secret scanning filters]** をクリックし、フィルターを追加してキャンペーンのアラートのサブセットを定義します。 「[便利なフィルターの例](#examples-of-useful-filters)」を参照してください。
      
  5. キャンペーンに含める一連のアラートをレビューし、必要に応じてフィルターを調整します。 選択できるアラート数は 1,000 件以下です。

  6. キャンペーンのスコープに問題がなければ、[名前を付けて保存] をクリックし、キャンペーンの下書きを作成するか、公開する前にキャンペーンの詳細の仕上げに直接進むかを選びます。

    • キャンペーンの開始前にキャンペーンの範囲と詳細を確認する場合、またはキャンペーンの実装に関するフィードバックを求める場合は、[下書きキャンペーン クリックします。
    • キャンペーンを公開する予定で、レビュー フェーズが不要な場合は、 キャンペーンを発行をクリックします。
  7. キャンペーンの下書きを作成することを選んだ場合は、必要に応じて、キャンペーンの詳細を編集、保存、レビューを行います。

    • キャンペーンのニーズに合わせて [キャンペーン名] と [簡単な説明] を編集し、キャンペーンをサポートするすべてのリソースにリンクします。
    • [キャンペーン期日] を定義し、キャンペーンの主要連絡先として 1 人以上の [キャンペーン マネージャー] を選択します。 キャンペーン マネージャーは、organization 内の所有者またはセキュリティ マネージャーであるユーザーまたはチームである必要があります。
    • 必要に応じて、キャンペーン マネージャーに連絡するための"連絡先リンク" ( GitHub Discussions または別のコミュニケーション チャネルへのリンクなど) を指定します。
    •      **[下書きの保存]** をクリックします。
      
    • キャンペーンを公開する準備ができたら、右上隅にある [レビューと公開] をクリックします。
  8. [キャンペーンの公開] ページで、キャンペーンの詳細をレビューまたは編集します。

    • キャンペーン名
    • 簡単な説明
    • [期限日]
    • キャンペーン マネージャー
    • 連絡先リンク
  9. 必要に応じて、"コード" キャンペーンの場合、キャンペーンに含まれる各リポジトリにキャンペーンの問題を作成するには、[Publish campaign] (キャンペーンの発行)ページの [Automations] セクションで、「このキャンペーンで NUMBER リポジトリの問題を作成」を選択するチェックボックスをオンにします。

  10.        **[Publish campaign]** をクリックします。
    

セキュリティ キャンペーンが作成され、キャンペーンの概要ページが表示されます。

Organization のセキュリティ キャンペーンは正常に作成されましたか?

          <a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
          <span>はい</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>いいえ</span></a>

便利なフィルターの例

どのテンプレート フィルターでも、解決する必要があるアラートのみを含めるには、is:open を使います。 code scanningアラートの場合は、既定のブランチにも存在する必要があります。

          code scanning アラートの既定の追加フィルター:

* autofilter:true には、アプリケーション コード内にあるように見えるアラートのみが含まれます。 * autofix:supported には、 GitHub Copilotの自動修正でサポートされているルールに対するアラートのみが含まれます。

アラートのフィルター処理について詳しくは、「大規模なアラートを修正するためのセキュリティ キャンペーンの実行」と「セキュリティの概要でアラートをフィルター処理する」を参照してください。

          Code scanning アラート フィルター

通常は、コア フィルターに加えて、結果を特定のルール名、重大度、またはタグに絞り込むフィルターを追加します。

  •         `is:open autofilter:true autofix:supported rule:java/log-injection`を使用して、Java コードにログ挿入のアラートのみを表示します。 「[AUTOTITLE](/code-security/code-scanning/reference/code-ql-built-in-queries)」を参照してください。
    
  •           "CWE 117: Improper Output Neutralization for Logs" のアラートのみを表示する `is:open autofilter:true autofix:supported tag:external/cwe/cwe-117`。 これには、Javaやその他の言語でのログ挿入が含まれます。
    
  •         `is:open autofilter:true autofix:supported severity:critical`: セキュリティ重大度がクリティカルのアラートのみを表示します。
    

          Secret scanning アラート フィルター

通常は、コア フィルターに加えて、結果を特定のプロバイダー、シークレットの種類、またはプッシュ保護をバイパスしたシークレットに絞り込むフィルターを追加します (Enterprise アカウントのみ)。

  • トークン プロバイダー Azureのアラートのみを表示するには、is:open provider:azure
  •         `is:open secret-type:azure_ai_services_key,azure_cognitive_services_key`: トークン "azure_ai_services_key" と "azure_cognitive_services_key" のアラートのみを表示します。 「[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)」を参照してください。
    
  •         `is:open props.BusinessPriority:Urgent`: カスタム プロパティ "BusinessPriority" の値が "Urgent" であるリポジトリのアラートのみを表示します。 「[AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization)」を参照してください。
    

セキュリティ キャンペーンを開始する

コード キャンペーンを作成すると、すべてのアラートが自動的に GitHub Copilotの自動修正 に送信され、容量が許可されたとおりに処理されます。 これにより、pull request で検出されたアラートの提案が、新しいキャンペーンによって遅延されないようにします。 ほとんどの場合、作成できるすべての提案は 1 時間以内に準備ができていることがわかります。 ビジーな時間帯や特に複雑なアラートの場合は、時間がかかります。

セキュリティ キャンペーンを開始したことを開発者が知る方法

新しいキャンペーンは、含まれる各リポジトリの [ Security and quality ] タブのサイドバーに表示されます。

  •         **コード キャンペーン**: キャンペーンに含まれるリポジトリに対して**書き込み**アクセス権限を持つすべてのユーザーに通知されます。
    
  •         **シークレット キャンペーン**: キャンペーンに含まれるリポジトリのアラート一覧ビューを表示するアクセス権限を持つすべてのユーザーに通知されます。
    

ヒント

リポジトリに対して書き込みアクセス権限を持つすべてのユーザーにキャンペーン アラートを割り当てることができます。「アラートの割り当て」を参照してください。

開発者エクスペリエンスの詳細については、「セキュリティ キャンペーンでのアラートの修正」を参照してください。

セキュリティ キャンペーンに対するエンゲージメントを高める方法

キャンペーンへのエンゲージメントを高める最善の方法は、アラートを修復するために共同作業するチームに周知することです。 たとえば、エンジニアリング マネージャーと協力して、比較的忙しくない開発期間を選択して、関連するトレーニング セッションでそれぞれが異なる種類のアラートに焦点を当てて一連のセキュリティ キャンペーンを実行できます。 その他のアイデアについては、「大規模なアラートを修正するためのセキュリティ キャンペーンの実行」を参照してください。

セキュリティ キャンペーンの詳細を編集する

キャンペーンの名前、説明、期限、管理者を編集できます。

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下にある [ Security] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーにある [ Campaigns] をクリックします。

  4. キャンペーンの一覧からキャンペーン名をクリックすると、キャンペーン追跡ビューが表示されます。

  5. キャンペーンのタイトル行で、[] をクリックし、[キャンペーンの編集] 選択します。

  6. [キャンペーンの編集] ダイアログで変更を行い、[変更を保存する] をクリックします。

変更内容はすぐに行われます。

セキュリティ キャンペーンの終了、再開、削除

アクティブなキャンペーンは 10 個に制限されています。 キャンペーンが完了したとき、または一時停止する場合は、キャンペーンを閉じる必要があります。 "終了" キャンペーン一覧では、すべての終了済みキャンペーンを引き続き表示できます。また、終了済みキャンペーンは再開することができます。

キャンペーンまたはそのデータを保持する必要がない場合は、削除できます。

キャンペーンを終了する

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下にある [ Security] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーにある [ Campaigns] をクリックします。

  4. 閉じるキャンペーンの右側にある [] をクリックし、[キャンペーンを閉じる] 選択します。

終了済みキャンペーンを再開する

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下にある [ Security] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーにある [ Campaigns] をクリックします。

  4. キャンペーン一覧の上にある [終了] をクリックして、終了済みキャンペーン一覧を表示します。

  5. 再度開くキャンペーンの右側にある [] をクリックし、[キャンペーン再度開く] を選択します。

キャンペーンの削除

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下にある [ Security] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーにある [ Campaigns] をクリックします。

  4. 削除するキャンペーンの右側にある [] をクリックし、[キャンペーンの削除] 選択します。

次のステップ

  •         [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/tracking-security-campaigns)