Agent containment๋ AI agent๊ฐ ์ค์ ํ์ผ, ์ฝ๋, ๋คํธ์ํฌ, ์ ๋ฌด ๋๊ตฌ์ ์ ๊ทผํ ๋ ํผํด ๋ฒ์๋ฅผ ๋ฏธ๋ฆฌ ์ขํ ๋๋ ๋ณด์ ์ค๊ณ์ ๋๋ค. Agent๊ฐ ๋๋ํด์ง์๋ก ํ ์ ์๋ ์ผ๋ ๋์ด๋์ง๋ง, ์ค์ยท์ค์ฉยท๊ณต๊ฒฉ์ด ๋ฌ์ ๋ ๋ง๊ฐ์ง ์ ์๋ ๋ฒ์๋ ์ปค์ง๋๋ค. Containment๋ ์ด ๋ฒ์๋ฅผ ๋ชจ๋ธ์ ์ ์๋ ์ฌ์ฉ์์ ๋งค๋ฒ ์น์ธ์๋ง ๋งก๊ธฐ์ง ์๊ณ , ์คํ ํ๊ฒฝ๊ณผ ๊ถํ ๊ฒฝ๊ณ๋ก ์ ํํ๋ ค๋ ์ ๊ทผ์ ๋๋ค.
ํ ์ค๋ก ๋งํ๋ฉด
Agent containment๋ agent๊ฐ ๋ฌด์์ ํ ์ ์๋์ง๋ณด๋ค, ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ์ด๋๊น์ง๋ฐ์ ๋ชป ํ๊ฒ ๋ง์ ๊ฒ์ธ์ง๋ถํฐ ์ค๊ณํ๋ ๋ฐฉ์์ ๋๋ค.
๋น์ ๋ก ์ดํดํ๊ธฐ
์คํ์ค์์ ์ํํ ๋ฌผ์ง์ ๋ค๋ฃฐ ๋ ์ฐ๊ตฌ์๋ฅผ ๊ณ์ ๊ฐ์ํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํฉ๋๋ค. ์คํ๋, ๋ณดํธ ์ฅ๋น, ๋ฐํ ์ฅ์น, ๋ฐฐ๊ธฐ ์์คํ , ์ถ์ ๊ถํ์ฒ๋ผ ์ฌ๊ณ ๊ฐ ๋๋ ๋ฐ์ผ๋ก ๋ฒ์ง์ง ์๊ฒ ํ๋ ๊ตฌ์กฐ๊ฐ ํ์ํฉ๋๋ค.
Agent containment๋ ๋น์ทํฉ๋๋ค.
- agent๊ฐ ์ฝ๋๋ฅผ ์คํํ๋ ๊ณต๊ฐ์ sandbox๋ VM์ผ๋ก ์ ํํฉ๋๋ค.
- ํ์ผ ์ ๊ทผ์ ํ์ฉ๋ ์์ ํด๋ ์์ผ๋ก ์ขํ๋๋ค.
- ๋คํธ์ํฌ๋ ํ์ํ ๋ชฉ์ ์ง์ ๊ธฐ๋ฅ๋ง ์ด์ด ๋ก๋๋ค.
- credential์ agent๊ฐ ์ง์ ์ฝ์ ์ ์๋ ๊ณณ์ ๋์ง ์์ต๋๋ค.
- ์ธ๋ถ ๋๊ตฌ๋ ์ฝ๊ธฐ ์ ์ฉ, ์ฐ๊ธฐ ๊ฐ๋ฅ, ์น์ธ ํ์ ๊ฐ์ ๊ถํ์ผ๋ก ๋๋๋๋ค.
๋น์ ์ ํ๊ณ๋ ์์ต๋๋ค. ๋ฌผ๋ฆฌ ์คํ์ค์ ๋ฒฝ์ ๋์ ๋ณด์ด์ง๋ง, agent containment์ ๋ฒฝ์ ํ์ผ ์์คํ , ๋คํธ์ํฌ egress, tool proxy, session token, sandbox runtime ๊ฐ์ ์ํํธ์จ์ด ๊ฒฝ๊ณ์ ๋๋ค. ๊ทธ๋์ โ๋ง์๋คโ๊ณ ์๊ฐํ ๊ฒฝ๊ณ๊ฐ ์ค์ ๋ก ์ด๋ค ๊ธฐ๋ฅ๊น์ง ํ์ฉํ๋์ง ๊ณ์ ๊ฒ์ฆํด์ผ ํฉ๋๋ค.
์ ํํ ์ ์
Agent containment๋ LLM agent์ ํ๋ ๊ฐ๋ฅ ๋ฒ์๋ฅผ ์์คํ ์ ์ผ๋ก ์ ํํด, ์คํจ๋ ๊ณต๊ฒฉ์ด ๋ฐ์ํ์ ๋ ํผํด๊ฐ ์ ํด์ง ๊ฒฝ๊ณ ์์ ๋จธ๋ฌผ๋๋ก ๋ง๋๋ ๋ณด์ยท์ด์ ์ค๊ณ์ ๋๋ค.
Anthropic์ Claude ์ ํ๊ตฐ์ containment๋ฅผ ์ค๋ช ํ๋ฉด์ ํฌ๊ฒ ๋ ์ ๊ทผ์ ๊ตฌ๋ถํฉ๋๋ค.
- ํ๋ ๊ฐ๋ : agent๊ฐ ์ด๋ค ํ๋์ ํ๋ ค ํ ๋ ์ฌ๋์๊ฒ ์น์ธ๋ฐ๊ฒ ํฉ๋๋ค.
- ํ๊ฒฝ ์ ํ: agent๊ฐ ์ ์ด์ ์ ๊ทผํ ์ ์๋ ํ์ผ, ๋คํธ์ํฌ, credential, ์คํ ํ๊ฒฝ์ ์ ํํฉ๋๋ค.
์ค์ํ ์ฐจ์ด๋ ๋ ๋ฒ์งธ์ ๋๋ค. ์ฌ๋์ด ๋งค๋ฒ ์น์ธํ์ง ์์๋, agent๊ฐ ์ ๊ทผํ ์ ์๋ ๊ฒ์ ์คํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด credential์ด sandbox ์์ ๋ค์ด์ค์ง ์์ผ๋ฉด, prompt injection์ด ์ฑ๊ณตํ๋๋ผ๋ agent๊ฐ ๊ทธ credential์ ์ฝ์ด ์ธ๋ถ๋ก ๋ณด๋ด๊ธฐ ์ด๋ ต์ต๋๋ค.
Containment๋ ๋ณดํต ๋ค์ ์์๋ฅผ ํจ๊ป ์๋๋ค.
| ์์ | ํ๋ ์ผ | ์ ํ์ํ๊ฐ |
|---|---|---|
| Sandbox / VM | ์คํ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌ | untrusted code๊ฐ host ์ ์ฒด์ ์ ๊ทผํ์ง ๋ชปํ๊ฒ ํจ |
| Filesystem boundary | ์ฝ๊ธฐยท์ฐ๊ธฐ ๊ฐ๋ฅํ ๊ฒฝ๋ก ์ ํ | ๋ฏผ๊ฐํ ํ์ผ์ด๋ ์์ ๋ฐ ๋ฐ์ดํฐ ๋ ธ์ถ์ ์ค์ |
| Egress control | ๋๊ฐ ์ ์๋ ๋คํธ์ํฌ ์ ํ | ๋ฐ์ดํฐ ์ ์ถ๊ณผ ์์ ์ธ๋ถ ํธ์ถ์ ์ค์ |
| Credential separation | ๋น๋ฐ๊ฐ์ sandbox ๋ฐ์ ๋ | agent๊ฐ ํ ํฐ์ ์ง์ ์ฝ์ง ๋ชปํ๊ฒ ํจ |
| Tool permission | ๋๊ตฌ๋ณ ๊ถํ์ ์ธ๋ถํ | ์ฝ๊ธฐ์ ์ฐ๊ธฐ, ์กฐํ์ ์คํ์ ๊ตฌ๋ถํจ |
| Audit trail | ํ๋ ๊ธฐ๋ก์ ๋ณด์กด | ์ฌํ ์ถ์ ๊ณผ ๊ฐ์ ์ ๊ฐ๋ฅํ๊ฒ ํจ |
์ ์ค์ํ๊ฐ
1. Agent์ ๋ฅ๋ ฅ์ด ์ปค์ง์๋ก blast radius๋ ์ปค์ง๋ค
์งง์ ๋ต๋ณ๋ง ๋ง๋๋ ์ฑ๋ด์ ํ๋ฆฐ ๋ต์ ํ ์๋ ์์ด๋, ๋ณดํต ์ง์ ํ์ผ์ ์ง์ฐ๊ฑฐ๋ ๋ฐฐํฌ๋ฅผ ๋ฐ๊พธ์ง๋ ์์ต๋๋ค. ํ์ง๋ง coding agent, research agent, ์ ๋ฌด ์๋ํ agent๋ shell, repository, browser, database, API, ์ฌ๋ด ๋๊ตฌ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ด๋ ์ํ์ โagent๊ฐ ๋์ ์๋๋ฅผ ๊ฐ์ก๋๊ฐโ๋ง์ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ฌ์ฉ์๊ฐ ์๋ชป๋ ์์ฒญ์ ํ ์ ์๊ณ , ๋ชจ๋ธ์ด ์ํฉ์ ์๋ชป ์ดํดํ ์ ์์ผ๋ฉฐ, ์ธ๋ถ ๋ฌธ์๋ ํ์ผ์ ์จ์ prompt injection์ด agent๋ฅผ ์์ผ ์ ์์ต๋๋ค. Containment๋ ์ด๋ฐ ์ผ์ด ์๊ฒจ๋ ํผํด๊ฐ ์ ์ฒด ์์คํ ์ผ๋ก ๋ฒ์ง์ง ์๋๋ก ์ข์ ๋ฐฉ ์์ ๊ฐ๋๋ ์ค๊ณ์ ๋๋ค.
2. ์ฌ๋ ์น์ธ๋ง์ผ๋ก๋ ๋ถ์กฑํ ์ ์๋ค
์ฌ๋์๊ฒ ๋งค๋ฒ โ์ด ๋ช ๋ น์ ํ์ฉํ ๊น์?โ๋ผ๊ณ ๋ฌป๋ ๋ฐฉ์์ ์ง๊ด์ ์ ๋๋ค. ํ์ง๋ง ์น์ธ ์์ฒญ์ด ๋ง์์ง์๋ก ์ฌ๋์ ํผ๋กํด์ง๊ณ , ์ํํ ๋ช ๋ น์ ์ฝ์ง ์๊ณ ํ์ฉํ ์ ์์ต๋๋ค. ๋ํ ๋น๊ฐ๋ฐ์ ์ฌ์ฉ์๋ shell ๋ช ๋ น์ด๋ ๋คํธ์ํฌ ์์ฒญ์ ์ํ์ ์ ํํ ํ๋จํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ทธ๋์ containment๋ ์ฌ๋์ ์ฃผ์๋ ฅ์๋ง ์์กดํ์ง ์์ต๋๋ค. ์ํํ ํ์ผ์ ๋ณด์ด์ง ์๊ฒ ํ๊ณ , ์ธ๋ถ ์ ์ก์ ๋ง๊ณ , credential์ ๋ฐ์ ๋๋ฉฐ, ํน์ ๋๊ตฌ๋ read-only๋ก ์ ํํฉ๋๋ค. ์ข์ agent ์ ํ์ โ์ฌ์ฉ์๊ฐ ์กฐ์ฌํ๋ฉด ์์ ํ๋คโ๋ณด๋ค โ์ฌ์ฉ์๊ฐ ๋์ณ๋ ๊ธฐ๋ณธ ๊ฒฝ๊ณ๊ฐ ๋ฒํด๋คโ์ ๊ฐ๊น์์ผ ํฉ๋๋ค.
3. ์น์ธ๋ ๋๋ฉ์ธ๋ ๊ณต๊ฒฉ ํ๋ฉด์ด ๋ ์ ์๋ค
๋คํธ์ํฌ egress allowlist๋ ํํ ๋ฐฉ์ด์ ๋๋ค. ํ์ง๋ง โ์ด ๋๋ฉ์ธ์ ํ์ฉโ์ด๋ผ๋ ๋ง์ ๊ทธ ๋๋ฉ์ธ์์ ์ ๊ณตํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ํ์ฉํ๋ค๋ ๋ป์ด ๋ ์ ์์ต๋๋ค. Anthropic์ ์ฌ๋ก์ฒ๋ผ ํ์ฉ๋ API ๋๋ฉ์ธ์ ํตํด ํ์ผ ์ ๋ก๋ ๊ธฐ๋ฅ์ด ์ด๋ ค ์๋ค๋ฉด, ๋ชฉ์ ์ง๋ ๋ง์๋ ๋ฐ์ดํฐ ์ ์ถ์ด ์ผ์ด๋ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ containment๋ ๋ชฉ์ ์ง ์ฃผ์๋ง ๋ณด์ง ๋ง๊ณ ์ด๋ค capability๋ฅผ ํ์ฉํ๋๊ฐ๋ฅผ ๋ด์ผ ํฉ๋๋ค. ํ์ผ ์ ๋ก๋, ์๋ฒ ์ธก fetch, write API, ์ธ๋ถ ๊ณ์ token ์ฌ์ฉ์ฒ๋ผ ์ค์ ๊ธฐ๋ฅ ๋จ์๋ก ์ํ์ ๋๋ ์ผ ํฉ๋๋ค.
์ค์ ์์
Claude Code์ sandbox
๊ฐ๋ฐ์์ฉ coding agent๋ repository, shell, package manager์ ์ ๊ทผํด์ผ ์ธ๋ชจ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ ๋ช ๋ น์ ๋ฌด์ ํ์ผ๋ก ํ์ฉํ๋ฉด ์ํํฉ๋๋ค. ๊ทธ๋์ workspace ์์ ์ฐ๊ธฐ๋ ํ์ฉํ๋, ๋คํธ์ํฌ๋ ๊ธฐ๋ณธ ์ฐจ๋จํ๊ฑฐ๋, ์ํํ ๋ช ๋ น์ ์น์ธ ์๊ตฌ๋ก ๋๋ฆฌ๋ ์์ ๊ฒฝ๊ณ๊ฐ ํ์ํฉ๋๋ค.
์ด ๊ตฌ์กฐ์์๋ agent๊ฐ ๊ณ์ ์์ ํ ์ ์์ง๋ง, host ์ ์ฒด ํ์ผ์ด๋ ์ธ๋ถ ๋คํธ์ํฌ๋ก ํผํด๊ฐ ๋ฒ์ง๋ ๊ฒ์ ์ค์ผ ์ ์์ต๋๋ค.
์ฅ๊ธฐ ์คํ managed agent
Managed agents์์๋ brain, hands, session์ ๋ถ๋ฆฌํฉ๋๋ค. ์ฌ๊ธฐ์ hands๋ ์ค์ ์ฝ๋ ์คํ๊ณผ ๋๊ตฌ ํธ์ถ์ด ์ผ์ด๋๋ ์์ญ์ ๋๋ค. ์ด hands๋ฅผ sandbox๋ VM์ผ๋ก ๊ฒฉ๋ฆฌํ๊ณ , credential์ ๋ณ๋ proxy๋ vault ๊ฒฝ๋ก๋ก ๋ค๋ฃจ๋ฉด agent runtime์ ๋ ์ค๋ ์คํ๋๋ฉด์๋ ๊ถํ ๊ฒฝ๊ณ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์ด ๊ด์ ์์ containment๋ Loop engineering์ ํ์ ๋ณด์ ์กฐ๊ฑด์ ๋๋ค. loop๊ฐ ๊ธธ์ด์ง์๋ก ์ฌ์๋, ๋๊ตฌ ํธ์ถ, session ๋ณต๊ตฌ๊ฐ ๋ง์์ง๋ฏ๋ก, ์คํ ๊ฒฝ๊ณ๊ฐ ํ๋ ค์ง๋ฉด ์์ ์ค๋ฅ๊ฐ ํฐ ์ฌ๊ณ ๋ก ์ปค์ง ์ ์์ต๋๋ค.
์ ๋ฌด ๋๊ตฌ์ ์ฐ๊ฒฐ๋ agent
agent๊ฐ CRM, ์ด๋ฉ์ผ, ๋ฌธ์, ๊ฒฐ์ , ๋ฐฐํฌ ์์คํ ์ ์ฐ๊ฒฐ๋๋ค๋ฉด ๊ถํ์ ๋ ์ธ๋ฐํ๊ฒ ๋๋ ์ผ ํฉ๋๋ค. ๊ณ ๊ฐ ์ ๋ณด๋ฅผ ์กฐํํ๋ ๊ถํ๊ณผ ์์ ํ๋ ๊ถํ์ ๋ค๋ฅด๊ณ , ์ด์ ์์ฑ๊ณผ ์ค์ ๋ฐ์ก๋ ๋ค๋ฆ ๋๋ค. Containment๋ ์ด๋ฐ ์ฐจ์ด๋ฅผ tool permission๊ณผ ์น์ธ ์ ์ฐจ๋ก ๋ฐ์ํฉ๋๋ค.
ํท๊ฐ๋ฆฌ์ง ๋ง์์ผ ํ ์
- Containment๋ ๋ชจ๋ธ ์์ ์ฑ์ ๋์ฒด๋ฌผ์ด ์๋๋๋ค. ๋ชจ๋ธ์ด ๋ ์์ ํ๊ฒ ํ๋ํ๋๋ก ํ๋ จํ๋ ์ผ์ ์ค์ํฉ๋๋ค. ๋ค๋ง ๋ชจ๋ธ ๋ฐฉ์ด๋ ํ๋ฅ ์ ์ด๋ฏ๋ก, ํ๊ฒฝ ๊ฒฝ๊ณ๊ฐ ํจ๊ป ํ์ํฉ๋๋ค.
- Sandbox๊ฐ ์์ผ๋ฉด ์์ ํ ์์ ํ๋ค๋ ๋ป๋ ์๋๋๋ค. Sandbox ์ค์ , mount ๊ฒฝ๋ก, symlink ์ฒ๋ฆฌ, egress proxy, tool ๊ถํ ์ค๊ณ๊ฐ ์๋ชป๋๋ฉด ๊ฒฝ๊ณ๊ฐ ๋ซ๋ฆด ์ ์์ต๋๋ค.
- Human-in-the-loop๋ containment์ ๊ฐ์ ๋ง์ด ์๋๋๋ค. ์ฌ๋ ์น์ธ์ ํ๋ ๊ฐ๋ ์ด๊ณ , containment๋ agent๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ ํ๊ฒฝ ์์ฒด๋ฅผ ์ ํํ๋ ์ชฝ์ ๊ฐ๊น์ต๋๋ค.
- Allowlist๋ ๋ชฉ์ ์ง๊ฐ ์๋๋ผ capability ๊ธฐ์ค์ผ๋ก ๋ด์ผ ํฉ๋๋ค. ํ์ฉ๋ ๋๋ฉ์ธ์ด๋ผ๋ ํ์ผ ์ ๋ก๋๋ ์ธ๋ถ ๊ณ์ token ์ฌ์ฉ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ณ๋์ ๊ณต๊ฒฉ ํ๋ฉด์ ๋๋ค.
- Containment์ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ํจ๊ป ๊ฐ์ผ ํฉ๋๋ค. ๊ฒฝ๊ณ๋ฅผ ๋ง๋ค์๋๋ผ๋ ์ด๋ค ์ ๋ ฅ, ๊ถํ, tool call์ด ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์๋์ง ๋จ์ง ์์ผ๋ฉด ์ฌํ ๊ฐ์ ์ด ์ด๋ ต์ต๋๋ค.