Checkmarx ONE (Pro)

DefectDojo の Checkmarx ONE コネクタは、データを取得するために Checkmarx の API を呼び出します。

Connector Mappings

  1. Checkmarx Tenant フィールドにTenant Name を入力します。この名前は Checkmarx ONE のログインページの右上に表示されているはずです。
    " Tenant: <your tenant name> "
    image

  2. 有効な API キーを入力します。新しく生成する必要がある場合があります。詳細は Checkmarx API Documentation を参照してください。

  3. Location フィールドにテナントの場所を入力します。この URL は次の形式です。
    https://<your-region>.ast.checkmarx.net/。リージョンは、Checkmarx アプリ利用時の Checkmarx URL の先頭に表示されます。https://ast.checkmarx.net は主要な US サーバーです(リージョンプレフィックスはありません)。

Branch handling

デフォルトでは、各同期はブランチに関わらず、プロジェクトの直近の完了済みスキャン 1 件のみの検出事項をインポートします。CI で多数のブランチをスキャンしている場合、たまたま最後にスキャンされたブランチがその同期で「勝ち」となります。他のブランチにのみ存在する検出事項はインポートされず、同期のクローズ処理(close-old reconciliation)によって、異なるブランチが交互に最新スキャンになるたびに検出事項が開いたり閉じたりを繰り返すことがあります。

この動作を制御する 2 つのオプションフィールドがあります。

  • Branch: すべてのプロジェクトを 1 つのブランチ名に固定します。そのブランチのスキャンのみがインポートされます。これはコネクタ全体に対する単一のグローバル値であるため、すべてのプロジェクトが同じ長期運用ブランチ(例えば main)を使用しているフリート向けです。
    • * ワイルドカードに対応しています。* を含む Branch 値は、単一のブランチではなく一致するすべてのブランチを対象とします。例えば release/* は各リリースブランチをインポートし、* はすべてのブランチにマッチします。Track Scanned Branches と組み合わせることで、すべてを個別に追跡することなく、一群のブランチを追跡する方法になります。
    • ワイルドカードがスキャンウィンドウ内でどのブランチにもマッチしない場合、その同期は「ブランチに検出事項がない」として扱われるのではなくスキップされます。これにより、一時的に何にもマッチしないパターンが、アセット上のすべての検出事項をクローズしてしまうことを防ぎます。
  • Track Scanned Branches: 有効にすると、各同期はプロジェクトの直近のスキャン履歴の中から完了済みスキャンを持つすべてのブランチを検出し、各ブランチの最新の完了済みスキャンをインポートします(ブランチごとに 1 回の再インポート)。各ブランチの検出事項は、マッピングされたアセット上の「<default engagement> - <branch>」という名前の独自のエンゲージメントに格納されるため、古い検出事項のクローズ処理はブランチ単位でスコープされます。あるブランチにマージされた修正が、別のブランチの検出事項をクローズすることはありません。プロジェクトの主要ブランチ(Checkmarx が報告するもの)が最初にインポートされるため、他のブランチで同じ検出事項が再発した場合、主要ブランチのオリジナルと重複排除されます。

Track Scanned Branches に関する注意点:

  • 自分にどのデフォルトが適用されるか確認してください。 ブランチ追跡は新規インストールではデフォルトで有効です。この変更より前から存在するインストールは従来の動作を維持するため、誰かがトグルを有効にするまでオフのままです。
  • 両方のフィールドが設定されている場合、追跡されるのは固定された Branch のみです。その Branch 値がワイルドカードパターンである場合も同様で、その場合はパターンに一致するすべてのブランチが追跡されます。
  • スキャンされなくなった(マージまたは削除された)ブランチは更新を受け取らなくなります。そのエンゲージメントは最後に判明している検出事項とともに表示され続けるため、レビューして一括でクローズできます。
  • 後でトグルをオフにしても安全です。ブランチごとのエンゲージメントはインポートを受け取らなくなり、次の同期からデフォルトのエンゲージメントが再開されます。
  • Connector は同期スケジュールに沿って状態を突き合わせます。ブランチ追跡は各同期をブランチ横断で完結させるものであり、同期と同期の間のデータをリアルタイム化するものではありません。