보여 준 범위가 에이전트의 세계가 돼
cwd는 Read·Write·Edit·Bash가 시작할 작업 범위를 정하고, env는 CLI가 네 프로세스에서 물려받은 환경변수 위에 변수를 더해. 네트워크는 운영체제 방화벽이나 VPN, MCP 서버 정책으로 제한할 수 있어. 세 손잡이가 함께 피해 반경을 만든다.
작업 디렉터리를 가능한 한 좁혀
/srv/myapp 아래만 고칠 에이전트의 cwd를 /로 둘 이유는 없어. 모델은 상대 경로로 작업하고 SDK 기본 설정은 바깥으로 벗어나는 경로를 거부해. 필요한 가장 작은 디렉터리를 고르는 것만으로 파일 접근 위험의 절반을 줄여.
환경변수는 출발점에서 줄여
Bash는 CLI가 받은 환경을 물려받고, CLI는 네 작업자 프로세스의 환경에 options.env를 덮어쓴 걸 받아. options.env는 더하거나 덮어쓸 수는 있어도 지우지는 못해. 작업자가 로그인 셸의 전체 변수를 들고 돌면, env에 뭘 넘기든 에이전트는 모든 자격 증명을 보게 돼. 그러니 작업자부터 최소 환경(env -i, 서비스 유닛, 컨테이너)으로 띄우고 도구에 정말 필요한 것만 더해. 많은 비밀 유출은 프롬프트보다 환경 상속에서 시작돼.
원칙: 샌드박스는 Docker 하나가 아니야. cwd·env·도구·네트워크마다 최소 범위를 정하는 일이야.