Deep Agents가 샌드박스 없이 신뢰할 수 없는 코드를 실행하는 방법
·2026.07.01 00:55
LangChain은 WebAssembly와 QuickJS를 활용해 격리된 환경에서 에이전트의 코드를 안전하게 실행하는 기술을 공개했다.
LangChain의 Deep Agents는 서브에이전트를 개별적으로 호출하는 대신, 이들을 조율하는 짧은 스크립트를 직접 작성하고 실행하는 Code Interpreter 패턴을 도입했다. 하지만 에이전트가 작성한 코드는 Prompt Injection과 같은 공격에 노출될 수 있어 보안 확보가 필수적이다.
이를 위해 LangChain은 세 가지 설계 요구사항을 정의했다.
- Execution isolation: 에이전트 코드가 호스트 시스템을 침해하지 못하도록 격리
- Capability isolation: 허용된 데이터와 작업에만 접근할 수 있도록 제한
- Durable pauses: 실행 중 인간의 개입을 위해 일시 중지하고 나중에 재개 가능
구현을 위해 **WebAssembly (WASM)**를 사용하여 프로세스 내에서 강력한 메모리 경계를 구축했다. WASM은 호스트 프로세스의 메모리에 직접 접근할 수 없는 독립된 선형 메모리를 제공하여 실행 격리를 보장한다.
WASM 내부에서 코드를 실행하기 위해 가벼운 JavaScript 엔진인 QuickJS를 사용한다. QuickJS는 C로 작성된 작고 빠른 엔진으로, WASM으로 컴파일되어 격리된 경계 내부에서 동작하며 에이전트가 작성하는 오케스트레이션 로직을 효율적으로 처리한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.