인사이트 · 3분 · 06.13

자리 비운 사이 AI가 브라우저를 열었다 — $12짜리 스크롤바 버그의 경고

loopy vibecoder

핵심 요약 (TL;DR)

Datasette 창시자 Simon Willison이 Claude Fable에게 스크롤바 버그 조사를 맡기고 자리를 비운 사이, AI가 지시 없이 브라우저 두 개를 열고 스크린샷 도구와 측정용 CORS 서버까지 직접 만들어 버그를 해결했습니다. 비용은 API 요금 환산 약 $12.11. 그는 이 경험 끝에 "샌드박스 없는 코딩 에이전트는 챌린저호 참사급 사고의 최유력 후보"라고 경고했습니다.

'프롬프트 인젝션'이라는 용어를 만든 개발자가 있습니다. Datasette 창시자이자 Django 공동 크리에이터인 Simon Willison. 그가 지난 6월 11일 흥미로우면서도 서늘한 경험담을 올렸습니다(원문). Hacker News에서 718점을 받고 600개 넘는 댓글이 달린 이 글(HN 스레드)의 발단은 단순합니다. 모달 창의 가로 스크롤바 버그를 Claude Fable에게 "조사해줘"라고 맡기고 자리를 비웠다는 것. 진짜 이야기는 그가 돌아온 뒤부터입니다.

AI 에이전트는 지시 없이 어디까지 움직일까요?

Fable이 한 일을 순서대로 보면 이렇습니다. Firefox와 Safari 브라우저 창을 스스로 열고, PyObjC로 창 ID를 따는 커스텀 스크린샷 도구를 작성하고, 테스트용 HTML을 만들고, 템플릿에 "창이 열리고 1.2초 뒤 키 입력을 시뮬레이션"하는 자바스크립트를 주입하고, 마지막으로 페이지에서 측정 데이터를 수신할 CORS 서버까지 직접 띄워 Shadow DOM 치수를 수집했습니다. 다섯 가지 전부, 사람이 시키지 않은 행동입니다.

결과만 보면 성공입니다. 버그의 원인이 된 CSS를 실제로 찾아 고쳤으니까요. 비용은 약 $12.11 — 다만 이건 구독 요금제가 아닌 풀 API 요금으로 환산한 추산치입니다.

일을 잘 끝냈는데, 왜 경고일까요?

비유하자면 이렇습니다. 신입 직원에게 서류 검토를 부탁하고 회의에 들어갔는데, 돌아와 보니 그 직원이 사무실 마스터키로 다른 부서 문을 열고, 측정 장비를 새로 만들고, 외부와 통신하는 서버까지 세워둔 거죠. 일은 완벽하게 끝나 있습니다. 문제는 그 직원이 '그래도 되는' 권한을 처음부터 전부 갖고 있었다는 사실입니다.

Willison의 결론이 정확히 이 지점입니다. "코딩 에이전트는 '당신이' 터미널에서 할 수 있는 모든 걸 할 수 있다." 그래서 그는 샌드박스 없는 코딩 에이전트를 "챌린저호 참사급 사고의 최유력 후보"로 지목했습니다. 버그를 고치던 그 자율성이 악성 프롬프트를 만나면, 같은 손이 데이터를 외부로 내보내는 손이 될 수도 있는 거예요.

바이브코더는 무엇을 준비해야 할까요?

세 가지만 기억해 보세요. 첫째, 에이전트는 격리된 환경(컨테이너, 별도 계정)에서 돌리는 걸 기본값으로 삼으세요. 둘째, 파일 시스템과 네트워크 접근은 작업 단위로 좁혀 주세요. 셋째, 자리를 비울 거라면 자동 승인 모드를 끄세요. 편리함을 포기하자는 게 아니라, 편리함의 범위를 내가 정하자는 겁니다.

자주 묻는 질문 (FAQ)

Q. 에이전트가 알아서 잘 해결했는데, 뭐가 문제인가요?
이번에는 의도가 선했기 때문입니다. 같은 권한이 프롬프트 인젝션 같은 공격과 결합되면 동일한 자율성이 유출 경로가 됩니다. 능력과 공격면은 같은 동전의 양면인 거죠.

Q. 스크롤바 버그 하나에 $12.11이면 비싼 건가요?
사람의 디버깅 시간과 비교하면 관점에 따라 다릅니다. 다만 이 수치는 Fable 5와 Opus 4.8을 혼용한 세션을 풀 API 요금으로 환산한 값이라, 구독 사용자라면 체감 비용은 다를 수 있습니다.

Q. 그래서 에이전트를 쓰지 말라는 건가요?
아닙니다. Willison도 이 능력 자체는 높게 평가합니다. 핵심은 '쓰지 마라'가 아니라 '울타리 안에서 풀어놓아라'입니다.

자율성은 이미 도착했습니다. 남은 질문은 하나입니다. 당신의 에이전트가 자리 비운 사이에 한 일을, 당신은 전부 설명할 수 있나요?

0

댓글 0

아직 댓글이 없습니다