コード セキュリティ キャンペーンとは
コードセキュリティキャンペーンは、一つ以上のリポジトリ間で特定されたアラートのグループを集中的に修復する取り組みです。
キャンペーンは組織の所有者またはセキュリティ マネージャーによって作成され、通常はリポジトリの既定のブランチで検出されたアラートを対象とします。 キャンペーンに参加している場合は、これらのアラートの一部を解決するよう求められました。
キャンペーンに参加する利点は何ですか?
組織のコードベースのリスクを軽減するだけでなく、セキュリティ キャンペーンのアラートには、リポジトリ内の別のアラートを修正する場合と比較して、他にもいくつかの利点があります。
- セキュリティ チームには共同作業を行うキャンペーン マネージャーがおり、キャンペーン アクティビティについて話し合うための特定の連絡先リンクがあります。
- 会社にとって重要なセキュリティ アラートを修正していることがわかります。
- 場合によっては、対象となるトレーニング資料にアクセスできる可能性があります。
- GitHub Copilotの自動修正 の提案を要求する必要はありません。最初から既に使用可能になっています。
- GitHub Copilot チャット にアクセスできる場合は、アラートと修正の提案について質問できます。
- 安全なコーディングに関する知識を向上させ、実際に活用します。
キャンペーンに参加すると、セキュリティで保護されたコーディング スキルを強化しながら、組織のコードベースのリスクを軽減できます。
1. キャンペーンについて
作業を効果的に計画できるように、キャンペーンの更新と期限を確認することから始めます。
通知の設定
**書き込み**アクセス権を持っているリポジトリのセキュリティ キャンペーンについては更新がメールで自動的に送られてくるので、関連する更新の情報を常に把握できます。
さらに、code scanning または secret scanning アラートが誰かによって割り当てられた場合、通知を受け取ります。「アラートの割り当て」を参照してください。
キャンペーンの詳細を表示する
1 つ以上のキャンペーン アラートを含むリポジトリの [セキュリティ] タブを開くと、ビューのサイドバーでキャンペーン名を確認できます。 キャンペーン名をクリックすると、キャンペーンに含まれるアラートの一覧と、キャンペーンの進行状況に関する概要情報が表示されます。
キャンペーンで生成された GitHub Issues
一部のキャンペーンでは、キャンペーン マネージャー、連絡先 URL、期限の詳細を示す、GitHub Issues がリポジトリごとに自動的に作成されます。
この問題を使用して、作業の調整、進捗状況の追跡、関係者の調整を行います。 たとえば、次の目的でこの問題を使用できます。
- プロジェクト ボードに問題を追加する
- 担当者の追加
- サブイシューまたはタスクリストを作成する
2. 修正プログラムを適用する前にコンテキストをビルドする
キャンペーンに含まれるアラートに対応できるように、キャンペーンに参加する前に、セキュリティ チームから特定のトレーニングが提供される場合があります。
正式なトレーニング プログラムを使用できない場合は、キャンペーン マネージャーに次の情報を共有するように依頼することができます。
- キャンペーンに含まれるセキュリティ脆弱性の種類
- 修正方法の例
- 修正をテストする方法
さらに、一般的なセキュリティの issue を理解するための外部リソースもあります。
-
**OWASP Foundation** は、最も一般的な脆弱性について学習できるリソースを多数提供しています。詳細については、「[OWASP Foundation について](https://owasp.org/about/)」を参照してください。 -
**MITRE Corporation** は、一般的な弱点の詳細な一覧を管理しています。詳細については、「[CWE について](https://cwe.mitre.org/about/index.html)」を参照してください。
3. 早期かつ頻繁に共同作業を行う
通常、セキュリティ キャンペーンには、キャンペーン マネージャー、オープン フォーラム (GitHub ディスカッションなど)、またはリソースの Web サイトにリンクする連絡先 URL が含まれます。 このスペースは、キャンペーンや特定のアラートについて質問する、役立つリソースを見つける、知識を共有する目的で使ってください。
連絡先 URL を表示するには:
- リポジトリの [セキュリティ] タブを開きます。
- 左側のサイドバーで、参加しているキャンペーンの名前をクリックします。
- キャンペーン追跡ページで、キャンペーン マネージャー名の右側にある をクリックします。
4. 戦略的にアラートをグループ化する
同様のアラートに一緒に取り組み、勢いを高め、コンテキストの切り替えを減らし、基になる問題をより深く理解します。 特定の種類のアラートを自信を持って効率的に解決できるようになるにつれて、以降のアラートをより簡単かつ迅速に解決できるようになります。
5. Copilot を使用してアラートを解決する
Copilot を利用して、セキュリティ キャンペーンのアラートを解決できます。 リポジトリで有効になっている機能によっては、Copilotの自動修正 の提案と Copilot チャット にアクセスできる場合があります。
Copilotの自動修正
Copilotの自動修正 は、キャンペーンに含まれるアラートに対して自動的にトリガーされます。つまり、可能な場合は修正が自動的に生成されます。 提案された修正をコミットしてアラートを解決し、コードベースの継続的インテグレーション テスト (CI) が現在も合格していることを確認できます。 「セキュリティ キャンペーンでのアラートの修正」を参照してください。
Copilotコーディングエージェント がリポジトリで有効になっている場合は、Copilot にアラートを割り当てることもできます。 「セキュリティ キャンペーンでのアラートの修正」を参照してください。
複数のアラートを割り当てることにより、Copilotコーディングエージェント は修正を適用し、コードを繰り返し確認して変更を検証し、新しいセキュリティの問題がないか確認し、マージの競合がないことを確認します。
Copilot チャット
脆弱性や修正の提案、修正が包括的であることをテストする方法を把握するために、Copilot チャット に質問できます。 Copilot チャット にアクセスするには、https://github.com/copilotに移動します。
または、特定のアラートを表示しているときに、ページの右上隅にある Copilot チャット アイコン () をクリックしてチャット ウィンドウを開き、アラートについて Copilot に質問します。
例えば次が挙げられます。
Explain how this alert introduces a vulnerability into the code.
Explain how this alert introduces a vulnerability into the code.
まだ organization 経由で Copilot チャット にアクセスできない場合は、GitHub Copilot無料 にサインアップできます。 「GitHub Copilot プランの始め方」を参照してください。
次のステップ
-
[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign)