Skip to main content

概要

Corgeaのプロジェクト管理機能は、各プロジェクトのダッシュボードにあります。このページでは、コードベース、コンプライアンス要件、チームのワークフローに合わせてスキャン動作を調整できます。不要な検出結果を生むファイルの除外、Corgeaが通常スキップするフォルダの強制スキャン、無関係なCWEの無視、ポリシーの文書化、アプリケーションの安全性を維持するために必要な運用情報の確認が可能です。 ここで行った変更は、選択したブランチに対する今後のスキャンに適用されます。初めて設定する場合はデフォルト設定から始め、いくつかのスキャンレポートを確認してからフィルターを段階的に調整してください。
スキャン設定を変更するには、Can edit project権限が必要です。Settingsダイアログは、プロジェクト編集権限を持つユーザーのみが利用できます。

ファイル無視ルール

ファイル無視ルールを使用すると、重要なコードに関する検出結果だけに集中できます。ルールに一致するファイルは今後のスキャンでスキップされ、プロジェクトに新しい問題を追加する際にも無視されます。一般的なビルドアーティファクト、依存関係フォルダ、生成ファイルはあらかじめ除外されているため、通常はプロジェクト固有の構造に対応するルールだけを追加します。

デフォルトの除外事項

  • テストファイル: *_test.*、 test_*.*、 *.test.*、 *.spec.*、 *__tests__/*、 *test/*、 *tests/*
  • 依存関係: *node_modules/*、*python*/site-packages/*
  • 生成コード: *generated.*、 *.gen.go、 *.pb.*、 *.designer.cs、 *.d.ts
  • ビルドアーティファクト: *build/*、*dist/*、*coverage/*
  • 設定: tsconfig.json、webpack.config.js、pnpm-lock.yaml、*compose*.yml
  • その他の一般的なフォルダ: ディレクトリ名 migrate、migration、migrations、changelog。ほかに *mock/*、 *mocks/*、 *fixtures*、 *tmp/*、 *log/*、 *logs/*

カスタム無視の追加方法

1

設定ダイアログを開く

プロジェクトダッシュボードでSettingsをクリックして設定ダイアログを開き、File Ignore Rulesセクションを展開します。スキャン設定
2

パターンを追加する

Glob Pattern of files to ignoreに、除外するパス(src/tools/)、ディレクトリ(**/legacy/**)、またはネストされたファイル(src/assets/languages/**)を表す単一のGlobパターンを入力します。**/で始まるパターンは、リポジトリルートを含む任意の深さのフォルダに一致します。必要に応じて、ルールの理由を**Comment (optional)**に200文字以内で入力し、Add Ignore Ruleをクリックします。新しいルールは、Pattern、Type、Status、Commentとともに下の表に表示されます。
ファイル無視ルールの設定
3

ルールのコメントを更新する

ルールのコメントを編集するには、同じパターンを正確に再入力します。ボタンがUpdate Ignore Ruleに変わり、送信すると重複ルールを作成せずに既存ルールのコメントが更新されます。コメントを空欄で送信した場合、既存のコメントは変更されません。
既存のファイル無視ルールを更新
4

ルールを有効化、無効化、または削除する

Actions列から、ルールをDisable(一覧には残りますがスキャン時に適用されません)、再度Enable、または完全にDeleteできます。Status列には、各ルールが現在有効かどうかが表示されます。
無効化されたファイル無視ルール
5

動作を確認

テストスキャンを実行し、動作が想定どおりであることを確認します。生成物や一時ディレクトリが新たに追加された場合は、この一覧を見直してください。

ルールを追加するタイミング

  • 内部ツール:スキャン対象にしない社内デプロイスクリプトやCLIヘルパーなどのスクリプトやユーティリティ。
  • レガシーまたは非推奨のコード:リリースには含めないものの、参照用に保持しているモジュール。
  • ベンダーまたはサードパーティのアーティファクト:ハードウェアベンダーやパートナーから提供され、自社では変更や管理を行わないファイル。
  • ドキュメントやコンテンツ:コードだけを対象とする場合に除外する大規模なドキュメントフォルダ。
  • カスタム出力:CIやローカルでの検証中に作成される、標準以外のビルドディレクトリ。
