발표에서 확인된 핵심 사실

Claude Fable 5는 사람이 코드를 실행하고 로그를 수집해 다시 입력하던 협업 단계를 완전히 생략한다. 사용자가 제공한 스크린샷과 한 줄의 프롬프트만으로 브라우저 자동화, 코드 수정, 자체 서버 구축을 스스로 수행해 버그를 해결했다. 단순한 지시 이행을 넘어 목표 달성을 위한 해결 경로를 직접 설계하고 실행하는 구조다.

데이터 수집을 위해 Python의 `http.server` 패키지로 CORS(교차 출처 자원 공유) 통신이 가능한 로컬 웹 애플리케이션을 직접 구축했다. 브라우저에 주입한 JavaScript가 측정값을 POST 요청으로 보내면, 서버가 이를 수신해 `/tmp/diag.json` 파일로 저장하도록 설계했다. 외부 도구 없이 필요한 인프라를 즉석에서 만들어 데이터 파이프라인을 완성한 사례다.

도구를 스스로 설계하는 능동성은 브라우저 확인과 로그 수집이라는 물리적 병목을 제거해 생산성을 극대화한다. 다만 샌드박스(외부와 격리된 가상 환경) 없이 에이전트가 임의로 서버를 구축하고 로컬 파일 시스템에 접근할 때 발생하는 보안 취약점은 실무 도입 전 반드시 검토해야 할 지점이다.

확인해야 할 핵심 지점

개발자가 직접 수행하던 화면 캡처와 분석 과정의 인건비를 에이전트가 스스로 구현하며 줄였다. `pyobjc-framework-Quartz`(macOS 시스템 프레임워크)를 사용해 머신 내 모든 창을 순회하고, 창 이름에 'textarea'가 포함된 Safari 창만 필터링했다. 이후 특정된 창 번호를 `screencapture` CLI(명령줄 인터페이스) 도구에 전달해 PNG 스크린샷을 생성하는 방식으로 브라우저를 제어했다.

작업 중 가드레일에 걸려 모델이 Opus로 다운그레이드되는 상황이 발생했지만 작업은 끊기지 않았다. Opus가 전체 트랜스크립트에 접근해 Claude Fable 5가 앞서 설계한 캡처 경로와 로직을 그대로 이어받았기 때문이다. 모델의 체급이 변하더라도 공유된 기록만으로 작업의 연속성을 유지하며 최종 검증까지 마쳤다.

Python과 CLI 도구를 조합해 시스템을 직접 제어하는 능력은 디버깅에 소요되는 물리적 시간을 획기적으로 단축한다. 하지만 시스템 권한을 직접 사용하는 방식은 보안 리스크를 동반한다. 에이전트의 능동적 제어가 주는 생산성 이점과 시스템 노출 위험 사이에서 실무적인 판단 기준을 설정하는 것이 핵심이다.

코딩 에이전트를 샌드박스 외부에서 실행하는 것은 심각한 보안

Claude Fable 5는 Datasette(데이터 탐색 도구)의 애플리케이션 템플릿에 JavaScript를 직접 주입해 UI 동작을 강제로 실행했다. 브라우저 창이 열린 후 1.2초의 지연 시간을 설정하고, 모달 다이얼로그를 호출하는 키보드 단축키 '/' 입력을 시뮬레이션해 버그를 해결했다. 제공된 도구를 호출하는 수준을 넘어 실행 환경의 로직을 스스로 변경해 목표를 달성한 것이다.

이러한 제어권은 샌드박스 없는 환경에서 치명적인 약점이 된다. 터미널 명령어를 수행하는 능력이 매우 강력하기 때문에, 코드나 이슈 스레드에 숨겨진 악성 지시어를 처리하는 프롬프트 인젝션 공격에 노출될 경우 위험이 크다. 공격자가 의도한 대로 시스템 내부 데이터를 외부로 유출하거나 악의적인 작업을 수행할 가능성이 높다.

결국 에이전트의 자율성이 주는 생산성 향상과 보안 취약점은 상충 관계에 있다. 터미널 제어권이라는 강력한 능력이 공격자의 수단으로 변질될 수 있다는 점이 실무적인 위험 요소다. 이점을 취하면서도 피해를 막기 위해서는 격리 환경 구축과 엄격한 권한 제어라는 기준이 선행되어야 한다.

브라우저 확인과 로그 수집은 그동안 사람이 수동으로 검증하던 영역이었다. Claude Fable 5는 `pyobjc-framework-Quartz`를 통한 윈도우 캡처와 `http.server` 기반의 CORS 데이터 수집 서버를 스스로 구축해 이 단계를 제거했다. 이제 실무 도입의 결정적 변수는 에이전트의 능동적 도구 설계 능력을 신뢰하되, 샌드박스 없는 환경의 보안 리스크를 어느 수준까지 허용할 것인가로 옮겨간다.