ìëë°ì±ë Bash ë구 구ì±
Claude Codeì ìëë°ì±ë Bash ëêµ¬ê° íìŒìì€í ë° ë€ížìí¬ ê²©ëŠ¬ë¥Œ ì ê³µíì¬ ë ìì íê³ ììšì ìž ììŽì íž ì€íì ê°ë¥íê² íë ë°©ë²ì ììëŽ ëë€.
Bash ìëë°ì€ë¥Œ ì¬ì©í멎 Claudeê° ëë¶ë¶ì ì ž ëª ë ¹ì ê¶íì ìì²íì§ ìê³ ì€íí ì ììµëë€. ê° ëª ë ¹ì ì¹ìžíë ëì ëª ë ¹ìŽ ì ê·Œí ì ìë íìŒê³Œ ë€ížìí¬ ëë©ìžì ì ìí멎 ìŽì 첎ì ê° ëªšë Bash ëª ë ¹ê³Œ ê·ž ìì íë¡ìžì€ì ëíŽ íŽë¹ 겜ê³ë¥Œ ì ì©í©ëë€.
ìŽ íìŽì§ììë ë€ìì ë€ë£¹ëë€:
- ìëë°ì€ íì±í ë° ìëë°ì±ë ëª ë ¹ìŽ ì¹ìžëë ë°©ì ì í
- ê²œë¡ ë° ë€ížìí¬ ëë©ìž êµ¬ì± ëª ë ¹ìŽ ì ê·Œí ì ìë ê²
- ìëë°ì±ì ê¶í ê·ì¹ ë° ê¶í 몚ëì ê²°í©
- ì¡°ì§ ì 첎ìì ìëë°ì± ì ì© êŽëЬ ì€ì ì¬ì©
dev 컚í ìŽë, ì¬ì©ì ì ì 컚í ìŽë, ê°ì ëšžì ë± ë€ë¥ž 격늬 ë°©ìì ë¹êµíë €ë©Ž ìëë°ì€ í겜ì ì°žì¡°íìžì. Bash ìŽìžì ë구ì ëí ê¶í í롬íížë¥Œ ì€ìŽë €ë©Ž ê¶í 몚ë륌 ì°žì¡°íìžì.
ììíêž°
ìëë°ì€ë Claude Codeì ëŽì¥ëìŽ ììŒë©° macOS, Linux ë° WSL2ìì ì€íë©ëë€. Ʞ볞 Windowsë ì§ìëì§ ììµëë€. Windowsììë WSL2 ë°°í¬í ëŽìì Claude Code륌 ì€ííìžì.
macOSììë ì€ì¹í ê²ìŽ ììµëë€: ìëë°ì±ì Ʞ볞 ì ê³µ Seatbelt íë ììí¬ë¥Œ ì¬ì©í©ëë€. Linux ë° WSL2ìì ìëë°ì€ë ë ê°ì íší€ì§ì ì졎íë©°, Linux ë° WSL2 ì€ì ìì ë€ë£¹ëë€. ìì§ ì€ì¹íì§ ììëëŒë /sandboxë¡ ììí ì ììµëë€. íŽë¹ íšëì ëëœë ê²ìŽ ìëì§ ë³Žì¬ì€ëë€.
/sandbox ì€í
Claude Code ìžì
ì ììíê³ /sandbox ëª
ë ¹ì ì€íí©ëë€:
/sandbox
ìŽë ìž ê°ì íìŽ ìë ìëë°ì€ íšëì ìœëë€:
- Mode: ìëë°ì±ë ëª ë ¹ìŽ ì¹ìžëë ë°©ìì ì íí©ëë€. ë€ì ëšê³ìì ë€ë£¹ëë€
- Overrides: ìëë°ì€ìì ì€íší ëª
ë ¹ìŽ ìëë°ì±ëì§ ìì ìíë¡ ì€íëëë¡ íŽë°±í ì ìëì§ ì íí©ëë€. ìŽë
allowUnsandboxedCommandsì€ì ì ëë€ - Config: íŽìë ìëë°ì€ ì€ì ì ëŽ ëë€
íšëì Dependencies íë§ íìë멎 íì íší€ì§ê° ëëœë ê²ì
ëë€. Linux ë° WSL2 ì€ì ì ì€ëª
ë ëë¡ ì€ì¹íê³ Claude Code륌 ë€ì ììí í /sandbox륌 ë€ì ì€íí©ëë€.
몚ë ì í
Mode íìì ìë íì© ëë ìŒë° ê¶íì ì íí©ëë€. ìë íì©ì ìëë°ì±ë ëª ë ¹ì í롬ííž ììŽ ì€ííê³ , ìŒë° ê¶íì ëª ë ¹ìŽ ìëë°ì±ëìì ëë ìŒë° ê¶í í롬íížë¥Œ ì ì§í©ëë€. ìë íì© ëªšëìì ì¬ì í í롬íížëë ëª ë ¹ì ìëë°ì€ 몚ë륌 ì°žì¡°íìžì.
Bash ëª ë ¹ ì€í
Claudeìê² ë¹ë ëë í ì€íž ì€ìížì ê°ì ëª ë ¹ì ì€ííëë¡ ìì²í©ëë€. Ʞ볞ì ìŒë¡ ìëë°ì€ ëŽì ëª ë ¹ì ìì ëë í 늬ìë§ ìž ì ììµëë€. ëª ë ¹ìŽ ì ë€ížìí¬ ëë©ìžì ì²ì ì¡ìžì€íŽìŒ í ë Claude Codeê° ì¹ìžì ìì²í©ëë€.
ìëë°ì±í ì ìë ëª ë ¹ì ìŒë° ê¶í íëŠìŒë¡ íŽë°±í©ëë€. ìŽë¬í 겜ê³ë¥Œ íëíê±°ë ì¶ìíë €ë©Ž ìëë°ì± 구ì±ì ì°žì¡°íìžì.
íšëìì 몚ë륌 ì íí멎 íì¬ íë¡ì ížì ì ì©ëê³ gitì 첎í¬ìžëì§ ìë íë¡ì ížì ë¡ì»¬ ì€ì .claude/settings.local.jsonì êž°ë¡ë©ëë€. 몚ë íë¡ì ížìì ìëë°ì€ë¥Œ íì±ííë €ë©Ž ì¬ì©ì ì€ì ~/.claude/settings.jsonìì sandbox.enabled륌 trueë¡ ì€ì í©ëë€. ì¡°ì§ì 몚ë ê°ë°ììê² ìëë°ì±ì ì ì©íë €ë©Ž êŽëЬ ì€ì ì ì¬ì©í©ëë€.
Ʞ볞ì ìŒë¡ ì¢
ìì±ìŽ ëëœëìê±°ë íë«íŒìŽ ì§ìëì§ ìì ìëë°ì€ë¥Œ ììí ì ììŒë©Ž Claude Codeë ê²œê³ ë¥Œ íìíê³ ìëë°ì± ììŽ ëª
ë ¹ì ì€íí©ëë€. ëì íë ì€íšë¡ ë§ë€ë €ë©Ž sandbox.failIfUnavailableì trueë¡ ì€ì í©ëë€. ìŽë ìëë°ì±ì 볎ì ê²ìŽížë¡ ì구íë êŽëЬ ë°°í¬ë¥Œ ìí ê²ì
ëë€.
Linux ë° WSL2 ì€ì
Linux ë° WSL2ìì ìëë°ì€ë ë ê°ì íší€ì§ì ì졎í©ëë€:
bubblewrap: íìŒìì€í 격늬륌 ì ì©íë ê¶í ìë ìëë°ì± ë구socat: ìëë°ì€ íë¡ì륌 íµíŽ ë€ížìí¬ ížëíœì ëŒì°í íë ë° ì¬ì©ëë 늎ë ìŽ
ë°°í¬íì íší€ì§ êŽëЬìë¡ ì€ì¹í©ëë€:
sudo apt-get install bubblewrap socat
sudo dnf install bubblewrap socat
ì€ì¹ í /sandboxì Dependencies íì ripgrep, bubblewrap, socat ë° seccomp íí°ê° íë«íŒìì ì¬ì© ê°ë¥íì§ ë³Žì¬ì€ëë€. Ripgrepì Ʞ볞 Claude Code ë°ìŽë늬ì íšê» ë²ë€ë©ëë€. seccomp íí°ë ì í ì¬íìŽë©° Unix ëë©ìž ììŒ ì°šëšì ì¶ê°í©ëë€. ëëœë ê²œì° npm install -g @anthropic-ai/sandbox-runtimeìŒë¡ ì€ì¹í©ëë€.
íì ì¢
ìì±ìŽ ëëœë멎 ì€ì¹í ëê¹ì§ Dependencies íë§ íìë©ëë€. ì¢
ìì± íìžì ìì ì ì€íëë¯ë¡ íší€ì§ ì€ì¹ í Claude Code륌 ë€ì ììíì¬ /sandboxê° ìŽë¥Œ ê°ì§íëë¡ í©ëë€.
WSL2 ëŽë¶ë¥Œ í¬íšíì¬ íê²œìŽ ìŽ ì íì ì ì©íëì§ íìžíë €ë©Ž `sysctl kernel.apparmor_restrict_unprivileged_userns`륌 ì€íí©ëë€. í€ê° 졎ì¬íì§ ìê±°ë `0`ì ë°íí멎 ìŽ ëšê³ë¥Œ 걎ëëëë€. `1`ì ë°íí멎 `bwrap`ì ìŽ êž°ë¥ì ë¶ì¬íë AppArmor íë¡íì ì¶ê°í©ëë€:
```bash theme={null}
sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'
abi <abi/4.0>,
include <tunables/global>
profile bwrap /usr/bin/bwrap flags=(unconfined) {
userns,
include if exists <local/bwrap>
}
EOF
```
íë¡íì `bwrap` ì첎ìë§ ì ì©ëë©° ìëë°ì€ ëŽìì ì€íëë ëª
ë ¹ìë ì ì©ëì§ ììµëë€. AppArmor륌 ë€ì ë¡ëíì¬ ì ì©í©ëë€:
```bash theme={null}
sudo systemctl reload apparmor
```
WSL2 ì°žê³ ì¬í
PowerShellìì wsl -l -vë¡ WSL ë²ì ì íìží©ëë€. Sandboxing requires WSL2ê° íìë멎 ë°°í¬íìŽ WSL1ì ì€í ì€ì
ëë€. WSL2ë¡ ì
ê·žë ìŽëíê±°ë ìëë°ì± ììŽ Claude Code륌 ì€íí©ëë€.
WSL2ìì ìëë°ì±ë ëª
ë ¹ì cmd.exe, powershell.exe ëë /mnt/c/ ìëì 몚ë í목곌 ê°ì Windows ë°ìŽë늬륌 ììí ì ììµëë€. WSLì ìŽë¥Œ Unix ììŒì íµíŽ Windows ížì€ížë¡ ì ë¬íë©°, ìëë°ì€ê° ìŽë¥Œ ì°šëší©ëë€. ëª
ë ¹ìŽ Windows ë°ìŽë늬륌 ížì¶íŽìŒ í멎 excludedCommandsì ì¶ê°íì¬ ìëë°ì€ ìžë¶ìì ì€íëëë¡ í©ëë€.
ìëë°ì€ 몚ë
Claude Codeë ë ê°ì§ ìëë°ì€ 몚ë륌 ì ê³µí©ëë€:
ìë íì© ëªšë: Bash ëª ë ¹ì ìëë°ì€ ëŽìì ì€íì ìëíë©° ê¶í ììŽ ìëìŒë¡ íì©ë©ëë€. íì©ëì§ ìì ížì€ížì ëí ë€ížìí¬ ì¡ìžì€ê° íìí ê²œì° ë± ìëë°ì±í ì ìë ëª ë ¹ì ìŒë° ê¶í íëŠìŒë¡ íŽë°±í©ëë€. ì¬êž°ì Claude Codeë ê¶í ê·ì¹ì íìžíê³ íŽë¹ ê·ì¹ìŽ ìŽë¯ž íì©íì§ ìë 몚ë ëª ë ¹ì ëíŽ í롬ííží©ëë€.
ìë íì© ëªšëììë ë€ììŽ ì ì©ë©ëë€:
- ëª ìì ê±°ë¶ ê·ì¹ì íì 졎ì€ë©ëë€
/, í ëë í 늬 ëë êž°í ì€ìí ìì€í 겜ë¡ë¥Œ ëììŒë¡ íërmëërmdirëª ë ¹ì ì¬ì í ê¶í í롬íížë¥Œ ížëŠ¬ê±°í©ëë€- Ask ê·ì¹ì ìŒë° ê¶í íëŠìŒë¡ íŽë°±ëë ëª ë ¹ì ì ì©ë©ëë€
ìŒë° ê¶í 몚ë: 몚ë Bash ëª ë ¹ì ìëë°ì±ëìëëŒë ìŒë° ê¶í íëŠì 거칩ëë€. ìŽë ë ë§ì ì ìŽë¥Œ ì ê³µíì§ë§ ë ë§ì ì¹ìžìŽ íìí©ëë€.
ë 몚ë 몚ëìì ìëë°ì€ë ëìŒí íìŒìì€í ë° ë€ížìí¬ ì íì ì ì©í©ëë€. ì°šìŽì ì ìëë°ì±ë ëª ë ¹ìŽ ìë ì¹ìžëëì§ ëë ëª ìì ê¶íìŽ íìíì§ ì¬ë¶ë¿ì ëë€.
ìŒë¶ ëª
ë ¹ì ìëë°ì€ ëŽìì ì í ì€íí ì ììµëë€. ì륌 ë€ìŽ ížíëì§ ìë ë구ë íì©íì§ ìì ížì€ížê° íìí ë구ì
ëë€. ìì
ì ì€íšíê±°ë ìëë°ì±ì ëëë¡ ì구íë ëì Claude Codeë íì¶ íŽì¹ë¥Œ í¬íší©ëë€: ëª
ë ¹ìŽ ìëë°ì€ ì íìŒë¡ ìžíŽ ì€íší멎 Claudeë ì€íšë¥Œ ë¶ìíê³ dangerouslyDisableSandbox ë§€ê°ë³ìë¡ ëª
ë ¹ì ë€ì ìëí ì ììµëë€. ë€ì ìëë ëª
ë ¹ì ìëë°ì€ ìžë¶ìì ì€íëë¯ë¡ ìŒë° ê¶í íëŠì ê±°ì¹ê³ ì¹ìžìŽ íìí©ëë€.
ìëë°ì€ ì€ì ìì "allowUnsandboxedCommands": false륌 ì€ì íì¬ ìŽ íì¶ íŽì¹ë¥Œ ë¹íì±íí ì ììµëë€. ë¹íì±íë멎 /sandbox Overrides íì Strict sandbox modeë¡ íìëë©°, dangerouslyDisableSandbox ë§€ê°ë³ìë ìì í 묎ìëê³ ëªšë ëª
ë ¹ì ìëë°ì±ëê±°ë excludedCommandsì ëª
ìì ìŒë¡ ëìŽëìŽìŒ í©ëë€.
ìë íì© ëªšëë ê¶í 몚ë ì€ì 곌 ë 늜ì ìŒë¡ ìëí©ëë€. "ížì§ ìëœ" 몚ëì ìì§ ìëëŒë ìë íì©ìŽ íì±íë멎 ìëë°ì±ë Bash ëª ë ¹ìŽ ìëìŒë¡ ì€íë©ëë€. ìŽë ìëë°ì€ ê²œê³ ëŽìì íìŒì ìì íë Bash ëª ë ¹ìŽ íìŒ ížì§ ëêµ¬ê° ìŒë°ì ìŒë¡ ì¹ìžì ì구í ëë í롬ííž ììŽ ì€íëšì ì믞í©ëë€.
ìëë°ì± 구ì±
settings.json íìŒì íµíŽ ìëë°ì€ ëìì ì¬ì©ì ì ìí©ëë€. ì 첎 êµ¬ì± ì°žì¡°ë ì€ì ì ì°žì¡°íìžì.
Ʞ볞ì ìŒë¡ ìëë°ì±ë ëª
ë ¹ì íì¬ ìì
ëë í 늬ìë§ ìž ì ììµëë€. kubectl, terraform ëë npm곌 ê°ì íì íë¡ìžì€ ëª
ë ¹ìŽ íë¡ì íž ëë í 늬 ìžë¶ì ì°êž°íŽìŒ í멎 sandbox.filesystem.allowWrite륌 ì¬ì©íì¬ í¹ì 겜ë¡ì ëí ì¡ìžì€ë¥Œ ë¶ì¬í©ëë€:
{
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": ["~/.kube", "/tmp/build"]
}
}
}
ìŽë¬í 겜ë¡ë OS ìì€ìì ì ì©ëë¯ë¡ ìëë°ì€ ëŽìì ì€íëë 몚ë ëª
ë ¹(ìì íë¡ìžì€ í¬íš)ìŽ ìŽë¥Œ 졎ì€í©ëë€. ìŽë ë구륌 excludedCommandsë¡ ìëë°ì€ìì ìì í ì ìžíë ê²ë³Žë€ ëêµ¬ê° í¹ì ìì¹ì ì°êž° ì¡ìžì€ê° íìí ë ê¶ì¥ëë ë°©ë²ì
ëë€.
ëìŒí íìŒìì€í ë°°ìŽìŽ ì¬ë¬ ì€ì ë²ììì ì ìë멎 ë°°ìŽìŽ ë³í©ë©ëë€: 몚ë ë²ìì 겜ë¡ê° ê²°í©ëë©° ë첎ëì§ ììµëë€.
ê²œë¡ ì ëì¬ë 겜ë¡ê° íŽìëë ë°©ìì ì ìŽí©ëë€:
| ì ëì¬ | ì믞 | ìì |
|---|---|---|
/ |
íìŒìì€í 룚ížì ì ë ê²œë¡ | /tmp/buildë /tmp/buildë¡ ì ì§ë©ëë€ |
~/ |
í ëë í 늬ì ìëì | ~/.kubeë $HOME/.kubeê° ë©ëë€ |
./ ëë ì ëì¬ ìì |
íë¡ì íž ì€ì ì ê²œì° íë¡ì íž ë£šížì ìëì ìŽê±°ë, ì¬ì©ì ì€ì ì ê²œì° ~/.claudeì ìëì |
.claude/settings.jsonì ./outputì <project-root>/outputìŒë¡ íŽìë©ëë€ |
ìŽ êµ¬ë¬žì ì ë 겜ë¡ì //path륌 ì¬ì©íê³ íë¡ì íž ìëì /path륌 ì¬ì©íë Read ë° Edit ê¶í ê·ì¹ê³Œ ë€ëŠ
ëë€. ìëë°ì€ íìŒìì€í
겜ë¡ë íì€ ê·ì¹ì ì¬ì©í©ëë€: /tmp/buildë ì ë 겜ë¡ì
ëë€.
sandbox.filesystem.denyWrite ë° sandbox.filesystem.denyRead륌 ì¬ì©íì¬ ì°êž° ëë ìœêž° ì¡ìžì€ë¥Œ ê±°ë¶í ìë ììŒë©°, sandbox.filesystem.allowRead륌 ì¬ì©íì¬ ê±°ë¶ë ìì ëŽìì í¹ì ê²œë¡ ìœêž°ë¥Œ ë€ì íì©í ì ììµëë€.
ìë ìì ë í ëë í 늬 ì 첎ììì ìœêž°ë¥Œ ì°šëší멎ìë íì¬ íë¡ì ížììì ìœêž°ë¥Œ íì©í©ëë€. ìë ê²œë¡ .ìŽ íë¡ì íž ì€ì ì ìì ëë§ íë¡ì íž ë£šížë¡ íŽìëë¯ë¡ íë¡ì ížì .claude/settings.jsonì ë°°ì¹í©ëë€:
{
"sandbox": {
"enabled": true,
"filesystem": {
"denyRead": ["~/"],
"allowRead": ["."]
}
}
}
.ì allowReadë ìŽ êµ¬ì±ìŽ íë¡ì íž ì€ì ì ììŒë¯ë¡ íë¡ì íž ë£šížë¡ íŽìë©ëë€. ëìŒí 구ì±ì ~/.claude/settings.jsonì ë°°ì¹íë€ë©Ž .ì ~/.claudeë¡ íŽìëê³ íë¡ì íž íìŒì denyRead ê·ì¹ì ìíŽ ì°šëšë ìíë¡ ì ì§ë©ëë€.
ìëë°ì± ìë ë°©ì
íìŒìì€í 격늬
ìëë°ì±ë Bash ë구ë íìŒ ìì€í ì¡ìžì€ë¥Œ í¹ì ëë í ëŠ¬ë¡ ì íí©ëë€:
- Ʞ볞 ì°êž° ëì: íì¬ ìì ëë í 늬 ë° ê·ž íì ëë í 늬ì ëí ìœêž° ë° ì°êž° ì¡ìžì€
- Ʞ볞 ìœêž° ëì: í¹ì ê±°ë¶ë ëë í 늬륌 ì ìží ì 첎 컎íší°ì ëí ìœêž° ì¡ìžì€. ìŽ êž°ë³žê°ì ì¬ì í
~/.aws/credentialsë°~/.ssh/ì ê°ì ì격 ìŠëª íìŒ ìœêž°ë¥Œ íì©í©ëë€. ìŽë¥Œ ì°šëšíë €ë©ŽdenyReadì ì¶ê°í©ëë€. - ì°šëšë ì¡ìžì€: ëª
ìì ê¶í ììŽ íì¬ ìì
ëë í 늬 ìžë¶ì íìŒì ìì í ì ììµëë€.
~/.bashrcì ê°ì ì ž êµ¬ì± íìŒ ë°/bin/ì ìì€í ë°ìŽë늬 í¬íš - Git worktrees: ìì
ëë í ëŠ¬ê° ì°ê²°ë git worktreeìŒ ë, ìëë°ì€ë ëí ë©ìž ì ì¥ìì ê³µì
.gitëë í 늬ì ëí ì°êž°ë¥Œ íì©íë¯ë¡git commit곌 ê°ì ëª ë ¹ìŽ refs ë° ìžë±ì€ë¥Œ ì ë°ìŽíží ì ììµëë€. íŽë¹ ëë í 늬 ëŽìhooks/ë°configì ëí ì°êž°ë ê³ì ê±°ë¶ë©ëë€. - êµ¬ì± ê°ë¥: ì€ì ì íµíŽ ì¬ì©ì ì ì íì© ë° ê±°ë¶ ê²œë¡ë¥Œ ì ìí©ëë€
sandbox.filesystem.allowWrite륌 ì¬ì©íì¬ ì¶ê° 겜ë¡ì ëí ì°êž° ì¡ìžì€ë¥Œ ë¶ì¬í ì ììµëë€. ìŽë¬í ì íì OS ìì€ìì ì ì©ëë¯ë¡ Claudeì íìŒ ë구ë¿ë§ ìëëŒ kubectl, terraform, npm곌 ê°ì ë구륌 í¬íší 몚ë íì íë¡ìžì€ ëª
ë ¹ì ì ì©ë©ëë€.
ë€ížìí¬ ê²©ëŠ¬
ë€ížìí¬ ì¡ìžì€ë ìëë°ì€ ìžë¶ìì ì€íëë íë¡ì ìë²ë¥Œ íµíŽ ì ìŽë©ëë€:
- ëë©ìž ì í: ì¬ì íì©ë ëë©ìžìŽ ììµëë€. ëª
ë ¹ìŽ ì ëë©ìžì ì²ì ì¡ìžì€íŽìŒ í ë Claude Codeê° ì¹ìžì ìì²í©ëë€.
allowedDomainsë¡ ëë©ìžì ì¬ì íì©íì¬ í롬íížë¥Œ íŒí©ëë€. - êŽëЬ ì êž:
allowManagedDomainsOnlyê° êŽëЬ ì€ì ìì ì€ì ë멎 íì©ëì§ ìì ëë©ìžìŽ í롬ííž ëì ìëìŒë¡ ì°šëšëë©° êŽëЬ ì€ì ìallowedDomainsë§ ì¡Žì€ë©ëë€. - ì¬ì©ì ì ì íë¡ì ì§ì: ê³ êž ì¬ì©ìë ëê°ë ížëíœì ëí ì¬ì©ì ì ì ê·ì¹ì 구íí ì ììµëë€
- í¬êŽì ë²ì: ì íì ëª ë ¹ìŒë¡ ìì±ë 몚ë ì€í¬ëŠœíž, íë¡ê·žëš ë° íì íë¡ìžì€ì ì ì©ë©ëë€
Ʞ볞 ì ê³µ íë¡ìë ìì²ë ížì€íž ìŽëŠì êž°ë°ìŒë¡ íì© ëª©ë¡ì ì ì©íë©° TLS ížëíœì ì¢ ë£íê±°ë ê²ì¬íì§ ììµëë€. ìŽ ì€ê³ì ì믞ë 볎ì ì í ì¬íì ì°žì¡°íê³ , ìí 몚ëžìŽ TLS ê²ì¬ë¥Œ ì구í멎 ì¬ì©ì ì ì íë¡ì 구ì±ì ì°žì¡°íìžì.
OS ìì€ ì ì©
ìëë°ì±ë Bash ë구ë ìŽì 첎ì 볎ì Ʞ볞 ìì륌 íì©í©ëë€:
- macOS: ìëë°ì€ ì ì©ì ìíŽ Seatbelt륌 ì¬ì©í©ëë€
- Linux: 격늬륌 ìíŽ bubblewrapì ì¬ì©í©ëë€
- WSL2: Linuxì ëìŒíê² bubblewrapì ì¬ì©í©ëë€
WSL1ì bubblewrapìŽ WSL2ììë§ ì¬ì© ê°ë¥í 컀ë êž°ë¥ì íìë¡ íêž° ë묞ì ì§ìëì§ ììµëë€. ìŽë¬í OS ìì€ì ì íì Claude Codeì ëª ë ¹ìŒë¡ ìì±ë 몚ë ìì íë¡ìžì€ê° ëìŒí 볎ì 겜ê³ë¥Œ ììíëë¡ ë³Žì¥í©ëë€.
ìŽë¬í ëìŒí Ʞ볞 ììë ë
늜 ì€íí @anthropic-ai/sandbox-runtime íší€ì§ë¡ ì¬ì© ê°ë¥íë©°, ìëë°ì€ í겜 íìŽì§ìì ì 첎 Claude Code íë¡ìžì€ë¥Œ ëííêž° ìí ë³ëì ë°©ììŒë¡ ë€ë£¹ëë€.
ìëë°ì±ìŽ ê¶í ë° ê¶í 몚ëì ìŽë»ê² êŽë šëëì§
ìëë°ì±, ê¶í ê·ì¹ ë° ê¶í 몚ëë ìíž ë³Žìì ìž ê³ìžµì ëë€. ìë ì¹ì ììë ìëë°ì€ê° ê°ê°ê³Œ ìŽë»ê² ìíž ìì©íëì§ ë€ë£¹ëë€.
ê¶í ê·ì¹
ê¶í ê·ì¹ê³Œ ìëë°ì±ì ë€ë¥ž ê²ì ì ìŽí©ëë€:
- ê¶í ê·ì¹ì Claude Codeê° ì¬ì©í ì ìë ë구륌 ì ìŽíë©° ëêµ¬ê° ì€íëêž° ì ì íê°ë©ëë€. 몚ë ë구ì ì ì©ë©ëë€: Bash, Read, Edit, WebFetch, MCP ë±.
- ìëë°ì±ì Bash ëª ë ¹ìŽ íìŒìì€í ë° ë€ížìí¬ ìì€ìì ì¡ìžì€í ì ìë ê²ì ì ííë OS ìì€ì ì ì©ì ì ê³µí©ëë€. Bash ëª ë ¹ ë° ê·ž ìì íë¡ìžì€ìë§ ì ì©ë©ëë€.
ë ê³ìžµì ëí ì ì© ë°©ììŽ ë€ëŠ ëë€. Claude Codeë ëª ë ¹ 묞ììŽì êž°ë°ìŒë¡ ëª ë ¹ìŽ ì€íëêž° ì ì ê¶í ê²°ì ì íê°íê³ , ìë 몚ëììë ëª ë ¹ìŽ ìì íì§ ì¬ë¶ì ëí ë³ë ë¶ë¥êž°ì íëšì íê°í©ëë€. ìŽì 첎ì ë ì€í ì€ìž íë¡ìžì€ì ìëë°ì€ 겜ê³ë¥Œ ì ì©íë¯ë¡ 몚ëžìŽ ì€ííëë¡ ì íí ê²ê³Œ êŽê³ììŽ ê·žëŠ¬ê³ íì©ë ëª ë ¹ìŽ ìŽëŠìŽ ëíëŽë ê²ë³Žë€ ë ë§ìŽ íëëŒë ì ì§ë©ëë€.
íìŒìì€í ë° ë€ížìí¬ ì íì ìëë°ì€ ì€ì ë° ê¶í ê·ì¹ì íµíŽ ëªšë 구ì±ë©ëë€:
| ì€ì ëë ê·ì¹ | ìí ìì |
|---|---|
sandbox.filesystem.allowWrite |
ìì ëë í 늬 ìžë¶ì 겜ë¡ì ëí íì íë¡ìžì€ ì°êž° ì¡ìžì€ë¥Œ ë¶ì¬í©ëë€ |
sandbox.filesystem.denyWrite ë° sandbox.filesystem.denyRead |
í¹ì 겜ë¡ì ëí íì íë¡ìžì€ ì¡ìžì€ë¥Œ ì°šëší©ëë€ |
sandbox.filesystem.allowRead |
denyRead ìì ëŽì í¹ì ê²œë¡ ìœêž°ë¥Œ ë€ì íì©í©ëë€ |
Edit íì© ê·ì¹ |
í¹ì 겜ë¡ì ëí ì°êž° ì¡ìžì€ë¥Œ ë¶ì¬í©ëë€. sandbox.filesystem.allowWriteì ëìŒí ë°©ì |
Read ë° Edit ê±°ë¶ ê·ì¹ |
í¹ì íìŒ ëë ëë í 늬ì ëí ì¡ìžì€ë¥Œ ì°šëší©ëë€ |
WebFetch íì© ë° ê±°ë¶ ê·ì¹ |
ëë©ìž ì¡ìžì€ë¥Œ ì ìŽí©ëë€ |
ìëë°ì€ allowedDomains |
Bash ëª ë ¹ìŽ ëë¬í ì ìë ëë©ìžì ì ìŽí©ëë€ |
ìëë°ì€ deniedDomains |
ë êŽë²ìí allowedDomains ììŒë칎ëê° íì©í ì ìë 겜ì°ìë í¹ì ëë©ìžì ì°šëší©ëë€ |
sandbox.filesystem ì€ì ë° ê¶í ê·ì¹ì 겜ë¡ë ìµì¢
ìëë°ì€ 구ì±ìŒë¡ ë³í©ë©ëë€.
claude-code ì ì¥ìì ìì ëë í 늬ìë ìëë°ì€ êŽë š ìì 륌 í¬íší ìŒë°ì ìž ë°°í¬ ìë늬ì€ì ëí ìì ì€ì 구ì±ìŽ í¬íšëìŽ ììµëë€. ìŽë¥Œ ììì ìŒë¡ ì¬ì©íê³ íìì ë§ê² ì¡°ì í©ëë€.
ê¶í 몚ë
/sandboxë ê¶í 몚ëê° ìëëë€. ê¶í 몚ëë ë구 ížì¶ìŽ ì€íëëì§ ì¬ë¶ì 뚌ì í롬íížëëì§ ì¬ë¶ë¥Œ ê²°ì íë ë°ë©Ž, ìëë°ì€ë Bash ëª
ë ¹ìŽ ì€íë멎 ì¡ìžì€í ì ìë ê²ì ì íí©ëë€. ì ìŽíë ê²ê³Œ ìì
ë³ í롬íížë¥Œ ë첎íë ê²ìŽ ë€ëŠ
ëë€:
| ì ìŽíë ê² | í롬íížë¥Œ ë첎íë ê² | |
|---|---|---|
/sandbox |
Bash ëª ë ¹ìŽ ì€íë멎 ì¡ìžì€í ì ìë ê² | ìë íì© ëªšëì ìëë°ì€ ê²œê³ ì첎 |
| ìë 몚ë | ê° ë구 ížì¶ìŽ ì€íëëì§ ì¬ë¶ | ìì ì ê²í íë ë¶ë¥êž° |
--dangerously-skip-permissions |
ê° ë구 ížì¶ìŽ ì€íëëì§ ì¬ë¶ | ìì. 볎ížë ê²œë¡ íìžë 걎ëëëë€. / ëë í ëë í 늬 ì ê±°ë§ ì¬ì í í롬ííží©ëë€ |
ìëë°ì€ì ìë íì© ëªšëë ìë 몚ëì ë³ê°ì ëë€: ìë íì©ì ìëë°ì€ 겜ê³ê° ìŽë¥Œ í¬íšíêž° ë묞ì Bash ëª ë ¹ì ì¹ìžíë ë°ë©Ž, ìë 몚ëë ë¶ë¥êž°ë¥Œ ì¬ì©íì¬ ìì ì ê²í í©ëë€. ë ê°ì§ë ë 늜ì ìŒë¡ ìëíë©° ê²°í©í ì ììµëë€. ë¬Žìž ì€íì ìí 격늬 겜ê³ë¥Œ ì ííë €ë©Ž ìëë°ì€ í겜ì ì°žì¡°íìžì.
ì¡°ì§ì ìíŽ ìëë°ì€ 구ì±
êŽëЬìë 몚ë ì¬ì©ììê² ìëë°ì±ì ì구íê³ , ê°ë°ìê° ì ì± ì íëíë ê²ì ë°©ì§íê³ , ìëë°ì€ ížëíœì íì¬ íë¡ì륌 íµíŽ ëŒì°í í ì ììµëë€.
êŽëЬ ì€ì ìŒë¡ ìëë°ì± ì ì©
몚ë ê°ë°ììê² ìëë°ì€ë¥Œ ì구íë €ë©Ž êŽëЬ ì€ì ì íµíŽ sandbox í€ë¥Œ ì ê³µí©ëë€. MDMìŒë¡ êŽëЬëë íìŒ ëë Claude.aiì ìë² êŽëЬ ì€ì ì íµíŽ ì ê³µí©ëë€.
ë€ì êŽëЬ ì€ì 구ì±ì ìëë°ì€ë¥Œ íì±ííê³ , ìëë°ì€ë¥Œ ìŽêž°íí ì ììŒë©Ž Claude Code ììì ê±°ë¶íê³ , 몚ëžìŽ ìëë°ì€ ìžë¶ìì ëª ë ¹ì ë€ì ìëíë ê²ì ë°©ì§í©ëë€:
{
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false
}
}
enabled ìŽìì ë í€ë ìëë°ì€ê° ëª
ë ¹ì ì€íí ì ìì ë ë°ìíë ìŒì ì ìŽí©ëë€:
failIfUnavailable: Linuxì bubblewrap곌 ê°ì ëëœë ì¢ ìì±ìŽ ê²œê³ ë¥Œ íìíê³ ìëë°ì± ìë ì€íìŒë¡ íŽë°±íë ëì Claude Codeê° ììëë ê²ì ì°šëší©ëë€allowUnsandboxedCommands: false:dangerouslyDisableSandboxíì¶ íŽì¹ê° 묎ìëë¯ë¡ ìëë°ì€ìì ì€íší ëª ë ¹ì ìëë°ì€ ìžë¶ìì ë€ì ìëí ì ììµëë€
íšê» ê³ ë €í ê°ì¹ê° ìë ë ê°ì§ ì¶ê° ì¬íìŽ ììµëë€. 격늬 ììŽ ì€ííŽìŒ íë ì¡°ì§ ì¹ìž ë구ì ëíŽ excludedCommands륌 ì¶ê°í©ëë€. ~/.aws ë° ~/.sshì ê°ì ì격 ìŠëª
ëë í 늬ì ëíŽ denyRead í목ì ì¶ê°í©ëë€. Ʞ볞 ìœêž° ì ì±
ì ì¬ì í ìŽë¥Œ íì©í©ëë€.
ìëë°ì€ë Ʞ볞 Windowsìì ì€íëì§ ììŒë¯ë¡ í늿ì Windows ížì€ížê° í¬íšë멎 ìŽ êµ¬ì±ì macOS ë° Linuxë¡ ë²ì륌 ì§ì íê±°ë íŽë¹ ì¬ì©ìê° WSL2 ëë 컚í ìŽë ëŽìì Claude Code륌 ì€ííëë¡ í©ëë€.
ê°ë°ìê° ì ì± ì íëíë ê²ì ë°©ì§
enabled ë° failIfUnavailable곌 ê°ì ë¶ìž í€ì ê²œì° Claude Codeë êŽëЬ ê°ì ì¬ì©íê³ ê°ë°ìê° ë¡ì»¬ë¡ ì€ì í 몚ë ê²ì 묎ìí©ëë€. excludedCommands ë° allowReadì ê°ì ë°°ìŽ í€ì ê²œì° Claude Codeë 몚ë ë²ìì í목ì ë³í©íë¯ë¡ ê°ë°ìë ì ì±
ì íëíë í목ì ì¶ê°í ì ììµëë€.
êŽëЬ ì€ì ìì allowManagedReadPathsOnly륌 trueë¡ ì€ì íì¬ êŽëЬ ì€ì ì allowRead íëª©ë§ ì¡Žì€ëëë¡ í©ëë€. ì¬ì©ì, íë¡ì íž ë° ë¡ì»¬ allowRead í목ì 묎ìë©ëë€. ìŽë ê°ë°ìê° ì¡°ì§ ì¹ìž ê²œë¡ ìŽììŒë¡ ìœêž° ì¡ìžì€ë¥Œ íëíë ê²ì ë°©ì§í©ëë€. ë€ížìí¬ ëë©ìžì ëìŒí ë°©ììŒë¡ êŽëЬ ê°ìŒë¡ ì ê·žë €ë©Ž allowManagedDomainsOnly륌 ì€ì í©ëë€.
excludedCommandsë ëë±í êŽëЬ ì ì© ì êžìŽ ììŒë¯ë¡ ê°ë°ìë íì ìëë°ì€ ìžë¶ìì ì€íëë ì¶ê° ëª
ë ¹ì ì¶ê°íë í목ì ì¶ê°í ì ììµëë€. êŽëЬ 목ë¡ì ì¢ê² ì ì§í©ëë€.
ì¬ì©ì ì ì íë¡ì 구ì±
ê³ êž ë€ížìí¬ ë³ŽììŽ íìí ì¡°ì§ì ê²œì° ì¬ì©ì ì ì íë¡ì륌 구ííì¬ ë€ìì ìíí ì ììµëë€:
- HTTPS ížëíœ ë³µíží ë° ê²ì¬
- ì¬ì©ì ì ì íí°ë§ ê·ì¹ ì ì©
- 몚ë ë€ížìí¬ ìì² ë¡ê¹
- Ʞ졎 볎ì ìžíëŒì íµí©
Claude Code륌 íë¡ìë¡ ì§ì íë €ë©Ž ìëë°ì€ ì€ì ìì íë¡ì í¬ížë¥Œ ì€ì í©ëë€:
{
"sandbox": {
"network": {
"httpProxyPort": 8080,
"socksProxyPort": 8081
}
}
}
묞ì íŽê²°
ìŒë¶ ëª ë ¹ì ìëë°ì€ ëŽìì ì€íšíì§ë§ ìžë¶ììë ìëí©ëë€. ìë ìì ì¬íì ê°ì¥ ìŒë°ì ìž ê²œì°ë¥Œ ë€ë£¹ëë€.
- ëª ë ¹ìŽ host-not-allowed ì€ë¥ë¡ ì€íš: ë§ì CLI ë구ë í¹ì ížì€ížì ëë¬íŽìŒ í©ëë€. í롬íížë ë ê¶íì ë¶ì¬í멎 ížì€ížê° íì© ëª©ë¡ì ì¶ê°ëë¯ë¡ ëêµ¬ê° í¥í ìëë°ì€ ëŽìì ì€íë©ëë€.
jestê° ì€ëšëê±°ë ì€íš:watchmanì ìëë°ì€ì ížíëì§ ììµëë€. ëìjest --no-watchmanì ì€íí©ëë€.- Go êž°ë° CLIê° macOSìì TLS ê²ìŠ ì€íš:
gh,gcloud,terraform곌 ê°ì ë구ë Seatbeltìì TLS ê²ìŠì ì€íší ì ììµëë€. ìŽë¬í ë구륌excludedCommandsì ëìŽíì¬ ìëë°ì€ ìžë¶ìì ì€íí©ëë€. MITM íë¡ì ë° ì¬ì©ì ì ì CAì íšê»httpProxyPort륌 ì¬ì©íë ê²œì° ëìenableWeakerNetworkIsolationìtrueë¡ ì€ì í©ëë€. dockerëª ë ¹ ì€íš:dockerë ìëë°ì€ì ížíëì§ ììµëë€.docker *륌excludedCommandsì ì¶ê°íì¬ ìëë°ì€ ìžë¶ìì ì€íí©ëë€.- 컚í
ìŽë ëŽìì Bubblewrap ìì ì€íš: ê¶í ìë 컚í
ìŽëìì bubblewrapì ìë¡ìŽ
/procíìŒìì€í ì ë§ìŽíží ì ììµëë€.enableWeakerNestedSandbox륌trueë¡ ì€ì íì¬ ëŽë¶ ìëë°ì€ê° 컚í ìŽëì Ʞ졎/procì ë°ìžë ë§ìŽížíëë¡ í©ëë€. ìžë¶ 컚í ìŽëê° ìŽë¯ž íìí 격늬 겜ê³ë¥Œ ì ê³µí ëë§ ìŽ ì€ì ì ì¬ì©í©ëë€. ìë¡ìŽ/procë§ìŽížê° ìšêžž íë¡ìžì€ ì 볎륌 ìëë°ì±ë ëª ë ¹ì ë žì¶íêž° ë묞ì ëë€. - Linuxì Seccomp íí°: seccomp íí°ë Unix ëë©ìž ììŒì ì°šëšíë ë° íìí©ëë€.
/sandboxì Dependencies íì ì¬ì© ê°ë¥íì§ ë³Žì¬ì€ëë€. ëëœë 겜ì°npm install -g @anthropic-ai/sandbox-runtimeì ì€ííì¬ ëì°ë¯žë¥Œ ì€ì¹í©ëë€. --dangerously-skip-permissionsìŽ rootë¡ ì€íš: ìŽ íëê·žë Linux ë° macOSìì rootë¡ ëë sudo륌 íµíŽ ì€íí ë ì°šëšë©ëë€. root ì¡ìžì€ì ê¶í í롬ííž ìììŽ ê²°í©ë멎 ìì€í ì 몚ë íìŒ ëë ìë¹ì€ë¥Œ ìì í ì ìêž° ë묞ì ëë€. íìžì ìžìë ìëë°ì€ ëŽìì ìëìŒë¡ 걎ëëëë€. 컚í ìŽëìì ììšì ìŒë¡ ì€ííë €ë©Ž dev 컚í ìŽë 구ì±ì ì¬ì©í©ëë€. ìŽë Claude Code륌 ë¹ root ì¬ì©ìë¡ ì€íí©ëë€.
ì í ì¬í
ìëë°ì±ì ìíì ì€ìŽì§ë§ ìì í 격늬 겜ê³ë ìëëë€. ìŽë¥Œ íë 볎ì ì ìŽë¡ ì¬ì©íêž° ì ì ìë ì í ì¬íì ê²í í©ëë€.
볎ì ì í ì¬í
- ë€ížìí¬ íí°ë§: ë€ížìí¬ íí°ë§ ìì€í ì íë¡ìžì€ê° ì°ê²°í ì ìë ëë©ìžì ì ííì¬ ìëí©ëë€. Ʞ볞 ì ê³µ íë¡ìë ììë°ìŽë ížëíœì ì¢ ë£íê±°ë TLS ê²ì¬ë¥Œ ìííì§ ììŒë¯ë¡ ìížíë ì°ê²°ì ëŽì©ì ê²ì¬ëì§ ììµëë€. ì ì± ìì ì 뢰í ì ìë ëë©ìžë§ íì©íëë¡ ë³Žì¥íë ê²ì ì¬ì©ìì ì± ìì ëë€.
github.com곌 ê°ì êŽë²ìí ëë©ìžì íì©í멎 ë°ìŽí° ì ì¶ ê²œë¡ê° ìì±ë ì ììµëë€. íë¡ìê° TLS륌 ê²ì¬íì§ ìê³ íŽëŒìŽìžíž ì ê³µ ížì€íž ìŽëŠìì íì© ê²°ì ì ëŽëŠ¬êž° ë묞ì ìëë°ì€ ëŽìì ì€íëë ìœëë ì ì¬ì ìŒë¡ ëë©ìž íë¡ í
ëë ì ì¬í êž°ì ì ì¬ì©íì¬ íì© ëª©ë¡ ìžë¶ì ížì€ížì ëë¬í ì ììµëë€. ìí 몚ëžìŽ ë ê°ë ¥í 볎ì¥ì ì구í멎 TLS륌 ì¢
ë£íê³ ížëíœì ê²ì¬íë ì¬ì©ì ì ì íë¡ì륌 구ì±íê³ ê·ž CA ìžìŠì륌 ìëë°ì€ ëŽì ì€ì¹í©ëë€. ë ê°ë ¥í TLS ìžì ë€ížìí¬ ê²©ëŠ¬ë íë°í ê°ë° ììì
ëë€.
- Unix ììŒì íµí ê¶í ìì¹:
allowUnixSockets구ì±ì ì€ìë¡ ìëë°ì€ ì°íë¡ ìŽìŽì§ ì ìë ê°ë ¥í ìì€í ìë¹ì€ì ëí ì¡ìžì€ë¥Œ ë¶ì¬í ì ììµëë€. ì륌 ë€ìŽ/var/run/docker.sockì ëí ì¡ìžì€ë¥Œ íì©í멎 Docker ììŒì íµíŽ ížì€íž ìì€í ì ëí ì¡ìžì€ë¥Œ íšê³Œì ìŒë¡ ë¶ì¬í©ëë€. ìëë°ì€ë¥Œ íµíŽ íì©íë 몚ë Unix ììŒì ì ì€íê² ê³ ë €í©ëë€. - íìŒìì€í
ê¶í ìì¹: 곌ëíê² êŽë²ìí íìŒìì€í
ì°êž° ê¶íì ê¶í ìì¹ ê³µê²©ì ê°ë¥íê² í ì ììµëë€.
$PATHì ì€í íìŒì í¬íšíë ëë í 늬, ìì€í êµ¬ì± ëë í 늬 ëë.bashrcëë.zshrcì ê°ì ì¬ì©ì ì ž êµ¬ì± íìŒì ëí ì°êž°ë¥Œ íì©í멎 ë€ë¥ž ì¬ì©ì ëë ìì€í íë¡ìžì€ê° ìŽë¬í íìŒì ì¡ìžì€í ë ë€ë¥ž 볎ì 컚í ì€ížìì ìœë ì€íìŒë¡ ìŽìŽì§ ì ììµëë€. - Linux ìëë°ì€ ê°ë: Linux 구íì ê°ë ¥í íìŒìì€í
ë° ë€ížìí¬ ê²©ëŠ¬ë¥Œ ì ê³µíì§ë§ ê¶í ìë ë€ìì€íìŽì€ ììŽ Docker í겜 ëŽìì ìëí ì ìëë¡ íë
enableWeakerNestedSandbox몚ë륌 í¬íší©ëë€. ëë ê¶í ìë ì¬ì©ì ë€ìì€íìŽì€ê° sysctlì ìíŽ ë¹íì±íë Linux ížì€ížìì. ìŽ ìµì ì 볎ìì ìë¹í ìœíìí€ë©° ì¶ê° ê²©ëŠ¬ê° ë€ë¥ž ë°©ììŒë¡ ì ì©ëë 겜ì°ìë§ ì¬ì©íŽìŒ í©ëë€. - ì€ì íìŒ ë³Žíž: ìëë°ì€ë 몚ë ë²ìì Claude Code
settings.jsoníìŒ ë° êŽëЬ ì€ì ëë í 늬ì ëí ì°êž° ì¡ìžì€ë¥Œ ìëìŒë¡ ê±°ë¶íë¯ë¡ ìëë°ì±ë ëª ë ¹ì ìì ì ì ì± ì ìì í ì ììµëë€.
íë«íŒ ë° ë구 ížíì±
- íë«íŒ ì§ì: macOS, Linux ë° WSL2륌 ì§ìí©ëë€. WSL1 ë° êž°ë³ž Windowsë ì§ìëì§ ììµëë€.
- ì±ë¥ ì€ë²í€ë: ìµììŽì§ë§ ìŒë¶ íìŒìì€í ìì ìŽ ìœê° ë ë늎 ì ììµëë€.
- ë구 ížíì±: í¹ì ìì€í ì¡ìžì€ íšíŽìŽ íìí ìŒë¶ ë구ë êµ¬ì± ì¡°ì ìŽ íìí ì ììŒë©° ìëë°ì€ ìžë¶ìì ì€ííŽìŒ í ìë ììµëë€.
ë²ì
ìëë°ì€ë Bash íì íë¡ìžì€ë¥Œ 격늬í©ëë€. ë€ë¥ž ë구ë ë€ë¥ž 겜ê³ìì ìëí©ëë€:
- Ʞ볞 ì ê³µ íìŒ ë구: Read, Edit ë° Writeë ìëë°ì€ë¥Œ íµíŽ ì€íëì§ ìê³ ê¶í ìì€í ì ì§ì ì¬ì©í©ëë€. ê¶íì ì°žì¡°íìžì.
- 컎íší° ì¬ì©: Claudeê° ì±ì ìŽê³ í멎ì ì ìŽí ë 격늬ë íê²œìŽ ìë ì€ì ë°ì€í¬í±ìì ì€íë©ëë€. ì±ë³ ê¶í í롬íížê° ê° ì í늬ìŒìŽì ì ì ìŽí©ëë€. CLIì 컎íší° ì¬ì© ëë Desktopì 컎íší° ì¬ì©ì ì°žì¡°íìžì.
- í겜 ë³ì: ìëë°ì±ë Bash ëª
ë ¹ì Ʞ볞ì ìŒë¡ ë¶ëªš íë¡ìžì€ í겜ì ììí©ëë€. ì¬êž°ìë ì€ì ë 몚ë ì격 ìŠëª
ìŽ í¬íšë©ëë€. íì íë¡ìžì€ìì Anthropic ë° íŽëŒì°ë ê³µêžì ì격 ìŠëª
ì ì ê±°íë €ë©Ž
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB륌 ì€ì í©ëë€. - íì ììŽì íž: íì ììŽì ížë ë¶ëªš ìžì 곌 ëìŒí íë¡ìžì€ìì ì€íëë©° ëìŒí ìëë°ì€ 구ì±ì ì¬ì©í©ëë€. ë¶ëªš ìžì ìì ìëë°ì±ìŽ íì±íë멎 íì ììŽì íž ëŽì Bash ëª ë ¹ìŽ ìëë°ì±ë©ëë€.
íšê³Œì ìž ìëë°ì±ì íìŒìì€í
ë° ë€ížìí¬ ê²©ëŠ¬ 몚ë륌 íìë¡ í©ëë€. ë€ížìí¬ ê²©ëŠ¬ê° ììŒë©Ž ììë ììŽì ížê° SSH í€ì ê°ì 믌ê°í íìŒì ì ì¶í ì ììµëë€. íìŒìì€í
ê²©ëŠ¬ê° ììŒë©Ž ììë ììŽì ížê° ìì€í
늬ìì€ë¥Œ ë°±ëìŽíì¬ ë€ížìí¬ ì¡ìžì€ë¥Œ ì»ì ì ììµëë€. Ʞ볞ê°ì íëí ë allowWrite 겜ë¡, êŽë²ìí allowedDomains í목 ëë excludedCommands ììžê° ë€ë¥ž 쪜ì ì íì ì·šìíì§ ìëì§ íìží©ëë€.
ì°žê³ í목
- ìëë°ì€ í겜: Ʞ볞 ì ê³µ ìëë°ì€ë¥Œ dev 컚í ìŽë, 컚í ìŽë ë° VM곌 ë¹êµ
- 볎ì: í¬êŽì ìž ë³Žì êž°ë¥ ë° ëªšë² ì¬ë¡
- ê¶í: ê¶í êµ¬ì± ë° ì¡ìžì€ ì ìŽ
- ì€ì : ì 첎 êµ¬ì± ì°žì¡°
- CLI ì°žì¡°: ëª ë ¹ì€ ìµì