今後レビューする際にフォルダが除外される理由をチームメンバーが把握できるよう、各ルールの理由を必ず記載してください。

ファイル包含ルール

Corgeaはmigrations、vendor、node_modulesなどの一般的なフォルダをスキップします。包含ルールは、一致するファイルをそれでもスキャンします。そのコードが自社のもの(migrationsフォルダやvendor/配下のフォークなど)のときに使います。 両方に一致する場合はFile Ignore Ruleが優先されます。リポジトリ全体に一致するパターン(**、**/*)は拒否されます。包含ルールは、内容からテスト、圧縮(minified)、生成ファイルと判定されたファイルはスキャンしません。
1

File Include Rulesを開く

プロジェクトダッシュボードでSettingsをクリックし、File Include Rulesを展開します。
2

パターンを追加する

Glob Pattern of files to always scanに、**/migrations/**やvendor/our-fork/**などのグロブを入力します。**/で始まるパターンは、リポジトリルートを含む任意の深さのフォルダに一致できます。任意で**Comment (optional)**にスキャンすべき理由を200文字以内で記入し、Add Include Ruleをクリックします。
File Include Rulesの設定
3

ルールの有効化、無効化、削除

Actions列の操作はFile Ignore Rulesと同じです。
corgea.yamlのinclude_pathsでも設定できます。以前のスキャンでスキップされたファイルは、ルール追加後に一度フルスキャンを実行すると解析されます(corgea scan --disable-incremental、またはアプリのFull Scan)。

CWEフィルター

CWEフィルターを使用すると、Corgeaの検出結果をプロジェクトの脅威モデルに合わせることができます。このセクションは、コードで表現したセキュリティポリシーに相当します。ほかのセキュリティ制御ですでに対策済み、または使用している技術スタックには該当しない脆弱性カテゴリを無効にできます。

フィルターの設定方法

1

CWE Filtersを開く

SettingsダイアログでCWE Filtersセクションを展開します。デフォルトでは、すべてのCWEが追跡対象です。
2

無視するCWEを選択

CWE ID(例:CWE-79)を入力します。必要に応じてGlob Pattern(例:**/tests/**)を指定し、ルールを特定のファイルやフォルダに限定できます。Globパターンを空欄にすると、プロジェクト内のすべてのファイルにルールが適用されます。必要に応じて、フィルターの理由をCommentに入力し、Add CWE Filterをクリックします。
CWE フィルターの設定
3

フィルターの更新、無効、削除

既存のCWEとGlobパターンの組み合わせを再入力してコメントを編集すると、ボタンがUpdate CWE Filterに変わります。送信すると重複項目を作成せず、既存の項目が更新されます。コメントを空欄で送信した場合、既存のコメントは変更されません。Actions列から、いつでもフィルターを無効化、有効化、削除できます。

よくあるシナリオ

  • 重要なパスに集中:重大度の高い検出結果のトリアージが完了するまで、影響の小さいCWEを一時的に除外します。
  • フレームワークレベルの保護:フレームワークに組み込まれた保護機能(例:マネージド認証プロバイダー)で対策済みのCWEを除外します。
  • コンプライアンスに合わせた調整:スキャンを管理可能な範囲に保ちながら、組織のポリシーに違反するCWEを禁止します。
  • 開発初期:不要な検出結果を非表示にして開発速度を優先し、リリース前にフィルターを再度有効にします。
ヒント:フィルターの変更による回帰を見逃さないよう、すべてのCWEを有効にして定期的にスキャンを再実行してください。

プロジェクトのビューとコントロール

プロジェクト一覧を検索する

Projectsページの検索ボックスでは、プロジェクト名、リポジトリURL、タグを検索できます。1文字の検索ではCorgeaに追加済みのプロジェクトのみが絞り込まれます。2文字以上入力すると、接続済みのソースコードプロバイダーから検出された一致するリポジトリも検索対象になります。最近追加または名前変更されたリポジトリは、プロバイダーの一覧が更新された後に表示される場合があります。管理者はページの更新操作を使用して、最新の一覧を取得できます。

特定のブランチのスキャンを起動

スキャンを開始する前に、ダッシュボード上部のブランチピッカーで対象のブランチを選択します。Corgeaは、そのブランチの最新コミットをスキャン対象として固定し、ブランチのメタデータを保存します。これにより、開発ラインごとの結果を比較できます。
プロジェクトダッシュボードのブランチピッカー
ページヘッダーのボタンからスキャンを開始します。スキャン実行済みのプロジェクトではNew Scan、未実行のプロジェクトではStart Scanと表示されます。
ページヘッダーの新しいスキャンボタン
ボタンを押すとメニューが開き、2つのオプションが表示されます。
  • Full Scanでは、プロジェクトで有効なすべてのスキャナーを選択したブランチに対して実行します。
  • Custom Scanでは、実行するスキャナーを選択し、ポリシーを使用するスキャナーについては対象のポリシーも選択します。Start Custom Scanをクリックして確定します。契約プランに含まれないスキャナーも表示されますが、Plan Restrictedと示されます。
新しいスキャンメニューのフルスキャンおよびカスタムスキャンオプション
プロジェクトをスキャンできない場合、ボタンはロックアイコン付きでグレーアウトされます。ボタンにカーソルを合わせると理由が表示されます。

スキャンログ

Scan Logには、ユーザーが開始したすべての実行が記録されます。各スキャンのステータス、所要時間、ブランチ、実行者を確認できます。このページでは、スキャンの再実行、結果の並列比較、失敗の原因となった検出結果の確認が可能です。 スキャン一覧では、実行中のスキャンのステータスが同じ行で更新されます。現在のフィルターに一致するスキャンがほかにもある場合は、件数を示すボタンが表示されます。たとえば 3 scans to show です。クリックすると、現在のフィルターを維持したまま最初のページを読み込みます。
現在のフィルターに一致するスキャンを示す3 scans to showボタンがあるスキャン一覧
スキャン詳細のヘッダーには、実行のきっかけを示すスキャンタイプのバッジが表示されます。
  • Full Scan — 選択したブランチまたはアップロードしたプロジェクト全体を対象
  • CLI Scan — CLIから実行
  • PR #N — プルリクエストから実行(利用可能な場合はPRへリンク)
Full Scanバッジが表示されたスキャン詳細ヘッダー
CLI Scanバッジが表示されたスキャン詳細ヘッダー
PR #12バッジが表示されたスキャン詳細ヘッダー
スキャンにエラー、警告、または情報エントリが記録されると、Corgeaは件数をScan Logに表示し、最も高い重大度に応じてLogsボタンを強調表示します。
スキャン実行の一覧を表示するスキャンログ

エンドポイント検出フィルター

スキャンの検出結果テーブルをEndpointsビューに切り替えた場合、Reachableトグルを使用して、エンドポイントのコールパスから到達可能な問題のみに絞り込めます。トグルの状態はURLに保持されるため、絞り込んだビューを共有またはブックマークできます。 プロジェクトページのAdvancedボタンをクリックすると、Advanced Vulnerability Searchページが開き、すべてのスキャン実行を横断して検出結果を絞り込めます。ページ上部には総数と重大度別の件数が表示されます。各プロジェクトを展開すると、一覧を離れることなく、ファイル、CWEバッジ、緊急度、検出日時などの情報を確認できます。
  • フィルター:Vulnerability Category、Urgency、Status、Fix Status、Scan Type、Project、Branch、ポリシーなどのメタデータで結果を絞り込めます。検索対象期間を指定するため、プリセットまたはカスタムのDate Rangeを必ず選択します。
  • 日付範囲の通知:日付範囲を選択せずに検索しようとすると、不足している設定が強調表示されます。プリセットまたはカスタムの期間を選択するまで、検索操作は無効です。
  • 結果の確認:行をクリックすると、現在のフィルターを維持したままサイドパネルに詳細が表示されます。一覧から移動せずに、根拠、修復ガイダンス、関連するスキャンの詳細を確認できます。
  • SCAとコンテナの問題: 利用できる場合は、パッケージの詳細、履歴、到達可能性を検索結果内で開けます。問題の全画面はOpen Full Viewを使います。
  • IaCの問題: 検索結果から担当者とステータスを変更できます。小さい画面でも操作できます。
高度な検索場所
高度な脆弱性検索画面