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 ãè¡ãåã³ããããŸãã¯ããã·ã¥æïŒåšå²ã®ã³ãŒããèªãæ·±ã agentic ã¬ãã¥ãŒ
åã¬ã€ã€ãŒã¯ ç¬èªã®ã«ãŒã«ã远å ããããšã§æ¡åŒµã§ããŸããçµã¿èŸŒã¿ãã§ãã¯ã¯åå¥ã«åé€ããããšã¯ã§ããŸããããåã¬ã€ã€ãŒã¯ ç¬ç«ããŠç¡å¹å ã§ããŸãã
åãã¡ã€ã«ç·šéæ
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ã䜿çšããŠãã ãã
é¢é£ãªãœãŒã¹
ãã®ããŒãžãè§ŠããããŒã¹ã«ã€ããŠããã«æ·±ãæãäžããã«ã¯ïŒ
- Code ReviewïŒPR æã®ãã«ããšãŒãžã§ã³ãã¬ãã¥ãŒãã»ããã¢ãã
- ããã¯ã§ã¯ãŒã¯ãããŒãèªååïŒåãã©ã€ããµã€ã¯ã«ãã€ã³ãã§ç¬èªã®ãã§ãã¯ãæ§ç¯
- ãã©ã°ã€ã³ãçºèŠããŠã€ã³ã¹ããŒã«ïŒä»ã®å ¬åŒãã©ã°ã€ã³ãåç §