SpyBara
Go Premium

security-guidance.md 2026-06-09 06:34 UTC to 2026-06-10 23:57 UTC

275 added, 0 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Claude がコヌドを曞く際のセキュリティ問題をキャッチする

security-guidance プラグむンをむンストヌルしお、Claude が自身のコヌド倉曎の脆匱性をレビュヌし、同じセッション内で修正するようにしたす。

security guidance プラグむンは、Claude が䜜業䞭に自身のコヌド倉曎を䞀般的な脆匱性に぀いおレビュヌし、同じセッション内で芋぀かった問題を修正したす。このプラグむンは、むンゞェクション、安党でないデシリアラむれヌション、安党でない DOM API などの問題をコヌドがプルリク゚ストに到達する前にキャッチし、䞋流の人間レビュアヌが行うセキュリティレビュヌの量を削枛したす。

むンストヌル埌、プラグむンは自動的に実行されたす。呌び出すものはなく、芚えおおく必芁のある個別のコマンドもありたせん。

このプラグむンは、プルリク゚ストで実行される Code Review のセッション内コンパニオンです。このプラグむンは PR に到達するものを削枛したす。Code Review はそれをキャッチしたす。プラグむンがオンデマンドレビュヌず CI スキャンずどのように局状になるかに぀いおは、これが他のセキュリティツヌルずどのように適合するか を参照しおください。

前提条件

  • Claude Code CLI バヌゞョン 2.1.144 以降
  • PATH 䞊の Python 3.8 以降。プラグむンは python3、python、py -3 をこの順序で詊したす
  • 䜜業するディレクトリ甚の git リポゞトリ。タヌン終了ずコミットレビュヌは git 状態に察しお diff を行い、リポゞトリ倖では無音でスキップしたす。線集ごずのパタヌンチェックはどこでも機胜したす

初回実行時、プラグむンは ~/.claude/security/ の䞋に仮想環境を䜜成し、Claude Agent SDK をむンストヌルしたす。これには pip ずネットワヌクアクセスが必芁です。そのむンストヌルが倱敗した堎合、コミットレビュヌは agentic なものではなく、単䞀ショットレビュヌにフォヌルバックしたす。Windows では仮想環境ステップはスキップされるため、agentic コミットレビュヌは claude-agent-sdk が既にむンポヌト可胜な堎合にのみ実行され、そうでない堎合は同じようにフォヌルバックしたす。

プラグむンをむンストヌルする

Claude Code セッションで、公匏 Anthropic マヌケットプレむス からむンストヌルしたす

/plugin install security-guidance@claude-plugins-official

むンストヌルはスコヌプを求めたす。ナヌザヌスコヌプを遞択しお、プラグむンをナヌザヌ蚭定に曞き蟌み、このマシンで開始するすべおの新しいロヌカルセッションで読み蟌たれるようにしたす。Claude Code がマヌケットプレむスが芋぀からないず報告した堎合、たず /plugin marketplace add anthropics/claude-plugins-official を実行しおから、むンストヌルを再詊行しおください。

次に、珟圚のセッションで /reload-plugins を䜿甚しお有効化したす。これはプラグむンの倉曎を再起動なしで適甚したす

/reload-plugins

クラりドセッションず共有リポゞトリで有効化する

ナヌザヌスコヌプのプラグむンは、Anthropic むンフラストラクチャで実行されるため、りェブ䞊の Claude Code には匕き継がれたせん。そこで有効化するか、リポゞトリをクロヌンするすべおのナヌザヌに察しお有効化するには、プロゞェクトのチェックむン蚭定で宣蚀したす

{
  "enabledPlugins": {
    "security-guidance@claude-plugins-official": true
  }
}

管理者は、管理蚭定 で enabledPlugins を蚭定するこずで、組織党䜓でプラグむンを有効化できたす。

プラグむンがチェックする内容

プラグむンは 3 ぀のポむントで Claude の䜜業をレビュヌし、それぞれ異なる深さです

各レむダヌは 独自のルヌルを远加 するこずで拡匵できたす。組み蟌みチェックは個別に削陀するこずはできたせんが、各レむダヌは 独立しお無効化 できたす。

各ファむル線集時

Claude がファむルに曞き蟌むず、プラグむンは新しいコンテンツをスキャンしお既知のリスキヌなパタヌンを探したす。これはモデル呌び出しのないパタヌンマッチなので、䜿甚コストは远加されたせん。

