Prasyarat
- Claude Code CLI versi 2.1.144 atau lebih baru
- Python 3.8 atau lebih baru di
PATHAnda. Plugin mencobapython3,python, danpy -3dalam urutan itu - Repositori git untuk direktori tempat Anda bekerja. Review end-of-turn dan commit melakukan diff terhadap status git dan melewati secara diam-diam di luar repositori. Pemeriksaan pola per-edit berfungsi di mana saja
~/.claude/security/ dan menginstal Claude Agent SDK ke dalamnya, yang memerlukan pip dan akses jaringan. Jika instalasi itu gagal, review commit kembali ke review single-shot daripada yang agentic. Di Windows, langkah virtual environment dilewati, jadi review commit agentic hanya berjalan jika claude-agent-sdk sudah dapat diimpor dan sebaliknya kembali dengan cara yang sama.
Instal plugin
Dalam sesi Claude Code, instal dari marketplace resmi Anthropic:/plugin marketplace add anthropics/claude-plugins-official terlebih dahulu, kemudian coba lagi instalnya.
Kemudian aktifkan dalam sesi saat ini dengan /reload-plugins, yang menerapkan perubahan plugin yang tertunda tanpa restart:
Aktifkan dalam sesi cloud dan repositori bersama
Plugin yang dibatasi pengguna tidak masuk ke Claude Code di web, karena sesi tersebut berjalan di infrastruktur Anthropic daripada mesin Anda. Untuk mengaktifkan plugin di sana, atau untuk mengaktifkannya bagi semua orang yang mengkloning repositori, deklarasikan dalam pengaturan proyek yang diperiksa:.claude/settings.json
enabledPlugins dalam pengaturan terkelola.
Apa yang diperiksa plugin
Plugin meninjau pekerjaan Claude di tiga titik, masing-masing pada kedalaman yang berbeda:- Pada setiap edit file: pencocokan pola cepat untuk panggilan berisiko, tanpa panggilan model
- Di akhir setiap giliran: review model latar belakang dari semua yang berubah giliran itu
- Pada setiap commit atau push yang dilakukan Claude: review agentic yang lebih dalam yang membaca kode sekitarnya
Pada setiap edit file
Ketika Claude menulis ke file, plugin memindai konten baru untuk pola berisiko yang diketahui. Ini adalah pencocokan pola tanpa panggilan model, jadi tidak menambah biaya penggunaan. Kategori pola contoh:- Eksekusi kode dinamis:
eval(,new Function,os.system,child_process.exec - Unsafe deserialization:
pickle - DOM injection:
dangerouslySetInnerHTML,.innerHTML =,document.write - File workflow: edit di bawah
.github/workflows/, yang dapat memberikan izin tingkat repositori
security-patterns.yaml.
Di akhir setiap giliran
Giliran adalah satu putaran Claude merespons: Anda mengirim pesan, Claude bekerja dan membalas, dan giliran berakhir. Setelah setiap giliran, plugin menghitung git diff dari semua yang berubah di pohon kerja selama giliran, termasuk perubahan dari alat edit Claude, perintah Bash, dan subagent, dan mengirimnya ke review Claude terpisah yang berfokus pada keamanan. Review berjalan di latar belakang, jadi balasan Claude tidak tertunda. Jika review menemukan masalah, Claude diminta kembali dengan temuan dan mengatasinya sebagai tindak lanjut. Ini menangkap masalah yang tidak dapat dilakukan pencocokan string, seperti:- Authorization bypass
- Insecure direct object references
- Injection
- Server-side request forgery
- Weak cryptography
Pada setiap commit atau push yang dilakukan Claude
Ketika Claude menjalankangit commit atau git push melalui alat Bash-nya, plugin menjalankan review agentic yang lebih dalam dari perubahan di latar belakang. Review ini membaca kode sekitarnya, termasuk pemanggil, sanitizer, dan file terkait, untuk memutuskan apakah temuan itu nyata sebelum melaporkannya. Konteks tambahan membuat false positive tetap rendah pada pola yang terlihat berbahaya secara terisolasi tetapi aman di codebase Anda.
Lapisan ini hanya menyala pada commit dan push yang dilakukan Claude melalui alat Bash-nya. Commit yang Anda jalankan dari shell Anda sendiri, termasuk escape shell ! di dalam sesi, tidak ditinjau. Review commit dan push dibatasi pada 20 per jam bergulir. Jika temuan review commit menggandakan apa yang sudah dilaporkan review end-of-turn, Claude tidak diminta kembali, jadi commit yang bersih tidak menghasilkan output yang terlihat dari lapisan ini.
Review independence dan limits
Plugin tidak meminta instance Claude yang sama yang menulis kode untuk menilai dirinya sendiri. Pemeriksaan per-edit adalah pencocokan string deterministik tanpa model yang terlibat. Review end-of-turn dan commit berjalan sebagai panggilan Claude terpisah dengan konteks segar dan prompt yang berfokus pada keamanan: reviewer dimulai dari diff, tidak memiliki investasi dalam pendekatan asli, dan hanya diinstruksikan untuk menemukan masalah. Tidak ada lapisan yang memblokir penulisan atau commit. Temuan mencapai Claude yang menulis sebagai instruksi, Claude mengatasinya dalam percakapan, dan model review dapat melewatkan masalah. Perlakukan plugin sebagai satu lapisan pertahanan mendalam, bukan solusi keamanan lengkap. Lihat Bagaimana ini cocok dengan alat keamanan lainnya.Tambahkan aturan Anda sendiri
Plugin memiliki dua titik ekstensi: file panduan Markdown untuk review yang didukung model, dan file pola YAML atau JSON untuk pencocokan string per-edit. Keduanya bersifat aditif. Anda dapat menambahkan pemeriksaan tetapi tidak dapat menonaktifkan yang bawaan dari file ini.Tambahkan panduan untuk review yang didukung model
Buat.claude/claude-security-guidance.md di proyek Anda dan jelaskan model ancaman dan daftar periksa review Anda dalam bahasa biasa. Review yang didukung model memuatnya sebagai konteks tambahan bersama dengan daftar periksa kerentanan bawaan.
Contoh berikut adalah untuk layanan web dengan rute admin yang gated peran dan kebijakan logging data pelanggan:
.claude/claude-security-guidance.md
Tambahkan pola per-edit kustom
Buat.claude/security-patterns.yaml untuk menambahkan aturan regex atau substring ke pemeriksaan pola per-edit. Ini berjalan sebagai pencocokan string deterministik bersama dengan pola bawaan:
.claude/security-patterns.yaml
| Field | Type | Description |
|---|---|---|
rule_name | string | Identifier shown in the warning |
reminder | string | Warning text appended to Claude’s context, capped at 1 KB |
regex | string | Python regex matched against the edited content |
substrings | list | Literal substrings; provide this or regex |
paths | list | Optional glob patterns; the rule applies only to matching files. Globs match against the full file path, so prefix project-relative patterns with **/ |
exclude_paths | list | Optional glob patterns to skip; same matching as paths |
.claude/security-patterns.yml dan .claude/security-patterns.json dengan skema yang sama. JSON bekerja pada instalasi Python apa pun. Bentuk YAML memerlukan PyYAML untuk dapat diimpor, yang tidak diinstal plugin untuk Anda. Plugin memuat hingga 50 aturan kustom dan melewati regex yang terlihat rentan terhadap catastrophic backtracking.
Lokasi pencarian file aturan
Plugin mencariclaude-security-guidance.md dan security-patterns.yaml di lokasi yang sama, terlepas dari bagaimana plugin diaktifkan:
| Scope | Path | Notes |
|---|---|---|
| User | ~/.claude/claude-security-guidance.md | Applies to every project on your machine |
| Project | .claude/claude-security-guidance.md | Checked in with the repository |
| Project local | .claude/claude-security-guidance.local.md | Gitignored, for personal overrides |
~/.claude/ melalui manajemen perangkat. Jalur yang sama berlaku untuk security-patterns.yaml.
Biaya penggunaan
Pemeriksaan pola per-edit tidak membuat panggilan model dan tidak menambah biaya. Review end-of-turn dan commit masing-masing menghabiskan penggunaan model tambahan yang dihitung terhadap penggunaan Anda seperti permintaan Claude lainnya. Review commit bersifat agentic dan mungkin memerlukan beberapa putaran model per commit, dibatasi pada 20 review per jam bergulir. Harapkan kira-kira satu panggilan review per giliran yang mengubah file dan satu review yang lebih dalam per commit, keduanya tunduk pada batas di atas. Kedua review yang didukung model menggunakan Claude Opus 4.7 secara default. AturSECURITY_REVIEW_MODEL untuk memilih model berbeda untuk review end-of-turn dan SG_AGENTIC_MODEL untuk review commit.
Plugin tersedia di semua paket.
Nonaktifkan atau uninstall
Untuk mematikan lapisan individual sambil menjaga sisanya, atur variabel lingkungan yang cocok:| Variable | Effect |
|---|---|
ENABLE_PATTERN_RULES=0 | Disable the per-edit pattern check |
ENABLE_STOP_REVIEW=0 | Disable the end-of-turn diff review |
ENABLE_COMMIT_REVIEW=0 | Disable the commit and push review |
ENABLE_CODE_SECURITY_REVIEW=0 | Disable all model-backed reviews at once |
SECURITY_GUIDANCE_DISABLE=1 | Disable the plugin entirely without uninstalling |
.claude/settings.json proyek, menonaktifkannya dari /plugin menulis override ke .claude/settings.local.json Anda daripada mengedit file yang diperiksa, jadi plugin tetap mati untuk Anda sementara rekan kerja tidak terpengaruh. Dialog yang sama juga menawarkan untuk uninstall plugin untuk semua orang dengan menghapusnya dari .claude/settings.json bersama; opsi tersebut memerlukan Claude Code v2.1.203 atau lebih baru. Jika diaktifkan melalui pengaturan terkelola, hanya administrator yang dapat menonaktifkannya.
Bagaimana plugin terintegrasi dengan Claude Code
Plugin dibangun sepenuhnya di hooks, mekanisme untuk menjalankan kode Anda sendiri pada titik tertentu dalam loop Claude. Ini mendaftarkan:| Hook event | Tujuan |
|---|---|
SessionStart | Bootstrap lingkungan Python plugin |
UserPromptSubmit | Menangkap baseline working-tree yang digunakan oleh review akhir giliran untuk membuat diff |
PostToolUse pada Edit, Write, dan NotebookEdit | Pencocokan pola per-edit |
Stop | Review diff akhir giliran, berjalan di latar belakang |
PostToolUse pada Bash, disaring ke git commit dan git push | Review commit dan push, berjalan di latar belakang |
Bagaimana ini cocok dengan alat keamanan lainnya
Plugin adalah satu lapisan dalam pendekatan pertahanan mendalam. Ini menangkap masalah paling awal, saat kode masih dalam editor, tetapi bukan jaminan dan tidak menggantikan pemeriksaan kemudian. Stack tipikal:| Stage | Tool | What it covers |
|---|---|---|
| In session | Security guidance plugin | Common vulnerabilities in code Claude writes, fixed in the same session |
| On demand | /security-review | One-time security pass on the current branch, run when you ask |
| On pull request | Code Review, Team and Enterprise plans | Multi-agent correctness and security review with full codebase context |
| In CI | Your existing static analysis and dependency scanners | Language-specific rules, supply-chain checks, and policy enforcement the plugin does not attempt |
Troubleshooting
Plugin menulis diagnostik runtime ke~/.claude/security/log.txt. Periksa di sana terlebih dahulu jika review tidak muncul.
Alasan umum lapisan review melewati tanpa pesan dalam percakapan:
- Direktori bukan repositori git: review end-of-turn dan commit memerlukan status git dan melewati di luar repositori
- Sesi tidak memiliki autentikasi Anthropic: review yang didukung model melewati dan hanya pemeriksaan pola per-edit yang berjalan
- File
security-patterns.yamlada tetapi PyYAML tidak dapat diimpor: file diabaikan. Gunakansecurity-patterns.jsonsebagai gantinya
Sumber daya terkait
Untuk mendalami bagian yang halaman ini sentuh:- Code Review: atur review multi-agent waktu PR
- Otomatiskan alur kerja dengan hooks: bangun pemeriksaan Anda sendiri pada titik siklus hidup yang sama
- Temukan dan instal plugin: telusuri plugin resmi lainnya