セキュリティ機能はリポジトリ内の既知の脆弱な依存関係、漏洩した認証情報、脆弱なコードを監視し、検出したすべての項目を一つのリストにまとめ、確認済みの項目をプルリクエストとして作成します。このプルリクエストはチームがレビューしてマージします。
このセクションでは製品機能である「コードのセキュリティ」について説明します。Coroid自体がコードとデータを保護する方法については、以下をご覧ください。セキュリティとデプロイ。
機能内容
| 保護 | 機能内容 | チェックを失敗させる可能性がある |
|---|---|---|
| 脆弱な依存関係 | 各プロジェクトのデフォルトブランチの先頭にあるロックファイルを読み取り、すべてのパッケージを公開されているアドバイザリと照合します。pull requestのロックファイル変更も同様の方法でスキャンします。 | はい |
| 脆弱な依存関係の修正 | pull requestを起動し、脆弱なパッケージをアップグレードします。重要な検出結果から優先的に処理します。 | いいえ |
| 漏洩したシークレット | すべての変更内容およびデフォルトブランチの履歴全体から認証情報を探します。 | はい |
| コードスキャン | Coroidのコード向けセキュリティルールに加え、ユーザーが設定した独自のスキャンコマンドも使用されます。 | はい |
| プルリクエスト上のセキュリティレビュー | Coroidのレビュー機能が指摘するセキュリティ問題を、独立したチェック項目で検証した上で、pull requestのチェックを失敗させるかどうかを判断します。 | はい |
| GitHubのセキュリティアラート | Dependabot、コードスキャン、シークレットスキャンのアラートをインポートし、Coroid自身の検出結果と並べて表示します。 | いいえ |
| セキュリティ監査 | 最も重要なコードおよび前回の監査以降に変更されたコードを読み取り、脆弱性を調査します。独立したチェックで確認された項目のみを記録します。 | いいえ |
各保護機能の詳細はこのセクションの個別のページで説明されています。有効化・監視・適用方法については、以下をご覧ください。保護と適用各保護機能の有効化・監視・適用方法について説明します。
配置場所
セキュリティ機能はメインメニュー内の「品質管理」の後に専用の項目として配置されています。
- 概要:重大度別の検出結果一覧、期限を過ぎた項目数、各プロジェクトのカバレッジと最終スキャン日時、修正進捗状況、アドバイザリデータおよびGitHubのアラートのステータスが表示されます。
- 検出結果:セキュリティ機能が検出したすべての項目をプロジェクト別にまとめた一覧です。以下をご覧ください。検出結果とそのライフサイクル。
- 依存関係:各プロジェクトのパッケージインベントリで、CycloneDX形式でのエクスポートが可能です。以下をご覧ください。脆弱な依存関係。
- 脅威モデル:プロジェクトごとに1つずつ作成されます。以下をご覧ください。脅威モデル。
- 設定:組織単位およびプロジェクト単位で設定でき、各保護機能ごとに有効/無効の切り替えが可能です。
すべてのメンバーは閲覧権限のあるプロジェクトの「概要」「検出結果」「依存関係」「脅威モデル」を確認できます。組織のオーナーや管理者は設定、脅威モデル、例外の変更や検出結果への対応を行います。修正タスクは通常の業務と同様で、ファクトリー内に表示され、検出結果から該当するタスクおよびpull requestへリンクが貼られます。
判断基準
証拠が判断基準となります。特定のコミットで検証された指定タイプの証拠がある場合にのみ、検出結果がpull requestをブロックしたり通知を送ったりします。それ以外の場合は「未確認」と記載され、何も実行されません。以下をご覧ください。証拠。
黙って正常と判定されることはありません。正常な結果は完全なスキャンが実施された場合にのみ認定されます。部分的なスキャン、権限不足、古いインベントリ、遅延したアドバイザリデータがある場合は、未知またはカバレッジが不完全と表示され、修正済みとは判定されません。
人間が最終的な決定権を持ちます。Coroidはプルリクエストを作成しますが、マージは人間が行います。例外の設定、スキャナーの構成、情報開示の判断はセキュリティ機能内でオーナーや管理者が行い、テスト中の変更によって決定されることはありません。
デフォルトで非公開まだ公開されていない脆弱性の詳細は、権限を持つ者が開示するまでCoroid内に留まります。以下をご覧ください。情報開示。
Coroidは検出した認証情報を一切使用しません。漏洩した認証情報が有効かどうかを確認するための試行も行いません。
利用料金
セキュリティ機能はすべてのプランで利用可能で、Freeプランにも含まれています。
- 検出機能の利用には費用がかかりません。インベントリ、アドバイザリーのマッチング、シークレットおよびコードスキャン、アラートのインポートには AI モデルは使用されないため、クレジットもエージェント時間も消費されません。各組織の独自のスキャンは実行中にエージェントスロットを1つ占有します。空きスロットがない場合は待機状態となり、Mission Control には「待機中」と表示され、スキャンが完了するまでカバレッジは「不明」と判定されます。Mission Controlでエージェントの作業を一時停止しても、セキュリティスキャンは中断されません。
- モデルを利用する作業は、他の作業と同様に課金されます。修正タスク、セキュリティ監査、Coroid レビューのセキュリティ主張に関する独立した検証などです。これらはクレジットとエージェント時間を消費し、設定 → アクティビティに表示され、クレジットや時間が尽きると待機状態になります。検出処理は引き続き実行されます。
まだ対応していない項目
コンテナイメージ、インフラストラクチャとしてのコード、ランタイムスキャン、ライセンスは対象外です。CIワークフロー設定は、Coroid に既存のコードルールでのみ対応しています。概要にも記載されている通り、対応していない項目が対応済みと誤って表示されることはありません。