prowler-ci について
prowler-ci は、Prowler のコントリビューター向けに、プルリクエストのチェック失敗や GitHub Actions のポリシーを調べるスキルです。ワークフローと関連ファイルを示し、パスフィルター、変更履歴のゲート、競合マーカー、シークレットスキャンの確認手順をまとめています。
主な機能
- 01GitHub Actions ワークフロー一覧
- 02プルリクエストチェックの調査
- 03パスフィルター動作の説明
- 04変更履歴とタイトルのポリシー確認
- 05TruffleHog の誤検知への対処
活用シーン
- 01UI、API、SDK の変更でワークフローが動かなかった理由を調べる
- 02プルリクエストのタイトルまたは変更履歴チェックを解決する
- 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 のチェックが失敗する場合)
- 失敗しているワークフロー/ジョブを特定します(名前と
.github/workflows/配下のファイル)。 - パスフィルターを確認します。変更したファイルに対して、そのワークフローは実行される想定ですか?
- タイトルチェックの場合:PR タイトルが Conventional Commits に準拠していることを確認します。
- 変更履歴のチェックの場合:適切な
<component>/changelog.d/配下に有効なフラグメントがあることを確認するか、no-changelogラベルを適用します。 - 競合チェッカーの場合:
<<<<<<<、=======、>>>>>>>マーカーを削除します。 - シークレット(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 が本物のシークレットを検出した場合:
- すぐにコードからシークレットを削除します
- 認証情報をローテーションします(すでに git の履歴に含まれています)
- 既知の誤検出には
.trufflehog-ignoreの使用を検討します(必要になることはほとんどありません)
メモ
prowler-prは、PR の作成とテンプレートの入力に専念させてください。- PR に適用されるCI ポリシーと必須チェックには
prowler-ciを使用してください。
コメント
Markdown 対応