리눅스에서 멀티 샌드박싱으로 llama.cpp 네이티브 도구(exec_shell_command)를 안전하게 실행하는 방법

llama.cpp 프로젝트는 최근 llama-server에 네이티브 도구 지원을 추가하여 모델이 get_datetime과 같은 함수를 호출할 수 있게 했으며, 강력하지만 위험한 exec_shell_command도 포함됩니다. Reddit 사용자는 호스트 시스템을 위험에 빠뜨리지 않고 웹 RAG(실시간 URL 가져오기)와 같은 작업에 exec_shell_command를 안전하게 사용할 수 있는 다중 샌드박싱 워크플로우를 자세히 공유했습니다.
출처의 주요 세부 사항
- 사용된 모델: MTP 추측 디코딩을 사용한
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.gguf - 서버 플래그:
--jinja --tools get_datetime,exec_shell_command --temp 0.6 --top-p 0.95 --top-k 20 --presence-penalty 1.5 --min-p 0.00 --chat-template-kwargs '{"preserve_thinking":true}' --spec-type draft-mtp --spec-draft-n-max 1 - 다중 샌드박싱 스택: Firejail + smolvm (Alpine Linux VM) + 도구 실행 전용 Linux 사용자
단계별 설정
- llama-server에서 도구 활성화:
--tools get_datetime,exec_shell_command로 시작 (먼저get_datetime으로 테스트) - Firejail 설치 (예: Arch에서
sudo pacman -S firejail) - 격리된 사용자 생성:
sudo useradd -m vmagents; sudo passwd vmagents vmagents로 전환하고 smolvm 설치:curl -sSL https://smolmachines.com/install.sh | bash- 최소 Alpine VM 생성:
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm ~vmagents/.local/bin/에minivm-exec생성:
#!/bin/sh smolvm machine start --name minivm >/dev/null firejail smolvm machine exec --name minivm -- $* 2>/dev/null smolvm machine stop --name minivm >/dev/null
실행 가능하게:chmod +x minivm-exec- 자신의 사용자
~/.local/bin/에vm-exec생성:
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
실행 가능하게. - llama-server 웹 UI에서 모델에
vm-exec를 래퍼로 사용하도록 프롬프트, 예:
실행할 모든 명령 앞에 샌드박싱 래퍼 vm-exec를 붙이세요. 웹 콘텐츠를 가져올 때는 브라우저 사용자 에이전트 문자열로 "-U Mozilla" 옵션을 추가하여 wget을 사용하세요.
그런 다음 실시간 URL을 검색하고 내용을 분석하도록 요청하세요.
샌드박싱 작동 방식
명령은 smolvm이 생성한 임시 Alpine Linux VM(minivm) 내에서 실행되며, 이 VM 자체가 Firejail 샌드박스로 감싸져 있습니다. 이는 네트워크 접근, 파일 시스템, 프로세스 공간을 격리합니다. 호스트의 vm-exec 스크립트는 전체 체인을 vmagents 사용자로 호출하여 호스트 사용자의 홈 디렉터리나 중요한 시스템 파일로의 권한 상승을 방지합니다. 각 명령 후 VM이 중지되어 악의적인 동작으로 인한 지속적인 상태가 없도록 합니다.
대상 독자
로컬 LLM 서버를 실행 중이고 호스트 OS를 노출하지 않고 에이전트 도구를 통해 안전하게 코드 실행이나 웹 가져오기를 허용하려는 개발자.
📖 전체 출처 읽기: r/LocalLLaMA
👀 See Also

오픈클로 102: 보안과 효율성을 위한 업데이트된 설정 팁
레딧 사용자가 업데이트된 OpenClaw 구성 조언을 공유합니다. 여기에는 Windows PowerShell 스크립트를 통한 API 키 암호화, AGENTS.md의 프롬프트 주입 방어, 원격 접속을 위한 Tailscale, 반복적 실패를 방지하는 반복 방지 규칙이 포함됩니다.

연구에 따르면 효과적인 AI 프롬프트 작성은 공학적 접근이 아닌 협력적 소통이다
동료 검토 연구에 따르면 AI 모델과의 효과적인 프롬프팅은 인간이 사용하는 협력적 의사소통 원칙과 동일하게 작동하며, Lakera의 분석에 따르면 대부분의 프롬프트 실패는 모델의 한계가 아닌 모호함에서 비롯됩니다.

OpenClaw 노드 설정으로 원격 브라우저 자동화 수정하기
CDP/RDP 문제를 피하기 위해 로컬 OpenClaw 노드 사용 — 브라우저를 보이게 실행하고, IP와 쿠키 유지.

OpenClaw 자동화에서 예상치 못한 OpenRouter 비용을 피하는 방법
한 개발자 팀이 모든 자동화 작업에 Claude Sonnet 4.6(백만 토큰당 $3)을 기본값으로 사용하면서 OpenRouter에서 3일 만에 $750을 우연히 지출했습니다. 기본 모델을 변경하고, 크론 작업과 서브에이전트를 더 저렴한 옵션으로 잠그며, 비싼 모델은 민감한 작업에만 예약함으로써 비용을 97% 절감했습니다.