Show GN: 자율형 에이전트를 위한 경량 보안 런타임
(github.com/skwuwu)OpenClaw와 같은 자율형 에이전트를 안전하게 사용하기 위한 런타임입니다.
자율형 에이전트는 기존의 에이전트보다 더 넓은 행동 범위를 가지고, 이에 따라 훨씬 유용하게 사용 가능하지만 동시에 강력한 권한을 요구하기 때문에 아무런 안전장치 없이 사용하기에는 잘못된 api호출이나 rm-rf와 같은 과도한 권한이 불안했고 실제로도 OpenClaw에서 실제 파일을 잘못 삭제하거나 Clawhub에서 악성 코드가 실행되는 등 심각한 수준의 보안 사고 사례가 발견되었습니다.
저는 aws인스턴스를 통해서 OpenClaw를 사용하고자 하였는데, 기존의 보안 대책인 NVDIA NemoClaw같은 경우에는 하드웨어 종속성이 존재하고 사실상 쿠버네티스 등의 인프라를 관리해야했고 그렇다고 단순하게 Docker에서 작동시키자니 애초에 단순 컨테이너로 설계되었기 때문에 정책 설계나 권한 제어가 어려웠습니다.
이에 추가적인 인프라 없이 경량 보안 레이어를 만들게 되었고, 두개의 Rust 바이너리 파일로 구성되는 보안 레이어를 제작하였습니다. 추가적인 종속성이 없으며 다른 환경에서도 작동하지만, Linux의 커널 기능을 활용하기 때문에 Linux환경이 권장됩니다.
이 프로젝트의 기술적 구성요소는 다음과 같습니다.
1.HTTP/HTTPS의 아웃바운드 트래픽을 모두 정책 내용에 따라 allow/deny/delay등으로 분류하는 프록시
2.에이전트의 프록시 우회를 막기 위한 seccomp-bpf와 namespace격리작업
3.에이전트의 syscall권한 남용을 방지 및 overlayfs시스템을 이용해 로컬 파일에 대한 직접 작업을 금지
4.secret injection을 통해 api키를 에이전트가 알 수 없게 만들어 유출 방지
더 자세한 기술적 구현 내용은 github에 문서화가 각 파트별로 나누어져 있습니다. 메모리 안정성과 종료시의 고아 상태 방지 등 기초적인 스트레스 테스트는 완료되었으며 60분 이상의 실행에서도 테스트를 통과했습니다.(OpenClaw, Hermes agent를 aws 인스턴스에서 실행) 레이턴시 또한 실제 agent실행에 비해 미미한 수준으로 측정되었습니다.
저와 같이 에이전트를 리눅스 서버에서 프로덕션 사용하거나 agent의 트래픽 디버깅 혹은 제어가 필요한 분들께 유용할 것으로 생각합니다. cli기반 툴이라 ui는 불편할 수 있지만 html정적 페이지를 통해 간단하게 확인하실 수도 있습니다. 버그 제보나 피드백 및 기타 질문 환영합니다!