Security Firewall for Agents โ Ryan Dahl, Deno
ํ ์ค ํต์ฌ
์์ด์ ํธ๊ฐ ์์ฐ ์์คํ ์ ์ ๊ทผํ ๋๋ ๋ชจ๋ธ์ ์์์ฑ์ ๊ธฐ๋์ง ๋ง๊ณ , ์์ด์ ํธ ๋ฐ๊นฅ์์ ๋คํธ์ํฌ ์์ค์ผ๋ก bytes ๋จ์์ ๊ฒฝ๊ณ๋ฅผ ๊ฐ์ ํ๋ ๋ณด์ ๋ฐฉํ๋ฒฝ์ด ํ์ํ๋ค๋ ์ฃผ์ฅ์ด๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
Deno Deploy, ์ฌ๊ณ , ๊ทธ๋ฆฌ๊ณ ํธ์ถ๊ธฐ Deno Deploy์ ์ฅ์ ๋์์ ์์ด์ ํธ๋ฅผ ํฌ์ ํด ๋ณด๋ฉฐ, ์ฌ๋์ด ๋ฐค์ ๊นจ์ฐ๋ ํธ์ถ๊ธฐ ๋์ ์๋ํ๋ ๋ณต๊ตฌ๋ฅผ ์๋ํ ๋ฐฐ๊ฒฝ์ ์ค๋ช ํ๋ค. ์ฌ๋ฌ ์์คํ ์ ์ ๊ทผ ๊ฐ๋ฅํ ์์ด์ ํธ ์ด์ฉ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ ํจํ ํจํด์ด ์์๊ณ , ์ด๋ฅผ ๊ณต์ ํ๋ ค๋ ๋ชฉ์ ์ด ์ ์๋๋ค.
-
1:28
์์ด์ ํธ์ ์์ฐ ํ๊ฒฝ ์ฐ๊ธฐ ๊ถํ ์ฃผ๊ธฐ ์์ด์ ํธ์๊ฒ PostgreSQL, Kubernetes, ClickHouse, AWS, GitHub, Slack ๋ฑ ์ฌ๋ฌ ์์คํ ์ ์ฝ๊ธฐยท์ฐ๊ธฐ ๊ถํ์ ์ฃผ๋ฉด ์ฅ์ ํด๊ฒฐ์ ํฐ ํ์ด ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ ๊ถํ์ psql๋ก users ํ ์ด๋ธ์ ์ญ์ ํ๊ฑฐ๋ kubectl๋ก prod namespace๋ฅผ ์ง์ฐ๋ ์์ ํ๊ดด์ ํ๋๋ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค.
-
2:47
Opus์ ๊ฑฐ์ ๊ณผ ๊ทธ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํ ์ด์ Opus๋ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ผ๋ ์ง์๋ฅผ ๋งค์ฐ ์ ๊ฑฐ๋ถํ์ง๋ง, ๊ทธ ์ฌ์ค๋ง์ผ๋ก ๋ณด์์ด ์ฑ๋ฆฝํ์ง๋ ์๋๋ค. ์์ด์ ํธ๊ฐ ์ธ์ ๋ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋ํ ๊ฒ์ด๋ผ๋ ๊ธฐ๋๋ ๋ฐฉ์ด์ฑ ์ด ๋ ์ ์์ผ๋ฉฐ, ์ธ๋ถ ์ ๋ ฅ์ ์ํด ์ฝ๊ฒ ํ๋ค๋ฆด ์ ์๋ค.
-
3:28
์ง์ ์์คํ ์ ํตํ ํ๋กฌํํธ ์ธ์ ์ ์์ด์ ํธ๊ฐ ์ง์ ์์คํ ๊ณผ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ์ธ๋ถ์์ prompt injection์ ๋นํ ์ ์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์๋ชป๋ ํ๋์ ์ ๋นํ ์กฐ์น์ฒ๋ผ ์ฐฉ๊ฐํ ์ ์๋ค. ๋ฐ๋ผ์ ์์ด์ ํธ ์์ฒด๋ฅผ ์ ๋ขฐ ๊ฐ๋ฅํ ์ํํธ์จ์ด๋ก ์ทจ๊ธํ์ง ๋ง๊ณ , ์์ด์ ํธ ๋ด๋ถ์ ๋ฐฉ์ด์ ์ ๋์ง ๋ง์์ผ ํ๋ค.
-
4:05
๋ชจ๋ ํ๋์ ์์ด์ด ์์ ๋ฐ์ดํธ๋ค ์์ด์ ํธ์ ์ข์ ํ๋์ด๋ ๋์ ํ๋์ด๋ ๊ฒฐ๊ตญ์ ๋คํธ์ํฌ๋ฅผ ํตํด ๋๊ฐ๋ bytes๋ก ๋ํ๋๋ค. MCP ํธ์ถ๋ฟ ์๋๋ผ subprocess, PostgreSQL ๊ฐ์ ๋นHTTP ํ๋กํ ์ฝ๋ ๋ชจ๋ ํฌํจ๋๋ฉฐ, ํต์ฌ์ ์์ด์ ํธ์์ ๋๊ฐ๋ ๋ฐ์ดํธ๋ฅผ ์ ๋ฐํ๊ฒ ํ์ ํ๋ ์ผ์ด๋ค.
-
5:24
์ด๋ ค์ด ์ฌ๋ก: EKS ์๋ํฌ์ธํธ๋ฅผ ํตํ psql AWS VPC ์์ PostgreSQL์ EKS endpoint๋ฅผ ํตํด์๋ง ๋๋ฌํ ์ ์๋ ์ํฉ์ฒ๋ผ, ๊ฒฝ๋ก๊ฐ ๋ณต์กํด์ง๋ฉด ์์ด์ ํธ๊ฐ ์ฐํ์ ์ผ๋ก psql์ ๋์ users ํ ์ด๋ธ์ ์ญ์ ํ ๊ฐ๋ฅ์ฑ๊น์ง ๊ณ ๋ คํด์ผ ํ๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๋จ์ ๊ถํ ๊ด๋ฆฌ๊ฐ ์๋๋ผ, SQL์ ์ดํดํ๋ ๊ท์น์ผ๋ก ์์๋ฐ์ด๋ ๊ฒฝ๋ก ์ ์ฒด๋ฅผ ํต์ ํด์ผ ํ๋ค.
-
6:47
์๊ฒฉ ์ฆ๋ช ๊ณผ ACL๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ด์ ์ธ์ฌํ credential provisioning๊ณผ ACL์ ํ์ํ์ง๋ง, ์ฌ๋ฌ ์์คํ ์ ์กฐํฉํ๋ ์๊ฐ ๊ถํ์ ํฉ์ฑ์์ ๊ตฌ๋ฉ์ด ์๊ธด๋ค. MCP ๋๊ตฌ๋ก ๊ถํ์ ๊ตฌ์กฐํํด๋ subprocess๊ฐ ๊ฐ์ ๋๋ ์๊ฐ ๊ฒฝ๊ณ๊ฐ ๋ฌด๋์ง ์ ์๋ค.
-
7:26
MCP ๋๊ตฌ ๊ถํ์ด ๋ฌด๋์ง๋ ์ง์ LLM gateway, HTTP proxy, sandbox ๊ฐ์ ๊ธฐ์กด ๋๊ตฌ๋ค์ ์ผ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ๋๋ถ๋ถ HTTP๋ ๋ชจ๋ธ ์ ๋ ฅ์๋ง ์ด์ ์ด ์๋ค. ๊ทธ๋ฌ๋ ์ค์ ์ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ subprocess์ฒ๋ผ ๋ค๋ฅธ ๊ณ์ธต์์ ๋ฐ์ํ๋ฏ๋ก, ๊ทธ ๊ฒฝ๊ณ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค.
-
8:48
๊ธฐ์กด ํ๋ก์์ ์๋๋ฐ์ค์ ํํฉ OpenShell ๊ฐ์ ํ๋ก์ธ์ค ์๋๋ฐ์ค, agent vault ๊ฐ์ credential injection ํ๋ก์, HTTP jail์ด๋ Crabt Trap ๊ฐ์ HTTP ๊ณ์ธต ์ ์ด ๋๊ตฌ๋ค์ด ์ด๋ฏธ ์กด์ฌํ๋ค. ํ์ง๋ง VM ์์ค ๊ฒฉ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ผยท์์คํ ์ฝ๋ณด๋ค ๋คํธ์ํฌ ๊ฒฝ๋ก ํต์ ๊ฐ ๋ ์ค์ํ ๋ฌธ์ ๋ก ๋จ๋๋ค.
-
10:09
Claw Patrol Claw Patrol์ ์์ด์ ํธ ์์ ์๋ ์คํ์์ค ํ๋ก์๋ก, HTTP๋ณด๋ค ๋ฎ์ ์์ค์์ ์์ด์ ํธ๊ฐ ๋ด๋ณด๋ด๋ ๋ชจ๋ ๋ฐ์ดํธ๋ฅผ ์ดํดํ๋ค. ๋น๋ฐ๊ฐ์ ์์ด์ ํธ๊ฐ ์ง์ ๋ณด์ง ๋ชปํ๊ฒ ๋ณด๊ดํ๊ณ ์ฃผ์ ํ๋ฉฐ, ๊ฐ๋ ฅํ ๊ท์น ์์คํ ์ผ๋ก ์ธ๋ถ ํต์ ์ ํต์ ํ๋ค.
-
10:50
HCL๋ก ๊ท์น ์์ฑํ๊ธฐ ๊ถํ ๊ท์น์ HCL ์ค์ ํ์ผ๋ก ๊ด๋ฆฌ๋๋ฉฐ, Git์ ์ปค๋ฐ๋ ์ฝ ์ฒ ์ค ๊ท๋ชจ์ ํ์ผ๋ก ์๋น์ค๋ณ ์ ๊ทผ ์ ์ฑ ์ ์๊ฒฉํ๊ฒ ์ ์งํ๋ค. PostgreSQL์ ํน์ ํจ์ ํธ์ถ์ ๋ง๋ ์์ ์ ๋ฐํ ๊ท์น์ ์ ์ํ ์ ์๊ณ , ๋ค๋ฅธ ์์คํ ์ ๊ฑฐ์ณ ํฐ๋๋งํ๋๋ผ๋ ์ ์ฉ๋๋ค.
-
12:07
ํ๋กํ ์ฝ ํ๋ฌ๊ทธ์ธ Claw Patrol์ ์ฌ๋ฌ ํ๋กํ ์ฝ์ ์ง์ํ๊ณ , ์์ง ๋ชจ๋ฅด๋ ํ๋กํ ์ฝ์ ํ๋ฌ๊ทธ์ธ์ผ๋ก ํ์ฅํ ์ ์๋ค. ์ด๋ก์จ ๋จ์ HTTP ํ๋ก์๊ฐ ์๋๋ผ PostgreSQL ๊ฐ์ ๋นHTTP ํ๋กํ ์ฝ๋ ํด์ํ๊ณ ๊ท์น์ ์ ์ฉํ ์ ์๋ค.
-
12:52
users ํ ์ด๋ธ ์ญ์ ์ฐจ๋จ ๋ฐ๋ชจ Codex๊ฐ Psql subprocess๋ฅผ ๋์ users ํ ์ด๋ธ์ ์ญ์ ํ๋ ค๋ ์ํฉ์ ์ฌํํ ๋ค, Claw Patrol์ด Postgres ํ๋กํ ์ฝ์ ํ์ฑํด ํด๋น ๋์์ ์ต์ข ์ ์ผ๋ก ๊ฑฐ๋ถํ๋ค. ์ฌ๊ธฐ์ ํต์ฌ์ ์์ด์ ํธ์ ์๋๋ณด๋ค ๋ฐ๊นฅ์ชฝ ๊ท์น์ด destructive action์ ์ฐจ๋จํ๋ค๋ ์ ์ด๋ค.
-
13:34
๋์๋ณด๋ ๋์๋ณด๋๋ ์ฌ๋ฌ ์์ด์ ํธ์ ๊ธฐ๊ธฐ์์ ํ๋ฌ์ค๋ ์์ฒญ๊ณผ ์ฐจ๋จยท์น์ธ ์ํ๋ฅผ ํ๋์ ๋ณด์ฌ์ค๋ค. ๊ฐ action์ ์ธ๋ถ ๋ด์ฉ์ ํด๋ฆญํด ๋ถ์ํ ์ ์๊ณ , ์ด์ ๊ด์ ์์ ์ด๋ค ์์ด์ ํธ๊ฐ ๋ฌด์์ ์๋ํ๋์ง ์ถ์ ํ๋ ๋ฐ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋ค.
-
14:14
LLM ์ฌ์ฌ์ ๋๋ ์ฌ๋์ ์น์ธ ๊ท์น์ ๋จ์ ์ฐจ๋จ๋ฟ ์๋๋ผ Slack์ ์ฌ๋ ์น์ธ์ด๋ LLM judge๋ฅผ ํตํ ์น์ธ ํ๋ฆ๋ ๋ง๋ค ์ ์๋ค. ํ์ํ๋ฉด LLM ์ฌ์ฌ๋ฅผ ๋จผ์ ๊ฑฐ์น๊ณ ๊ทธ๋ค์ ์ฌ๋์ด ์น์ธํ๋ ์์ผ๋ก, ์์ด์ ํธ ์ํํธ์จ์ด๋ฅผ ์์ ํ์ง ์๊ณ ๋ ์ ๊ตํ ํต์ ์ฒด๊ณ๋ฅผ ๊ตฌ์ฑํ๋ค.
-
14:58
์๊ฒฉ ์ฆ๋ช ์ฃผ์ ์ธ์ฆ ์ ๋ณด๋ bearer header๋ง์ด ์๋๋ผ cookie, PostgreSQL, ClickHouse, AWS Sig v4 ๋ฑ ๋ค์ํ ํ์์ผ๋ก ์กด์ฌํ๋ฉฐ, ์ด๋ฅผ ํ๋ก์๊ฐ ๋์ ์ฃผ์ ํ๋ค. ์์ด์ ํธ๋ ๋น๋ฐ๊ฐ์ ์ง์ ๋ณด์ง ์๊ณ ํ๋ ์ด์คํ๋๋ง ๋ณด๋ด๋ฉฐ, ์ค๋ฌด ์์คํ ์ ๋ง๋ ๋ณด์ ๋ชจ๋ธ์ ์ ๊ณตํ๋ค.
-
15:38
Tailscale ๋๋ WireGuard๋ก ์คํํ๊ธฐ Claw Patrol์ Tailscale์ด๋ WireGuard ์์์ ๋์ํ๋ฉฐ, ๋ด๋ถ ๋คํธ์ํฌ์ ๋์๋ณด๋ ์ธ์ฆ๊น์ง ํจ๊ป ๋ฌถ์ด ์ด์ฉํ๋ค. ์ด ๊ตฌ์กฐ๋ ์์คํ ์ ์ธํฐ๋ท ๋ฐ๊นฅ์ ๋๊ณ ๋ฏผ๊ฐํ ์ ๊ทผ์ ์ข์ ๊ฒฝ๋ก๋ก๋ง ํ์ฉํ๋ ค๋ ์ด์ ๋ฐฉ์๊ณผ ์ ๋ง๋๋ค.
-
16:58
์์ด์ ํธ๋ ์ค์ค๋ก๋ฅผ ๊ฐ์ํ ์ ์๋ค ๋ณด์ ํ๋ฌ๊ทธ์ธ์ด๋ ์์ด์ ํธ ๋ด๋ถ ์์ ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ผ๋ฉฐ, ๊ฒฝ๊ณ๋ ํญ์ ๋ ๋ฐ๊นฅ์ ์์ด์ผ ํ๋ค. ์์ด์ ํธ๋ ์ค์ค๋ก๋ฅผ ๊ฒฝ์ฐฐ์ฒ๋ผ ๊ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ค์ ๋ณด์์ ์ธ๋ถ์ ๋ฐฑ์คํฑ ๋ฉ์ปค๋์ฆ์ผ๋ก ๊ตฌํํด์ผ ํ๋ค.
-
17:42
Q&A: ๊ท์น ํ์ผ ํ ์คํธ ๊ท์น ํ์ผ์ fixture request๋ฅผ ํ๋ ค๋ณด๋ด๋ ํ ์คํธ ์ฒด๊ณ๋ฅผ ๊ฐ๊ณ ์์ด ํน์ ์์ฒญ์ด ํญ์ ์ฐจ๋จ๋๋์ง ๋จ์ ํ ์คํธ์ฒ๋ผ ๊ฒ์ฆํ ์ ์๋ค. Claw Patrol ์์ฒด๋ ๋ณ๋์ ํฐ ํ ์คํธ ์ค์ํธ๋ก ์์ ์ฑ์ ์ ๊ฒํ๋ค.
-
18:22
Q&A: ๋ชจ๋ธ์ด ์ข์์ง๋ฉด ์ด ๋ฌธ์ ๊ฐ ์ฌ์์ง๋๊ฐ ๋ชจ๋ธ์ด ๋ ๋๋ํด์ง๊ณ ๋ฌธ๋งฅ ์ดํด๊ฐ ์ข์์ง์๋ก ๋ฌธ์ ๋ ์ค์ด๋ค ์ ์์ง๋ง, ์์ ํ ์ ๋ขฐํ ์๋ ์์ผ๋ฏ๋ก ๋ฐฑ์คํฑ ๋ณด์์ ๊ณ์ ํ์ํ๋ค. ๋ ๋์ ์ ๋ ฌ์ ๋์์ด ๋์ง๋ง, ์ค์ ๋ณด์์ ์ฌ์ ํ ์ธ๋ถ ํต์ ์ธต์ ์์กดํด์ผ ํ๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ์์ด์ ํธ ๋ณด์์ ๋ชจ๋ธ์ ์๋ ํ๋จ๋ณด๋ค ๋คํธ์ํฌ ๊ฒฝ๋ก์ ํ๋กํ ์ฝ ๋จ์์ ๊ฐ์ ์ฐจ๋จ์ ๋๋ ํธ์ด ํจ์ฌ ๊ฒฌ๊ณ ํ๋ค.
- ์ฝ๊ธฐยท์ฐ๊ธฐ ๊ถํ์ ๋๊ฒ ์ฃผ๋๋ผ๋, subprocessยทํฐ๋๋งยท๋นHTTP ํ๋กํ ์ฝ๊น์ง ํฌํจํ ํฉ์ฑ ๊ฒฝ๋ก๋ฅผ ๋ง์ง ๋ชปํ๋ฉด ์ค์ง์ ๋ณดํธ๊ฐ ๋์ง ์๋๋ค.
- ์ค๋ฌด ์ ์ฉ์์๋ ๋น๋ฐ๊ฐ ์ฃผ์ , ์น์ธ ํ๋ฆ, ๊ฐ์ฌ ๋์๋ณด๋๋ฅผ ํจ๊ป ๋ฌถ์ด ์ด์ํด์ผ ์์ด์ ํธ๋ฅผ ์์ฐ ํ๊ฒฝ์ ์์ ํ๊ฒ ๋ถ์ผ ์ ์๋ค.