Claude Code: security-guidance プラグインに自社ルールを足す(claude-security-guidance.md)
公式の security-guidance プラグインは、claude-security-guidance.md に書いた自社固有のルールを組み込みの脆弱性チェックと一緒に使う。組織全体には MDM で配る。
プラグインの仕組み(前提)
- インストール:
/plugin install security-guidance@claude-plugins-official - 3段階で自動実行: ①編集ごとのパターン検出(
eval()、ハードコードされた認証情報など)②ターンの終わりに LLM が差分全体をレビュー(認可漏れ、IDOR、SSRF など)③コミット時に周辺コードも読む深いレビュー
自社ルールの置き場所
| 範囲 | パス | 用途 |
|---|---|---|
| ユーザー | ~/.claude/claude-security-guidance.md | 自分の全プロジェクト。MDM で配れば組織全体 |
| プロジェクト | .claude/claude-security-guidance.md | リポジトリにコミット |
| ローカル | .claude/claude-security-guidance.local.md | 個人用の上書き。.gitignore へ |
- 全部読み込まれ、ユーザー→プロジェクト→ローカルの順に連結。合計 8KB を超えた分は末尾(ローカル側)から切られる
書き方の例
markdown
# 自社セキュリティルール
- customers / orders テーブルの SELECT は必ず db.replica を使う。db.primary は書き込み専用
- バックグラウンドジョブはユーザーのトークンを使わず jobs.get_service_account() の資格情報を使う
- ユーザー入力の URL を取得するときは acme.net.safe_request(SSRF 許可リスト)を通す- 文字列で機械的に拾いたいもの(
sk_live_などのキー接頭辞)は.claude/security-patterns.yamlに正規表現で書く
注意点
- ガイダンスは「レビュー担当への助言」で、書き込みを止める保証はない。必須のものは hook で止めるか CI で落とす(Claude Code: 「〜したら〜して」はルールではなく hooks(settings.json)に書く)
- 「この種類の脆弱性は無視」と書いても組み込みの指摘は消えない(追加専用)
- コミット時の深いレビュー(第3層)は現状このファイルを読まない
- 関連: Cloudflare 公式 security-audit skill: 見つける役と確かめる役を分ける
出典
- @ClaudeDevs · 2026-05-27
- 公式ドキュメント: code.claude.com