コンテンツにスキップ
Dev Classmethod Jp Gcp Scc Iac Scan Result Job Summary

Security Command Center の IaC スキャン結果を GitHub Actions Summary に集計するステップを追加してみた

  • URL: https://dev.classmethod.jp/articles/gcp-scc-iac-scan-result-job-summary/

  • 日付: 2026-06-14

  • Tier: Tier 2

  • 要旨: GCP Security Command Center の analyze-code-security-scc@v1 アクションは iac_scan_result(passed/failed/error の3値)しか返さないため、違反件数や重大度を確認するには SARIF ファイルを自分で解析する必要がある。SARIF の重大度は results 側ではなく rules[].properties.severity に入っているため、jq で両者を突き合わせてカウントし、$GITHUB_STEP_SUMMARY に書き出すステップを追加することで GitHub Actions の Summary 画面に重大度別件数を表示できる。

詳細

  • iac_scan_result は合否しか返さない。件数・重大度を得るには iac_scan_result_sarif_path の SARIF を自分で読む必要がある。
  • SARIF の重大度は runs[0].tool.driver.rules[].properties.severity 側にあり、results[].ruleIdrules[].id の一致でマッピングする。
  • if: always() をつけないと前段の Analyze ステップが失敗した際に集計ステップがスキップされる。
  • env:${{ }} を渡してクォート崩れ・インジェクションを防ぐのが安全な書き方。
  • 違反ゼロの場合も // [] // {} // "UNKNOWN" のフォールバックで jq はエラーにならない。