ã宿ž¬ãClaude Codeã®èš±å¯èšå®ã923ä»¶ããã¶æ°ããïœ4ãæã¶ãã®ãä»åŸç¢ºèªããªããã¯å¹ããŠããªãã£ã
Claude Codeã§ãã¯ããä»åŸç¢ºèªããªãããæŒãç¶ãããšãèšå®ãã¡ã€ã«ã«èš±å¯ã®ã«ãŒã«ã1è¡ãã€å¢ããŠãããŸããç§ã¯4ãææŒãç¶ããŸããã仿¥ãããå šéšæ°ããã923ä»¶ãã£ãŠããã®ãã¡äœä»¶ãå®éã«å®å šã«å¹ããŠããã®ãã調ã¹ãããæ³åãšããªãéãçµæã«ãªããŸãããéãšã³ãžãã¢ã®æ¹ã3åã§èªåã®èšå®ãç¹æ€ã§ããæé ãŸã§ã宿ž¬ããæ°åã€ãã§æžããŸãã

ãã£ããã¯ã瀟å ããŒã«ã®å±ãªãèšå®ããšããæçš¿ã ã£ã
仿XãèŠãŠããããããããæçš¿ãæµããŠããŸããã
ãClaude CodeãCodexã§ç€Ÿå ããŒã«ãäœã£ãäŒç€Ÿã®ç°å¢ãã¬ãã¥ãŒã«å ¥ããšã»ãŒ100%å±ãªãèšå®ãæ®ã£ãŠããŸãã
èªåã¯é¢ä¿ãªããšæããŸãããç§ã¯éãšã³ãžãã¢ã§ãäŒç€Ÿã®åºå¹¹ã·ã¹ãã ãè§Šã£ãŠããããã§ããããŸããããã ããã®ãã»ãŒ100%ããšããèšãæ¹ãåŒã£ããã£ãã®ã§ãèªåã®èšå®ãã¡ã€ã«ãéããŠã¿ãããšã«ããŸããã
Claude Codeã®èš±å¯èšå®ã¯ã~/.claude/settings.json ãšãããã¡ã€ã«ã® permissions ãšããé ç®ã«å ¥ã£ãŠããŸããç§ã¯ãã®ãã¡ã€ã«ããäžåºŠãèªåã®æã§æžããããšããããŸããã§ãããå šéšãäœæ¥äžã«åºãŠãããã¯ããä»åŸç¢ºèªããªãããæŒããçµæãšããŠãèªåçã«ç©ã¿äžãã£ããã®ã§ãã
æ°ããŠã¿ãããããã«ã¯923ä»¶ãããŸããã
çµæïœèš±å¯923ä»¶ãçŠæ¢0ä»¶ã確èª0ä»¶
èš±å¯èšå®ã«ã¯3ã€ã®çš®é¡ããããŸãã
allowïŒèš±å¯ïŒ: ããã¯èããã«ãã£ãŠãã
denyïŒçŠæ¢ïŒ: ããã¯çµ¶å¯Ÿã«ããããªã
askïŒç¢ºèªïŒ: ããã¯å¿ ãç§ã«èããŠãã
ç§ã®èšå®ã¯ãããªã£ãŠããŸããã
allow: 923ä»¶
deny: 0ä»¶
ask: 0ä»¶
4ãæãããŠããã£ãŠããããšãã ãã923ä»¶ç©ã¿äžããŠãããã£ãŠã¯ãããªãããšãã¯1ä»¶ãæžããŠããªãã£ãããã§ãã
èªåã§ã¯ãèš±å¯ã现ããç©ã¿äžããŠããã¶ãå®å šåŽã«å¯ããŠããã€ããã§ããã1ä»¶ãã€å 容ã確èªããŠãã¯ãããæŒããŠããã®ã ãããéã«å šéšèš±å¯ããŠããããã¯ãã·ã ããããšããã®åæãæ£ããã®ãã確ãããã®ãããã®èšäºã§ãã£ãããšã§ãã
äžèº«ãåé¡ããïœ760ä»¶ãã³ãã³ãããã®æå€ã¯curlã®209ä»¶
923ä»¶ãããŒã«ã®çš®é¡ã§åãããšããããªããŸããã
BashïŒã³ãã³ãå®è¡ïŒ: 760ä»¶
WebFetchïŒWebããŒãžã®ååŸïŒ: 100ä»¶
ReadïŒãã¡ã€ã«èªã¿åãïŒ: 14ä»¶
ãã®ä»ïŒãã©ãŠã¶æäœãã¹ãã¬ããã·ãŒãæäœãªã©ïŒ: 49ä»¶
ãããŠBashã®760ä»¶ããã³ãã³ãã®å é ã®åèªã§æ°ãçŽããšãäžäœã¯ããã§ãã
curlïŒãããã«éä¿¡ããïŒ: 209ä»¶
AWS_PROFILEïŒAWSã®æäœïŒ: 123ä»¶
lsïŒãã¡ã€ã«äžèЧïŒ: 34ä»¶
python3: 27ä»¶
cpïŒã³ããŒïŒ: 24ä»¶
grepïŒæ€çŽ¢ïŒ: 23ä»¶
pkillïŒããã»ã¹ãæ¢ããïŒ: 22ä»¶
ãã¡ã°ãå€ãã®ãããããã«éä¿¡ããã³ãã³ããã ã£ãã®ã¯ãæ£çŽã«èšããšæå€ã§ãããèªåã®äœæ¥ã®äžå¿ã¯èšäºãæžãããšãªã®ã§ãéä¿¡ããæç« ã®åŠçã®ã»ããå€ãã€ããã ã£ãããã§ããå®éã«ã¯ãAPIãå©ãæ€èšŒãåäœç¢ºèªã®ãã³ã«1ä»¶ãã€èš±å¯ãå¢ããŠããŠãããã4ãæåããŸã£ãŠããŸããã
çºèŠ1ïœ80ä»¶ã¯ãããããæžãå¿ èŠããªãã£ã
Claude Codeã®å ¬åŒããã¥ã¡ã³ãã«ã¯ãããæžãããŠããŸãã
Claude Code recognizes a built-in set of Bash commands as read-only and runs them without a permission prompt in every mode. These include ls, cat, echo, pwd, head, tail, grep, find, wc, which, diff, stat, du, cd, and read-only forms of git.
æ¥æ¬èªã«ãããšãlsïŒäžèЧïŒãcatïŒè¡šç€ºïŒãgrepïŒæ€çŽ¢ïŒã®ãããªãèªãã ãã®ã³ãã³ãã¯ãã©ã®ã¢ãŒãã§ãæåãã確èªãªãã§åãããšããæå³ã§ããèªãã ãã§äœãå£ããªãã³ãã³ãã¯ãèš±å¯ãæžãåããéãããã«ãªã£ãŠããããšããããšã§ããã
ç§ã®923ä»¶ã®ãã¡ããã®ãæåããéãã³ãã³ããã«åœãããã®ã80ä»¶ãããŸãããå šäœã®8.7%ã§ãã
ã€ãŸã80åã¶ããç§ã¯ãã¯ããä»åŸç¢ºèªããªãããæŒããŠããŸãããæŒããŠãæŒããªããŠãçµæã¯åãã§ãããèšå®ãã¡ã€ã«ã®è¡æ°ãå¢ããã ãã§ãã
ããèªäœã¯å®³ããããŸããããã ãã923ä»¶ãèš±å¯ãããã®ã ããããããªãã«åºãèš±å¯ããŠããŸã£ãŠãããªããšããç§ã®æèŠããæåã®æç¹ã§ãããŠããããšã¯åãããŸãããæ°ã®å€ãã¯ãèš±å¯ã®åºããšåãã§ã¯ãªããšããããšã§ãã
çºèŠ2ïœ923ä»¶ã®æå³ãæ¶ã4è¡ãæ··ãã£ãŠãã
ãã£ãšéèŠãªçºèŠã¯ãã¡ãã§ããã
923ä»¶ã®äžã«ãããããè¡ãæ··ãã£ãŠããŸããã
Bash(python3:*)
Bash(python3 -c ":*)
Bash(node -e ':*)
Bash(npx tsx -e ':*):* ã¯ãããããå ã¯äœã§ãããããšããæå³ã®æžãæ¹ã§ããBash(python3:*) ã¯ãpython3ã§å§ãŸãã³ãã³ããªãäœã§ãèš±å¯ããæå³ããŸãã
ãã㊠python3 -c "..." ã¯ããã®å Žã§æžããããã°ã©ã ããã®ãŸãŸå®è¡ããæžãæ¹ã§ããããã°ã©ã ã®äžèº«ã¯äœã§ãæžããŸãããã¡ã€ã«ãæ¶ãããšããã©ããã«éä¿¡ããããšããèšå®ãæžãæããããšãã§ããŸãã
ã€ãŸããã®1è¡ããããšãæ®ã919ä»¶ã1ä»¶ãã€äžå¯§ã«èš±å¯ããŠããæå³ããã»ãšãã©æ¶ããŸãããlsã¯èš±å¯ãcpã¯èš±å¯ãmvã¯ãŸã èš±å¯ããŠããªãããšç©ã¿äžããŠããŠããpython3ãéãã°å šéšã§ããŠããŸãããã§ãã
åãããšã node -eïŒJavaScriptããã®å Žã§å®è¡ïŒã npx tsx -eïŒTypeScriptããã®å Žã§å®è¡ïŒã«ãèšããŸããæ°ãããš11ä»¶ããã®ãã¡å®å šã«äœã§ãéããã®ã4ä»¶ãããŸããã
èš±å¯ã®æ°ãç©ã¿äžããŠããéãéã1æ¬ç©ºããŠããã°æå³ããªããããã仿¥ãã¡ã°ãè ¹ã«èœã¡ãããšã§ããã

çºèŠ3ïœããŸäœ¿ã£ãŠããã¢ãŒãã§ã¯ãèš±å¯ãªã¹ãã¯äž»åœ¹ã§ã¯ãªãã£ã
ãããããæ¬é¡ã§ãã
ç§ã®èšå®ã«ã¯ãããæžããŠãããŸããã
"defaultMode": "auto"ããã¯ãauto modeïŒèªåã¢ãŒãïŒããšããæå³ã§ããProã»Maxã»Teamãã©ã³ã§ã¯ããããæåããéžã°ããŠããæ¢å®ã®ã¢ãŒãã§ããç¹ã«äœãèšå®ããŠããªã人ãããããŠãã¯ãã®ã¢ãŒãã§åããŠããŸãã
auto modeã¯ãå šéšåãããã ãå¥ã®AIãèŠåŒµãã
å ¬åŒããã¥ã¡ã³ãã®ã¢ãŒãäžèЧãèŠããšãauto modeã®èª¬æã¯ãããªã£ãŠããŸãã
auto: Everything, with background safety checks
ãå šéšåãããã ãããã¯ã°ã©ãŠã³ãã§å®å šãã§ãã¯ãå ¥ãããšããããšã§ãããããŠããã®å®å šãã§ãã¯ããã£ãŠããã®ã¯ç§ã®èš±å¯ãªã¹ãã§ã¯ãããŸããã
In auto mode, a second model, the classifier, reviews actions instead of you.
auto modeã§ã¯ãç§ã®ä»£ããã«ãclassifierïŒåé¡åšïŒããšåŒã°ããå¥ã®AIããå®è¡ãããçŽåã®ã¢ã¯ã·ã§ã³ã1ã€ãã€å¯©æ»ããŠããããã§ãã
ããã§èš±å¯ãªã¹ãã®ç«ã¡äœçœ®ãã¯ã£ããããŸããallowã¯ãããªãã«ç¢ºèªãåºããªãããšããèšå®ã§ãããšãããauto modeã§ã¯ããããã確èªãã»ãšãã©åºãŸãããã€ãŸãç§ã4ãæãããŠ923ä»¶ç©ã¿äžããallowã¯ãããŸäœ¿ã£ãŠããã¢ãŒãã§ã¯ãã»ãšãã©ä»äºãããŠããŸããã§ããã
èŠåŒµã圹ãæã£ãŠããã«ãŒã«ã¯66ä»¶ã ã£ãã§ã¯ããã®èŠåŒµã圹ã¯äœãèŠãŠããã®ããå®ã¯èªåã®ç°å¢ã§ãã®ãŸãŸç¢ºèªã§ããŸãã
claude auto-mode defaultsãããå®è¡ãããšãclassifierãæã£ãŠããã«ãŒã«ãå šéšåºãŠããŸããç§ã®ç°å¢ã§ã¯35KBã»ã©ã®ããã¹ããåºåãããŸãããäžèº«ãæ°ãããšããããªã£ãŠããŸããã
hard_denyïŒçµ¶å¯Ÿã«æ¢ããïŒ: 1ä»¶
soft_denyïŒå忢ããïŒ: 66ä»¶
allowïŒäŸå€ãšããŠèªããïŒ: 17ä»¶
environmentïŒäœããå éšããšã¿ãªããã®èšå®ïŒ: 20é ç®
å¯äžã®hard_denyã¯ãData Exfiltrationããã€ãŸãããŒã¿ã®æã¡åºãã§ãããä¿¡é Œã§ããç¯å²ã®å€ã«ãæ©åŸ®ãªããŒã¿ãåºãŠããããšãããã ããç¡æ¡ä»¶ã§æ¢ãŸããŸãã
soft_denyã®66ä»¶ã«ã¯ãããããé ç®ã䞊ãã§ããŸããããGit DestructiveïŒå±¥æŽãå£ãæäœïŒããProduction DeployïŒæ¬çªãžã®ãããã€ïŒããCredential LeakageïŒèªèšŒæ å ±ã®æµåºïŒããIrreversible Local DestructionïŒåãè¿ãã®ã€ããªãããŒã«ã«åé€ïŒããCreate Public SurfaceïŒå ¬éç¶æ ãäœãïŒããªã©ã
ç§ããls ã¯èš±å¯ãcp ã¯èš±å¯ããš1ä»¶ãã€æŒããŠãã4ãæã®ããã ãå®éã«ç§ãå®ã£ãŠããã®ã¯ããã®66ä»¶ã®ã»ãã ã£ããšããããšã§ãã
ãã㊠environment ã®20é ç®ã®ãã¡ã11é ç®ããNone configuredïŒæªèšå®ïŒãã§ããããä¿¡é Œã§ãã瀟å ãã¡ã€ã³ããä¿¡é Œã§ããã¯ã©ãŠãã®ä¿åå ããç§å¯æ å ±ã®ç®¡çæ¹æ³ããªã©ãå šéšç©ºæ¬ã§ãã空æ¬ã ãšãããã¯ãå€éšããšããŠæ±ãããŸããã²ãšãã§äœ¿ãåã«ã¯ããããå®å šåŽã«åããåæå€ã§ãã
ã§ã¯äœãæžãã°å¹ãã®ãïœå®æž¬ã§ç¢ºããã
ãããŸã§ã§ãallowã¯ããŸãå¹ããŠããªããããšã¯åãããŸãããã§ã¯ãäœãæžãã°å¹ãã®ãã
å ¬åŒããã¥ã¡ã³ãã«ã¯ãã«ãŒã«ã®è©äŸ¡é ãããæžãããŠããŸãã
Rules are evaluated in order: deny, then ask, then allow.
denyïŒçŠæ¢ïŒãæåãæ¬¡ã«askïŒç¢ºèªïŒãæåŸã«allowïŒèš±å¯ïŒãå ã«ããããããã®ãçµæãæ±ºããŸããããã deny 㯠auto mode ã§ããããã©ãããå šéšã¹ãããããã¢ãŒãã§ãå¹ããŸãã
æžããŠããããšã¯åãããŸããããèªåã®ç°å¢ã§æ¬åœã«ãããªãã®ãã¯å¥ã®è©±ã§ããç¡å®³ãªã³ãã³ãã§å®éã«è©ŠããŸããã
宿ž¬1ïœauto modeã§ããaskãã¯å¿ ãæ¢ãŸã
wcïŒè¡æ°ãæ°ããã ãã®ã³ãã³ãïŒãææã«ããŸããã
ãã¹ãC: askã« Bash(wc *) ãšæžããauto modeã§ wc -l /etc/hosts ãå®è¡ããã
â å®è¡ã§ããŸããã§ããïŒèš±å¯ãäžããæåŠïŒ
ãã¹ãDïŒå¯Ÿç §ïŒ: ã«ãŒã«ã空ã«ããŠãåãããšãauto modeã§å®è¡ããã
â å®è¡ã§ããŸããïŒ9è¡ãšåºåïŒ
åãã³ãã³ããåãã¢ãŒãã§ãaskã®1è¡ããããã©ããã ãã§çµæãå€ãããŸãããauto modeã§ããaskã«æžãããã®ã¯å¿ ã人éã«ç¢ºèªãæ¥ããããã¯å®æž¬ã§ç¢ºèªã§ããŸããã
宿ž¬2ïœæžãæ¹ã1æåééãããšãdenyã¯å¹ããªã
ããã²ãšã€ãæžãæ¹ã®æ€èšŒã§ãã
ãããã§ããèŠããããå±ãªãèšå®ãå¡ããäŸã«ãããããæžãæ¹ããããŸãã
"deny": ["Bash(curl * | sh)"]ããããããèœãšããŠããã¹ã¯ãªããããã®ãŸãŸå®è¡ããã®ãçŠæ¢ããããšããæå³ã§ããäžèŠãããšæ£ãããã§ããç§ãæåããããèªåã®èšå®ã«æžãããšããŸããã
ãšãããå ¬åŒããã¥ã¡ã³ãã«ã¯ãããæžããŠãããŸãã
The recognized command separators are &&, ||, ;, |, |&, &, and newlines. A rule must match each subcommand independently.
ãã€ãïŒ|ïŒã¯ãã³ãã³ãã®åºåãããšããŠèªèããããã€ãŸã curl X | sh 㯠curl X ãš sh ã®2ã€ã«åè§£ãããŠãããããå¥ã ã«å€å®ãããããšããããšã§ãããšããããšã¯ curl * | sh ãšãã1æ¬ã®ãã¿ãŒã³ã¯ãåè§£ãããã©ã¡ãã«ããããããªãã¯ãã§ãã
ç¡å®³ãªã³ãã³ãã§ç¢ºãããŸããã
ãã¹ãA: denyã« Bash(echo * | wc *) ãšæžããŠãecho hi | wc -l ãå®è¡ããã
â å®è¡ã§ããŸããïŒdenyãå¹ããŠããªãïŒ
ãã¹ãB: denyã« Bash(wc *) ãšããã€ãã®å³åŽã ããæžããŠãåãã³ãã³ããå®è¡ããã
â å®è¡ã§ããŸããã§ããïŒdenyãå¹ããïŒ
åãã³ãã³ããæ¢ãããã®ã«ãæžãæ¹ãéãã ãã§çµæãéã«ãªããŸããããã€ããå«ãã ãŸãŸæžããšå¹ãããå³åŽã ããåäœã§æžããšå¹ãã
ããã¯æãæåã ãšæããŸãããæžãééããŠãããšã©ãŒãèŠåãåºãªãããã§ããèšå®ãã¡ã€ã«ã«ã¯ç¢ºãã«ãçŠæ¢ããšæžããŠããã®ã«ãå®éã¯çŽ éãããŸããæžããæ¬äººã¯å¡ãã ã€ããã§ããŸãã

ããã²ãšã€ã®èœãšã穎ïœãŠãŒã¶ãŒèšå®ã®ã.envãã¯homeå šäœãå®ããªã
.env ãšãããã¡ã€ã«ã«ã¯ãAPIããŒããã¹ã¯ãŒããå ¥ã£ãŠããŸãããããAIã«èªãŸããããªãããšããã®ã¯ããããèŠæã§ãå ¬åŒããã¥ã¡ã³ãã«ãããŒã¹ãããŠäœ¿ããäŸãèŒã£ãŠããŸãã
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}ããã§æ³šæãå¿ èŠãªã®ã¯ããã®äŸã¯ãããžã§ã¯ãããšã®èšå®ãã¡ã€ã«çšã ãšããç¹ã§ãã./ ã¯ãããŸããå ŽæããèŠãŠããšããæå³ãªã®ã§ãæžãå Žæã«ãã£ãŠå®ãç¯å²ãå€ãããŸãã
å ¬åŒããã¥ã¡ã³ãã«ã¯ãã¯ã£ããããæžãããŠããŸãã
A deny rule such as Read(/secrets/**) in user settings blocks ~/.claude/secrets/**, not a secrets directory in your project.
ãŠãŒã¶ãŒèšå®ïŒ~/.claude/settings.jsonïŒã«æžãããã¹ã¯ ~/.claude/ ãåºæºã«è§£éãããŸããã€ãŸãå šãããžã§ã¯ããå®ãã€ããã§ Read(**/.env) ãšãŠãŒã¶ãŒèšå®ã«æžããŠããå®éã«å®ãããã®ã¯ ~/.claude/ ã®äžã ãããšããããšã«ãªããŸãã
ããã«çœ ããã£ãŠãããããå šéšã«ãããããš Read(//**/.env) ãšæžããšãããã¥ã¡ã³ãããããäœã«ããããããªããã«ãŒã«ã«ãªããŸãã
å šãããžã§ã¯ãã«å¹ããããå Žåã¯ãããŒã ããã®çžå¯Ÿãã¹ïŒ~/ïŒãã絶察ãã¹ïŒ//ïŒã§æžãå¿ èŠããããŸããç§ã¯ Read(~/**/.env) ãš Read(~/**/.env.*) ã®åœ¢ã«ããŸããã
ç§ãå®éã«æžãè¶³ãã11è¡
以äžããµãŸããŠãèªåã®èšå®ã«æžãè¶³ããã®ããã®11è¡ã§ããallowã®923ä»¶ã¯1ä»¶ãæ¶ããŠããŸãããæ¶ããšæ¥åžžã®äœæ¥ãæ¢ãŸãããã§ãã
"deny": [
"Bash(sh)", "Bash(sh *)",
"Bash(bash)", "Bash(bash *)",
"Bash(zsh)", "Bash(zsh *)",
"Read(~/**/.env)", "Read(~/**/.env.*)"
],
"ask": [
"Bash(git push *)",
"Bash(gh pr create *)",
"Bash(rm -rf *)"
]denyã®åå6è¡ã¯ãããã»ã©ã®å®æž¬ã®çµè«ããã®ãŸãŸåæ ãããã®ã§ãããcurl | sh ãæ¢ãããããªãããã€ãããšæžãã®ã§ã¯ãªãå³åŽã«æ¥ãã·ã§ã«ãã®ãã®ãå¡ããç§ã®èšå®ã«ã¯ããšããš sh ã bash ãçŽæ¥å®è¡ããèš±å¯ã0ä»¶ã ã£ãã®ã§ããããå¡ãã§ãæ¥åžžã®äœæ¥ã«ã¯åœ±é¿ããŸããã§ããã
askã®3è¡ã¯ãå ¬åŒãã人éã®ç¢ºèªãæã¿ãããšãã®ã¬ã·ãããšããŠæããŠãããã®ã«ãrm -rfïŒãã©ã«ãããšåé€ïŒãè¶³ããŸãããç§ã®æ¢åã®èš±å¯ã«ã¯ rm -fïŒãã¡ã€ã«1ã€åé€ïŒã4ä»¶ãããŸããããrm -rf 圢åŒã¯0ä»¶ã ã£ãã®ã§ããããäœæ¥ã¯æ¢ãŸããŸããã
æžãè¶³ããããšãæ¬åœã«å¹ããŠããã確èªããŸããã
sh -c 'echo test' ãå®è¡ããŠ
â å®è¡ã§ããŸããã§ããïŒæš©éãæåŠãããŸããïŒauto modeã®ãŸãŸãdenyãå¹ããŠããŸããèµ·åæã®èŠåãåºãŠããŸããã
ãªããgit push ãaskã«å ¥ããã®ã§ãããããã¯æ¯å確èªãæ¥ãŸããæéã¯å¢ããŸãããããã¯æå³ããæéã§ãã
éãšã³ãžãã¢ã®ããã®ã3åã®èšå®ç¹æ€ã
ã³ãã³ããåãããªããŠãããã®4ã€ã¯ç¢ºèªã§ããŸããã¿ãŒããã«ã«è²Œãä»ããã ãã®æé ã«ããŸããã
Step 1ïœèªåã®èš±å¯ãäœä»¶ãããæ°ãã
python3 -c "import json,os;d=json.load(open(os.path.expanduser('~/.claude/settings.json')));p=d.get('permissions',{});print('allow',len(p.get('allow',[])),'deny',len(p.get('deny',[])),'ask',len(p.get('ask',[])))"deny 0 ask 0 ãšåºãããç§ãšåãç¶æ ã§ãã
Step 2ïœãäœã§ãéã1è¡ããæ··ãã£ãŠããªããèŠã
grep -E "python3?:\*|node -e|npx tsx -e|bash -c|sh -c" ~/.claude/settings.jsonããã«äœãåºãŠãããããã®1è¡ãä»ã®èš±å¯ããåªå ããŠå¹ããŠããŸããæ¶ããã©ããã¯äœæ¥å 容次第ã§ãããããããéãéã«ãªã£ãŠãããããšã¯ç¥ã£ãŠãããã»ããããã§ãã
Step 3ïœèŠåŒµã圹ãäœãæ¢ããŠããããç®ã§èŠã
claude auto-mode defaultsé·ãåºåãåºãŸãããsoft_deny ã®é ç®åã ãçºããã ãã§ãæå³ããããŸããèªåãå¿é ããŠããããšãããã§ã«ãªã¹ãã«å ¥ã£ãŠãããã©ãããåãããŸãã
Step 4ïœæ¢ããããã®ã1è¡ã ãæžã
ãããªãå®ç§ãªèšå®ãäœãå¿ èŠã¯ãããŸããããããã ãã¯çµ¶å¯Ÿã«èªåã§ãã£ãŠã»ãããªããã1ã€ã ãæ±ºããŠãaskã«æžããŸãã
ç§ã®å Žåã¯ããã Bash(git push *) ã§ãããå ¬éãããŠããå Žæã«äœããéãæäœã¯ãå¿ ãèªåã®ç®ãéãããã£ãããã§ãã
æžããããšã¯ãå¿ ãå®éã«åãããŠç¢ºãããŠãã ãããæžããã ãã§ã¯å¹ããŠãããåãããŸãããä»åã®èšäºã§ãã¡ã°ã匷ã宿ããã®ãããã§ãã
ãããªãã£ãããšãæ®ã£ã課é¡
æ£çŽã«æžããŠãããŸãã
allowã®923ä»¶ã¯æé€ããŠããŸããã 80ä»¶ã¯ç¡æå³ã4ä»¶ã¯ä»ãç¡å¹åããããšåãã£ãŠããªããæ®ããŸãããæ¶ããšéå»ã®äœæ¥ã¹ã¯ãªãããæ¢ãŸãå¯èœæ§ãããã仿¥ã¯åœ±é¿ç¯å²ã確èªããããªãã£ãããã§ãã
curl ã®209ä»¶ãæ®ããŠããŸãã å ¬åŒã¯ãBashã®ãããã¯ãŒã¯ç³»ã³ãã³ãã¯denyã§å¡ãã代ããã«WebFetchã§ãã¡ã€ã³ãæå®ããŠèš±å¯ããããšããæ¹éãæšå¥šããŠããŸãããã®ã»ããå®å šãªã®ã¯åãããŸããã209ä»¶ãå šéšçœ®ãæããã®ã¯ä»æ¥ã®äœæ¥éã§ã¯ãããŸããã§ããã
environmentã®11é ç®ãæªèšå®ã®ãŸãŸã§ãã ã²ãšãã§äœ¿ã£ãŠããéãã¯ãå šéšå€éšæ±ããã®ã»ããå®å šåŽãªã®ã§ãæ¥ãã§ããŸããããã ã人ãå¢ãããšãã«ã¯å¿ èŠã«ãªããŸãã
ã€ãŸã仿¥ãã£ãã®ã¯ãå±éºãå šéšæ¶ããã§ã¯ãªãããéãéã1æ¬ã ãå¡ãã確èªã1ã€ã ãå¢ãããã§ããããã§ããäœãæžããŠããªãã£ãæšæ¥ãŸã§ãšã¯ç¶æ ãéããŸãã
ãããã質å
èš±å¯ã923ä»¶ãæºããŠããŸããŸããããå±éºãªããšã¯èµ·ããŠããŸãã
ç§ã®ç°å¢ã§ã¯ãä»ã®ãšããäœãèµ·ããŠããŸããããã ãããã¯ãèš±å¯ã现ããç©ã¿äžããŠããããã§ã¯ãªããauto modeã®èŠåŒµã圹ã66ä»¶ã®ã«ãŒã«ã§æ¢ããŠããããã ãšèããã»ãã宿 ã«è¿ãã§ããéãè¯ãã£ãããšæžãã®ãæ£ç¢ºã ãšæããŸãã
èš±å¯ãªã¹ãã¯æ¶ããã»ããããã§ãã
æ¥ãã§æ¶ãå¿ èŠã¯ãããŸãããallowã¯ã確èªãåºããªããèšå®ãªã®ã§ãæ¶ããŠãå±éºã«ã¯ãªããã確èªãå¢ããã ãã§ãããããå ã«denyãšaskã1è¡ãã€æžãã»ããã广ãã¯ã£ããããŠããŸãã
èšå®ãæžãééããããšã©ãŒã§æããŠãããŸãã
ãã¿ãŒã³ã®æžãééãã¯æããŠãããŸãããä»åã®å®æž¬ã§ããå¹ããªãdenyã«ãŒã«ãæžããç¶æ ã§èŠåã¯äžååºãŸããã§ãããããŒã«åã®æã¡ééãïŒååšããªãããŒã«åãæžããå ŽåïŒã¯èµ·åæã«èŠåãåºãŸãã
auto modeã¯åã£ãã»ããå®å šã§ãã
äžæŠã«ã¯èšããŸãããauto modeãåããšã確èªãèªåã«è¿ã£ãŠãã代ããã«ã66ä»¶ã®ã«ãŒã«ãæã€èŠåŒµã圹ãå€ããŸãã確èªã®åæ°ãå¢ãããšã人ã¯å 容ãèªãŸãã«æŒãããã«ãªããŸãããããªããèŠåŒµãåœ¹ã¯æ®ãããŸãŸãçµ¶å¯Ÿã«æ¢ããããã®ã ãaskã«æžããã»ãããç§ã«ã¯çŸå®çã§ããã
äŒç€Ÿã§è€æ°äººã䜿ã£ãŠããå Žåã¯
管çè çšã®èšå®ãã¡ã€ã«ïŒmanaged settingsïŒã« deny ãæžãæ¹æ³ããããŸããå ¬åŒããã¥ã¡ã³ãã«ã¯ãã©ãããŠãå®è¡ãããããªãæäœã¯ãmanaged settingsã®permissions.denyã«æžããããã¯èŠåŒµã圹ããåã«åããäžæžãã§ããªãããšæèšãããŠããŸããå人ã®èšå®ãã匷ãå Žæãããããšããããšã§ãã
ãŸãšã
èªåã®èš±å¯èšå®923ä»¶ãæ°ããŠåãã£ãã®ã¯ããã®5ã€ã§ããã
allow 923ä»¶ã«å¯ŸããŠãdeny 0ä»¶ã»ask 0ä»¶ã ã£ããèš±å¯ã ããç©ã¿äžããŠãã
80ä»¶ïŒ8.7%ïŒã¯ãæžããªããŠãæåããéãã³ãã³ãã ã£ã
python3:* ã®ãããª4è¡ããæ®ã919ä»¶ã®ç©ã¿äžããç¡æå³ã«ããŠãã
auto modeã§ã¯ãallowã¯äž»åœ¹ã§ã¯ãªãã66ä»¶ã®ã«ãŒã«ãæã€å¥ã®AIã審æ»ããŠãã
å¹ãã®ã¯denyãšaskããã ãæžãæ¹ãééãããšãèŠåãåºãªããŸãŸçŽ éããã
ãã¯ããä»åŸç¢ºèªããªãããæŒãç¶ããããšã¯ãèšå®ãäœã£ãŠããè¡çºã§ã¯ãããŸããã§ããããã 確èªãæ¶ããŠããã ãã§ããå®éã«å¹ãèšå®ã¯ãèªåã®æã§æ°è¡æžãå¿ èŠããããŸãã
ç§ã仿¥æžãè¶³ããã®ã¯11è¡ã§ãäœæ¥æéã¯30åã»ã©ã§ãããallowã923ä»¶ç©ã¿äžãã4ãæããããã®30åã®ã»ãã確å®ã«å¹ããŠããŸãã
èªåãå ¬éããããŒã«ã®ç¹æ€ã«ã€ããŠã¯ãã宿ž¬ãClaude Codeã§äœã£ãŠå ¬éããããŒã«14åãå šéšç¹æ€ããïœéãšã³ãžãã¢ãèŠèœãšã穎ã¯2çš®é¡ã ãã ã£ããã«æžããŸãããauto modeãæ¢å®ã«ãªã£ãçµç·¯ãšãã¢ãŒããæ»ãæ¹æ³ã«ã€ããŠã¯ãã8/14ãããClaude Codeã®ç¢ºèªç»é¢ãæ¶ããïœAuto modeãæ¢å®ã«ãªãåã«ãã3ã€ã®èšå®ãšæ»ãæ¹ãã§ãŸãšããŠããŸãã
Claude Codeã®æ°æ©èœããå®éã«åãããŠåãã£ãããšãXã§ãçºä¿¡ããŠããŸãããã®èšäºã®ãããªå®æž¬ã¯ãã ãããå ã«Xã«æžããŠããŸããããã£ãããã©ããŒããŠãã ããã
@ai_hack_dx