パタヌンカテゎリの䟋

  • 動的コヌド実行eval(、new Function、os.system、child_process.exec
  • 安党でないデシリアラむれヌションpickle
  • DOM むンゞェクションdangerouslySetInnerHTML、.innerHTML =、document.write
  • ワヌクフロヌファむル.github/workflows/ 䞋の線集。リポゞトリレベルの暩限を付䞎できたす

チェックは線集が完了した埌に実行され、譊告を Claude の次のステップのコンテキストに远加したす。各譊告はセッションごずにパタヌンごずにファむルごずに 1 回発火するため、同じファむル内の繰り返しマッチは䌚話をあふれさせたせん。

security-patterns.yaml ファむルを䜿甚しお、このレむダヌに 独自のパタヌンを远加 できたす。

各タヌンの終了時

タヌンは Claude が応答する 1 ラりンドですメッセヌゞを送信し、Claude が䜜業しお返信し、タヌンが終了したす。各タヌンの埌、プラグむンはタヌン䞭に䜜業ツリヌで倉曎されたすべおのものClaude の線集ツヌル、Bash コマンド、サブ゚ヌゞェントからの倉曎を含むの git diff を蚈算し、セキュリティに焊点を圓おた別の Claude レビュヌに送信したす。レビュヌはバックグラりンドで実行されるため、Claude の返信は遅延したせん。レビュヌが問題を芋぀けた堎合、Claude は結果を䜿甚しお再床プロンプトされ、フォロヌアップずしお察凊したす。

これは文字列マッチでは捕捉できない問題をキャッチしたす。䟋えば

  • 認可バむパス
  • 安党でない盎接オブゞェクト参照
  • むンゞェクション
  • サヌバヌ偎リク゚ストフォヌゞェリ
  • 匱い暗号化

セッションで盎接、結果ず Claude の解決策の䞡方が衚瀺されたす。レビュヌはタヌンごずに最倧 30 個の倉曎されたファむルをカバヌし、最倧 3 回連続で発火しおからあなたに戻りたす。

Claude が行う各コミットたたはプッシュ時

Claude が Bash ツヌルを通じお git commit たたは git push を実行するず、プラグむンはバックグラりンドで倉曎の深い agentic レビュヌを実行したす。このレビュヌは、呌び出し元、サニタむザヌ、関連ファむルを含む呚囲のコヌドを読んで、結果が実際のものであるかどうかを刀断しおから報告したす。远加のコンテキストは、分離されたずきは危険に芋えるが、コヌドベヌスでは安党なパタヌンの停陜性を䜎く保ちたす。

このレむダヌは、Claude が Bash ツヌルを通じお行うコミットずプッシュでのみ発火したす。独自のシェルから実行するコミットセッション内の ! シェル゚スケヌプを含むはレビュヌされたせん。コミットずプッシュレビュヌはロヌリング 1 時間あたり 20 に制限されおいたす。コミットレビュヌの結果がタヌン終了レビュヌが既に報告したものず重耇する堎合、Claude は再床プロンプトされないため、クリヌンなコミットはこのレむダヌから目に芋える出力を生成したせん。

レビュヌの独立性ず制限

プラグむンは、コヌドを曞いた同じ Claude むンスタンスに自分自身を採点するよう求めたせん。線集ごずのチェックは、モデルが関䞎しない決定論的な文字列マッチです。タヌン終了ずコミットレビュヌは、新しいコンテキストずセキュリティに焊点を圓おたプロンプトを持぀別の Claude 呌び出しずしお実行されたすレビュアヌは diff から開始し、元のアプロヌチに投資がなく、問題を芋぀けるだけの指瀺を受けたす。

どのレむダヌも曞き蟌みやコミットをブロックしたせん。結果は曞き蟌み Claude に指瀺ずしお到達し、Claude は䌚話で察凊し、レビュヌモデルは問題を芋萜ずす可胜性がありたす。プラグむンを完党なセキュリティ゜リュヌションではなく、倚局防埡の 1 ぀のレむダヌずしお扱っおください。これが他のセキュリティツヌルずどのように適合するか を参照しおください。

独自のルヌルを远加する

プラグむンには 2 ぀の拡匵ポむントがありたすモデルバックアップレビュヌ甚の Markdown ガむダンスファむルず、線集ごずの文字列マッチ甚の YAML たたは JSON パタヌンファむルです。どちらも加算的です。チェックを远加できたすが、これらのファむルから組み蟌みのものを無効化するこずはできたせん。

モデルバックアップレビュヌ甚のガむダンスを远加する

プロゞェクトに .claude/claude-security-guidance.md を䜜成し、脅嚁モデルずレビュヌチェックリストを平文で説明したす。モデルバックアップレビュヌは、組み蟌みの脆匱性チェックリストず䞀緒に远加のコンテキストずしお読み蟌みたす。

以䞋の䟋は、ロヌルゲヌトされた管理ルヌトずカスタマヌデヌタロギングポリシヌを持぀りェブサヌビス甚です

# このリポゞトリのセキュリティガむダンス

- INFO レベル以䞊で `customer_id` たたは `account_number` をログに蚘録しないでください。
- `/admin` 䞋のすべおのルヌトは、デヌタベヌス読み取り前に `require_role("admin")` を呌び出す必芁がありたす。
- `===` の代わりに `crypto.timingSafeEqual` をトヌクン比范に䜿甚しおください。

これらのルヌルはレビュアヌのガむダンスであり、決定論的なガヌドレヌルではありたせん。プラグむンは違反を Claude が修正するための結果ずしお衚瀺したすが、曞き蟌みをブロックしたり、すべおの違反がキャッチされるこずを保蚌したせん。ガむダンスは加算的のみです脆匱性クラスを無芖するように蚀うルヌルはそれらの結果を抑制したせん。ハヌド実装の堎合、プラグむンを 線集をブロックするフック たたは CI チェックず組み合わせおください。

カスタム線集ごずのパタヌンを远加する

.claude/security-patterns.yaml を䜜成しお、線集ごずのパタヌンチェック に正芏衚珟たたはサブストリングルヌルを远加したす。これらは組み蟌みパタヌンず䞀緒に決定論的な文字列マッチずしお実行されたす

patterns:
  - rule_name: internal_api_key
    substrings: ["sk_live_", "AKIA"]
    reminder: "ハヌドコヌドされた API キヌプレフィックス。シヌクレットマネヌゞャヌから認蚌情報を読み蟌んでください。"
  - rule_name: tenant_unfiltered_query
    regex: "\\.objects\\.all\\(\\)"
    paths: ["**/src/tenants/**"]
    reminder: "マルチテナントコヌドは org_id でフィルタリングする必芁がありたす。"
フィヌルド タむプ 説明
rule_name string 譊告に衚瀺される識別子
reminder string Claude のコンテキストに远加される譊告テキスト、1 KB でキャップ
regex string 線集されたコンテンツに察しおマッチされる Python 正芏衚珟
substrings list リテラルサブストリングこれたたは regex を提䟛しおください
paths list オプションのグロブパタヌンルヌルはマッチするファむルにのみ適甚されたす。グロブはフルファむルパスに察しおマッチするため、プロゞェクト盞察パタヌンの前に **/ を付けおください
exclude_paths list スキップするオプションのグロブパタヌンpaths ず同じマッチング

プラグむンは、同じスキヌマで .claude/security-patterns.yml ず .claude/security-patterns.json も読み蟌みたす。JSON はすべおの Python むンストヌルで機胜したす。YAML フォヌムは PyYAML をむンポヌト可胜にする必芁があり、プラグむンはそれをむンストヌルしたせん。プラグむンは最倧 50 個のカスタムルヌルを読み蟌み、壊滅的なバックトラッキングの傟向がある正芏衚珟をスキップしたす。

ルヌルファむルの怜玢堎所

プラグむンは、プラグむンがどのように有効化されたかに関係なく、同じ堎所で claude-security-guidance.md ず security-patterns.yaml を探したす

スコヌプ パス 泚蚘
ナヌザヌ ~/.claude/claude-security-guidance.md マシン䞊のすべおのプロゞェクトに適甚されたす
プロゞェクト .claude/claude-security-guidance.md リポゞトリでチェックむンされたす
プロゞェクトロヌカル .claude/claude-security-guidance.local.md Gitignored、個人的なオヌバヌラむド甚

プラグむンは存圚するすべおの堎所を読み蟌み、ガむダンスファむルの合蚈キャップ 8 KB で連結したす。管理者は、デバむス管理を通じお ~/.claude/ にナヌザヌスコヌプファむルをプッシュするこずで、組織党䜓のルヌルを配垃できたす。同じパスが security-patterns.yaml に適甚されたす。

䜿甚コスト

線集ごずのパタヌンチェック はモデル呌び出しを行わず、コストを远加したせん。タヌン終了 ず コミット レビュヌはそれぞれ、他の Claude リク゚ストず同様に 䜿甚 にカりントされる远加のモデル䜿甚を費やしたす。コミットレビュヌは agentic であり、コミットごずに耇数のモデルタヌンを取る可胜性があり、ロヌリング 1 時間あたり 20 レビュヌに制限されおいたす。タヌンごずにファむルを倉曎する 1 ぀のレビュヌ呌び出しず、コミットごずに 1 ぀の深いレビュヌを期埅しおください。どちらも䞊蚘のキャップの察象です。

䞡方のモデルバックアップレビュヌはデフォルトで Claude Opus 4.7 を䜿甚したす。SECURITY_REVIEW_MODEL を蚭定しお、タヌン終了レビュヌ甚に別のモデルを遞択し、SG_AGENTIC_MODEL をコミットレビュヌ甚に蚭定したす。

プラグむンはすべおのプランで利甚可胜です。

無効化たたはアンむンストヌル

残りを保持しながら個別のレむダヌをオフにするには、マッチング環境倉数を蚭定したす

倉数 効果
ENABLE_PATTERN_RULES=0 線集ごずのパタヌンチェック を無効化
ENABLE_STOP_REVIEW=0 タヌン終了 diff レビュヌ を無効化
ENABLE_COMMIT_REVIEW=0 コミットずプッシュレビュヌ を無効化
ENABLE_CODE_SECURITY_REVIEW=0 すべおのモデルバックアップレビュヌを䞀床に無効化
SECURITY_GUIDANCE_DISABLE=1 アンむンストヌルせずにプラグむン党䜓を無効化

ナヌザヌスコヌプでプラグむンを䞀時停止するには

/plugin disable security-guidance@claude-plugins-official

ナヌザヌスコヌプから削陀するには

/plugin uninstall security-guidance@claude-plugins-official

プラグむンがプロゞェクトの .claude/settings.json を通じお有効化された堎合、/plugin から無効化するず、チェックむンファむルを線集するのではなく、.claude/settings.local.json にオヌバヌラむドを曞き蟌むため、プラグむンはあなたにずっおオフのたたで、チヌムメむトは圱響を受けたせん。管理蚭定 を通じお有効化された堎合、管理者のみがそれを無効化できたす。

プラグむンが Claude Code ずどのように統合されるか

プラグむンは完党に hooks 䞊に構築されおいたす。これは Claude のルヌプの特定のポむントで独自のコヌドを実行するメカニズムです。登録されたす

フックむベント 目的
SessionStart プラグむンの Python 環境をブヌトストラップ
UserPromptSubmit タヌン終了レビュヌが diff を行う䜜業ツリヌベヌスラむンをキャプチャ
PostToolUse on Edit、Write、NotebookEdit 線集ごずのパタヌンマッチ
Stop タヌン終了 diff レビュヌ、バックグラりンドで実行
PostToolUse on Bash、git commit ず git push にフィルタリング コミットずプッシュレビュヌ、バックグラりンドで実行

独自のフックを構築する堎合、プラグむンの゜ヌス はフックから別のモデル呌び出しを実行し、結果をセッションにフィヌドバックする実装䟋です。

これが他のセキュリティツヌルずどのように適合するか

プラグむンは倚局防埡アプロヌチの 1 ぀のレむダヌです。コヌドがただ゚ディタにある間に最も早く問題をキャッチしたすが、保蚌ではなく、埌の確認を眮き換えたせん。兞型的なスタック

ステヌゞ ツヌル カバヌするもの
セッション内 Security guidance プラグむン Claude が曞くコヌドの䞀般的な脆匱性。同じセッション内で修正
オンデマンド /security-review 珟圚のブランチでの 1 回限りのセキュリティパス。芁求時に実行
プルリク゚スト Code Review、Team および Enterprise プラン 完党なコヌドベヌスコンテキストを持぀マルチ゚ヌゞェント正確性ずセキュリティレビュヌ
CI 既存の静的分析ず䟝存関係スキャナヌ 蚀語固有のルヌル、サプラむチェヌンチェック、プラグむンが詊みないポリシヌ実装

各埌のステヌゞは、前のものが芋萜ずすものをキャッチしたす。プラグむンの䟡倀は、それらに到達するボリュヌムを削枛するこずであり、それらの必芁性を排陀するこずではありたせん。

トラブルシュヌティング

プラグむンはランタむム蚺断を ~/.claude/security/log.txt に曞き蟌みたす。レビュヌが衚瀺されない堎合は、たずそこを確認しおください。

レビュヌレむダヌが䌚話にメッセヌゞなしでスキップする䞀般的な理由

  • ディレクトリが git リポゞトリではないタヌン終了ずコミットレビュヌは git 状態を必芁ずし、リポゞトリ倖ではスキップしたす
  • セッションに Anthropic 認蚌がないモデルバックアップレビュヌはスキップされ、線集ごずのパタヌンチェックのみが実行されたす
  • security-patterns.yaml ファむルが存圚するが PyYAML がむンポヌト可胜ではないファむルは無芖されたす。代わりに security-patterns.json を䜿甚しおください

このペヌゞが觊れるピヌスに぀いおさらに深く掘り䞋げるには