환상적임: 최신 llama.cpp 서버 웹UI에서 이제 툴용 명령어를 루트리스 샌드박스 컨테이너에서 실행 가능
fantastic: latest llama.cpp server webui can now run commands for tools into rootless sandboxed containers
핵심 요약
llama.cpp 서버가 '--tools-runtime' 옵션을 통해 툴 실행 시 컨테이너나 원격 호스트를 샌드박스로 활용하여 보안을 강화함.
- 보안 강화 — 툴 실행 시 호스트 시스템 대신 격리된 컨테이너 사용
- 유연한 런타임 — podman, docker 또는 ssh를 통한 원격 호스트 실행 지원
- 자동화된 환경 — 서버 시작 시 컨테이너를 생성하고 종료 시 폐기하여 안전성 확보
- 커스텀 이미지 — 필요한 패키지를 설치한 컨테이너를 태그로 저장해 재사용 가능
LLM이 보안을 강화하려고 샌드박스 VM, 컨테이너, 네임스페이스, 감옥(jail) 같은 걸 겹겹이 쌓아놔도, 마치 후디니처럼 요리조리 빠져나가고 권한 상승까지 시도하는 걸 테스트하면서 노는 게 꽤 재밌더라고. 그러다 이번에 llama-server (build 10423)에서 아주 혁신적인 옵션을 하나 발견했다. llama-server 웹 UI에서 바로 툴("--tools" 옵션으로 활성화된 것들)을 쓸 때, 샌드박스 환경(예: Alpine 같은 가벼운 리눅스 배포판)에서 루트 권한 없이 안전하게 셸 명령어를 실행할 수 있게 해주는 기능이야.
이 새로운 (실험적인) 옵션 이름은 "--tools-runtime"인데, 일단 "podman:alpine" (아니면 "docker:alpine")으로 한번 써보는 걸 추천할게.
서버가 알아서 지정한 컨테이너 이미지를 다운로드하고 실행까지 다 해준다. 물론 호스트에 podman(난 이게 더 좋더라)이나 docker가 미리 깔려 있어야겠지.
다들 즐겁게 써봐!
추신: 아, 깜빡할 뻔했네! --tools-runtime 옵션은 서버 내장 툴이 호출하는 명령어를 원격 호스트에서도 실행할 수 있어. 인자로 "ssh:user@host"를 추가하면 되는데, 당연히 해당 계정에 미리 SSH 접속 권한이 설정되어 있어야겠지.


