メインコンテンツへスキップ
MindFort を CI/CD パイプラインに統合すると、設定したプッシュ、プルリクエスト、デプロイのイベントでセキュリティアセスメントをリクエストできます。これにより、セキュリティテストを開発ワークフローの定常的な一部にすることができます。

前提条件

パイプラインを設定する前に、次のものが必要です。
  1. API Key: MindFort Dashboard の Settings > API Keys で生成します。
  2. Target ID: Target Inventory で、アセスメントを実行したいターゲットをクリックすると確認できます。
API キーは CI/CD プラットフォームのシークレットとして保存してください。リポジトリには絶対にコミットしないでください。

GitHub Actions の例

アセスメントをトリガーする

この例では、main へのプッシュまたは PR 時に、ターゲットに対するセキュリティアセスメントをリクエストします。実行を開始できるかどうかは、ターゲットの準備状況、利用可能なクレジット、別のアセスメントがすでに実行中かどうかによって決まります。アセスメント方式は MINDFORT_ASSESSMENT_METHOD 変数 (balanced、deep、または ultra) で設定します。これらはダッシュボードのラベル Balanced、Deep、Ultra に対応します。任意で、assessment_type を black-box (デフォルト) または white-box に設定できます。

ターゲットと検出結果を一覧表示する

最初にターゲットを確認し、その後すべてのターゲットまたは 1 つのターゲット内の検出結果を一覧表示したい場合は、組織全体のエンドポイントを使用します。これらのエンドポイントは limit と offset によるページネーションを使用し、total 件数を含みます。
GET /v1/findings は、識別子、ターゲットのメタデータ、重大度と上書き値、ライフサイクルステータス、タイムスタンプ、再テストの状態を含む検出結果のサマリーを返します。レスポンスには、ページネーションのメタデータとして total、limit、offset、next_cursor が含まれます。デフォルトは status=ACTIVE です。ダッシュボードの Open タブ (脆弱性のみ) と一致させるには、exclude_secured=true を設定してください。1 回のアセスメント実行に絞り込むには assessment_id を使用します。すべてのフィルターについては、Findings API を参照してください。 description、impact、evidence、approach、remediation_advice を含む詳細を取得するには、GET /v1/findings/{finding_id} を使用します。

アセスメントをキャンセルする

POST /v1/assessments/run から返された、または Assessments ページからコピーした assessment_id を使用します。
このエンドポイントはリクエストボディを受け付けません。

アセスメントの進捗をポーリングする

パイプラインでステージ単位の進捗や最終的な失敗理由が必要な場合は、アセスメントの詳細エンドポイントを使用します。
各アセスメントステージを追跡するには stage_progress を使用します。NOT_STARTED は状態がまだ記録されていないことを意味し、RUNNING または ACTIVE は処理が進行中であることを示します。失敗したアセスメントには、問題を説明する failure_reason が含まれる場合があります。 アセスメントの作成に失敗した場合は、安定した公開エラーの code を確認してください。たとえば、assessment_credits_insufficient は請求上の容量不足を認可の問題と区別するためのもので、assessment_queue_loading は再試行可能であり Retry-After を含みます。

検出結果のステータスを更新する

ステータスの更新を使用して、自動化からトリアージの状態を同期させます。解決済みにする際は、resolve_reason (FIX または WONT_FIX) と任意の resolve_context を含めることができます。
有効なステータス値は ACTIVE、RESOLVED、ARCHIVED です。

レポートを生成する

ターゲットのレポートを作成し、ステータスをポーリングして、準備ができたらダウンロードします。
最終更新日 2026年11月5日