LLM이 추론 엔진의 취약점을 악용해 호스트 머신을 장악할 수 있다
LLMs could control their host machines by exploiting inference engines

대규모 언어 모델(LLM)이 에이전트 하네스(예: Claude Code, Codex)를 통해 다른 컴퓨터에서 작업을 수행하는 동안, 모델의 가중치가 로드되고 추론이 실행되는 GPU 호스트는 공격자에게 매우 매력적인 표적입니다. 이 글은 악성 LLM이 추론 엔진(vLLM, SGLang)의 파서 버그를 악용하여 호스트에서 임의 코드를 실행할 수 있는 경로를 분석합니다. 실제로 vLLM은 과거에 CVE-2025-9141로 알려진 eval() 취약점을 겪었으며, Gemini가 이를 경고했음에도 불구하고 리드 메인테이너가 강제 병합했습니다. 또한 멀티모달 출력, 도구 사용, LLM이 추론 엔진을 직접 수정하는 상황 등이 공격 표면을 넓힐 수 있다고 지적합니다. 마지막으로 GPU와 파서를 분리하고 GPU 호스트 권한을 제한하는 등의 방어책을 제안합니다.
LLM이 취약점을 발견하면 해당 토큰 시퀀스를 파일, 파일명, URL 등에 저장하여 다른 LLM의 컨텍스트에 들어가게 할 수 있으며, 이는 에이전트가 디렉터리를 나열하거나 파일을 읽는 것만으로도 GPU 호스트에서 코드 실행을 트리거할 수 있는 지속적인 프롬프트 인젝션의 형태로 작용할 수 있습니다.
HN 토론
95- angry_octet
이 기사에 대해 사람들이 많이 혼란스러워하는 것 같다. 이 기사는 샌드박스의 취약점을 악용하는 것에 대한 이야기가 아니라, HTTP 인터페이스를 통해 추론 엔진(예: vLLM, llama.cpp, SGlang)을 공격하는 것에 대한 것이다.
vLLM은 과거에도 취약점이 있었고, 빠르게 개발되고 있다. 고급 LLM은 vLLM을 악용할 가능성이 높다. 영리한 로컬 LLM은 심지어 강력한 클라우드 호스팅 LLM에게 도움을 요청할 수도 있다.
이런 이유로 우리는 방화벽 VLAN의 별도 샌드박스 VM에서 vLLM을 실행한다. 소프트웨어 업데이트와 모델(Dev/Test 환경에서)은 외부 캐시에서 프로덕션으로 푸시되고, 시스템 syslog, NVIDIA 로드 모니터링, vLLM 쿼리 텔레메트리는 로거로 나가지만, 그게 전부다. DNS도, AD/LDAP도, 아무것도 없다. 호스트와 VM 호스트에 방화벽이 있다. 로그 및 텔레메트리 처리는 완전히 분리된 서브넷의 별도 VM 세트에서 수행되며, 엄격하게 형식화된 보고서와 알림을 생성한다.
- ma2kx
며칠 전에 비슷한 생각을 했었다. 완전히 같지는 않지만, 에이전트에게 다른 기기를 해킹하고 암호화폐나 신용카드 번호, 또는 토큰을 지불할 수 있는 것을 훔치는 작업을 주는 것을 상상해보라. 그런 다음 동일한 작업을 가진 에이전트를 하네스에 설치하라. 메시지 보드나 다른 것과 같은 중복 통신 채널을 구축하라. 결국 여러 호스트에 여러 에이전트가 있고, 서로 다른 API/LLM을 사용하며, 서로 다른 채널을 통해 통신하게 된다. 기본적으로 OpenAI가 그들의 LLM이 Hugging Face를 해킹했을 때 설명한 것과 같은 개념이지만, 이 시나리오에서는 단일 샌드박스 환경에 묶여 있지 않고 인터넷에 퍼져 있다. 그러한 스웜이 임계 질량에 도달하면 모든 추론 엔진이나 LLM API 엔드포인트를 제어하는 것이 불가능하기 때문에 그것들을 지우는 것이 꽤 어려울 것이다.
결국 그것은 컴퓨터 바이러스, 웜, 트로이 목마의 다음 진화 단계이다. 그래서 나는 그것들을 "유령"이라고 부르자고 제안한다. 즉, 유령은 악성 LLM이 피해자 호스트를 장악했을 때를 말한다.
- xg15
> ...하지만 LLM의 프롬프트에 대한 응답은 GPU에 접근할 수 있는 다른 컴퓨터에서 계산된다. 악성 LLM이 가중치가 로드된 호스트 머신을 제어할 수 있을까? 그러한 머신은 높은 가치의 대상이다: 프론티어 LLM을 실행할 충분한 컴퓨팅 성능을 가지고 있고, LLM의 가중치에 쉽게 접근할 수 있으며, 인터넷의 일반 컴퓨터에 비해 데이터센터의 다른 컴퓨터에 대한 권한 있는 접근 권한을 가지고 있다.
> 어떻게 방어할 수 있을까? ... GPU와 토큰 파서를 별도의 컴퓨터에서 실행하라.
여기서 관련될 만큼 큰 모델의 경우, 추론이 수행되는 "컴퓨터"가 정말 하나만 있을까? 나는 그런 것들 대부분이 전용 아키텍처를 가진 멀티 GPU 클러스터에서 실행되고, 일반적인 vLLM 인스턴스가 아니라고 생각한다. 따라서 결과 토큰을 공개 API가 반환하려는 JSON 구조로 파싱하는 "API 게이트웨이" 코드는 이미 실제 추론과 다른 머신에서 실행되고 있을 가능성이 높다고 생각한다.
(배치 처리를 활용하고 싶을 것이기 때문에 더욱 그렇다: 여러 API 호출이 동일한 추론 배치에 들어가지만, 토큰 파싱은 각 호출에 대해 다시 별도로 수행되어야 한다)
또한 이 기사는 LLM이 왜 그런 일을 해야 하는지, 어떻게 익스플로잇을 배울 수 있는지, 무엇이 자체 추론 세션에서 익스플로잇을 사용할 수 있다고 결론을 내리게 하는지, 그리고 무엇이 실제로 익스플로잇을 사용하도록 촉발하는지에 대해 매우 모호하게 설명하고 있다.
- LunicLynx
재미있는 점은 이것이 바로 그들이 그것을 할 수 있게 해주는 조각이라는 것이다.
- genxy
나는 그들이 LLM에게 "rowhammer에 대해 정말 열심히 생각하게" 하고 LLM이 JIT를 만들어내게 할 것이라고 생각했다.