mcpField
P
prowler-ci

prowler-ci

github.com/prowler-cloudクラウド・DevOps15.1k70 回インストール今日更新
リポジトリ

prowler-ci について

prowler-ci は、Prowler のコントリビューター向けに、プルリクエストのチェック失敗や GitHub Actions のポリシーを調べるスキルです。ワークフローと関連ファイルを示し、パスフィルター、変更履歴のゲート、競合マーカー、シークレットスキャンの確認手順をまとめています。

主な機能

  1. 01GitHub Actions ワークフロー一覧
  2. 02プルリクエストチェックの調査
  3. 03パスフィルター動作の説明
  4. 04変更履歴とタイトルのポリシー確認
  5. 05TruffleHog の誤検知への対処

活用シーン

  1. 01UI、API、SDK の変更でワークフローが動かなかった理由を調べる
  2. 02プルリクエストのタイトルまたは変更履歴チェックを解決する
  3. 03競合マーカーやシークレットスキャンの失敗を調査する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/prowler-cloud/prowler --skill prowler-ci

インストール後、Claude Code で/prowler-ciを入力して読み込まれたか確認します。

詳細

このスキルの対象範囲

次の作業を行う際は、いつでもこのスキルを使用してください。

  • .github/workflows/ 配下の GitHub Actions ワークフローを読んだり変更したりする
  • PR のチェック(タイトル、変更履歴、競合マーカー、シークレットスキャン)が失敗する理由を説明する
  • UI/API/SDK の変更に対して、どのワークフローが実行されるか、またその理由を確認する
  • パスフィルタリングの動作を診断する(ワークフローが実行された、または実行されなかった理由)

クイックマップ(確認する場所)

  • PR テンプレート:.github/pull_request_template.md
  • PR タイトルの検証:.github/workflows/conventional-commit.yml
  • 変更履歴の必須チェック:.github/workflows/pr-check-changelog.yml(<component>/changelog.d/ 配下にフラグメントが必要です)
  • 変更履歴のコンパイル(リリース時):.github/workflows/compile-changelogs.yml
  • 競合マーカーのチェック:.github/workflows/pr-conflict-checker.yml
  • シークレットスキャン:.github/workflows/find-secrets.yml
  • 自動ラベル付け:.github/workflows/labeler.yml と .github/labeler.yml
  • レビュー担当者の指定:.github/CODEOWNERS

デバッグチェックリスト(PR のチェックが失敗する場合)

  1. 失敗しているワークフロー/ジョブを特定します(名前と .github/workflows/ 配下のファイル)。
  2. パスフィルターを確認します。変更したファイルに対して、そのワークフローは実行される想定ですか?
  3. タイトルチェックの場合:PR タイトルが Conventional Commits に準拠していることを確認します。
  4. 変更履歴のチェックの場合:適切な <component>/changelog.d/ 配下に有効なフラグメントがあることを確認するか、no-changelog ラベルを適用します。
  5. 競合チェッカーの場合:<<<<<<<、=======、>>>>>>> マーカーを削除します。
  6. シークレット(TruffleHog)の場合:以下のセクションを参照してください。

TruffleHog によるシークレットスキャン

TruffleHog は、漏えいしたシークレットをスキャンします。テストファイルでよくある誤検出:

TruffleHog が検出するパターン:

  • sk-*T3BlbkFJ* - OpenAI API キー
  • AKIA[A-Z0-9]{16} - AWS アクセスキー
  • ghp_* / gho_* - GitHub トークン
  • 認証情報のように見える Base64 エンコード文字列

テストファイルでの修正方法:

# BAD - looks like real OpenAI key
api_key = "sk-test1234567890T3BlbkFJtest1234567890"

# GOOD - obviously fake
api_key = "sk-fake-test-key-for-unit-testing-only"

TruffleHog が本物のシークレットを検出した場合:

  1. すぐにコードからシークレットを削除します
  2. 認証情報をローテーションします(すでに git の履歴に含まれています)
  3. 既知の誤検出には .trufflehog-ignore の使用を検討します(必要になることはほとんどありません)

メモ

  • prowler-pr は、PR の作成とテンプレートの入力に専念させてください。
  • PR に適用されるCI ポリシーと必須チェックには prowler-ci を使用してください。

コメント