mcpField
A
action-remediate

action-remediate

github.com/bitwardenクラウド・DevOps16264 回インストール今日更新
リポジトリ

action-remediate について

action-remediateは、action-auditの結果をもとにGitHub Actionsの問題を修正するための慎重な手順書です。ワークフロー関連の変更を`.github/`内に限定し、承認と差分確認を経てドラフトPRを作成します。

主な機能

  1. 01変更を伴うAPI呼び出し前の確認
  2. 02`.github/`内のファイルのみ編集
  3. 03Actionのバージョン固定や置換
  4. 04引き継ぎ前の差分確認
  5. 05ドラフトPRの作成

活用シーン

  1. 01監査後のAction参照先の更新
  2. 02複数リポジトリ向け修正の準備と確認

インストール

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

$npx skills add https://github.com/bitwarden/ai-plugins --skill action-remediate

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

詳細

ルール

  • 確認なしに API を変更する呼び出しを行わないでください。 gh api の GET リクエストは自由に実行できます。-X POST、-X PUT、-X PATCH、または -X DELETE を使う呼び出しは、実行前にユーザーに提示して承認を得る必要があります。
  • 強制プッシュ、ブランチの削除、リポジトリの削除は絶対に行わないでください。
  • 変更するファイルは .github/ 以下に限ります。 ワークフローファイル以外のアプリケーションコード、スクリプト、設定には手を加えないでください。
  • コミットに進む前に、差分を提示して確認を得てください。
  • すべての PR はドラフトとして作成してください。
  • 不確かな点を明示してください。 調査結果が曖昧な場合や、修正によってワークフローが壊れる可能性がある場合は、推測せずに作業を止めて確認してください。

ステップ 1:監査結果を確認する

作業を始める前に、対応すべき監査結果がユーザーにあることを確認します。監査結果は、以前実行した action-audit スキルによるものである必要があります。以下を確認してください。

  • 修正対象のリポジトリ(すべて、一部、または特定のリポジトリ)
  • 修正方法:
    • main に固定 — 内部の bitwarden/ アクションの場合:参照先を @main に変更します
    • ピン留めを更新 — 外部アクションの場合:検証済みの 40 文字の SHA とインラインのバージョンコメントに更新します
    • 置き換え — 別のアクションに丸ごと置き換えます
  • 対象の SHA、置き換えるアクション、または @main で修正できることの確認

これらの点が不明確な場合は、続行する前にユーザーに確認してください。

ステップ 2:リポジトリごとに修正を適用する

選択した各リポジトリについて、次の手順を実行します。

  1. リポジトリのクローン先であるベースディレクトリがまだ分からない場合は、ユーザーに確認します。<base-dir>/<repo> にローカルクローンがあるか確認してください。ない場合はユーザーに伝え、そのリポジトリをスキップします。

  2. 修正用ブランチを作成します。

    git checkout -b fix/action-remediation-<action-name-slug>
    
  3. 修正方法に応じて、影響を受ける各ファイルに修正を適用します。

    • main に固定(内部の bitwarden/ アクション): 参照先を @main に置き換えます。例:uses: bitwarden/gh-actions/action@v1 → uses: bitwarden/gh-actions/action@main。SHA の解決は不要です。
    • ピン留めを更新(外部アクション): uses: の行を uses: <action>@<sha> # <original-ref> に置き換えます。
    • 置き換え: 適用する前に、置き換え先のアクションが Bitwarden の承認済みアクションリスト(bitwarden/workflow-linter)に掲載されていることを確認します。その後、uses: <old-action>@<ref> を uses: <new-action>@<sha> # <tag> に置き換えます。
  4. このリポジトリの変更内容を git diff で提示し、続行する前に確認を得ます。

ステップ 3:コミット、プッシュ、PR の作成

ステージング、コミット、プッシュのコマンドは実行しないでください。各リポジトリについて、ユーザーが手動で実行するための提案として、以下のブロックを提示してください。

git add .github/
git commit -m "Remediate <action-name> action usage"
git push -u origin fix/action-remediation-<action-name-slug>

ユーザーがプッシュを確認したら、ドラフト PR を作成します。

gh pr create \
  --title "Remediate <action-name> action usage" \
  --body "$(cat <<'EOF'
## Summary

Remediates usage of `<action-name>` across this repository.

**Action taken:** <pin updated to `<sha>` / replaced with `<new-action>`>

**Reason:** <compromised action / deprecated action / unpinned reference>
EOF
)" \
  --draft

ステップ 4:最終報告

実行したすべての作業を要約して出力します。

リポジトリ変更したファイルPR 作成備考
............

コード検索結果が反映されるまで時間がかかる場合があることをユーザーに伝えてください。セキュリティインシデントの場合は、手動で確認して、見落としたリポジトリがないことを確かめるよう促してください。

コメント