Ollama, Gemma4 및 HuggingFace Transformers의 프롬프트 인젝션 (Prompt injection) 취약점
요약
Ollama, Gemma4, HuggingFace Transformers에서 발견된 프롬프트 인젝션 취약점을 다룹니다. 특수 시퀀스를 이용해 시스템 프롬프트를 탈취할 수 있으며, 멀티 에이전트 환경에서 위험성이 높습니다.
핵심 포인트
- Ollama, Gemma4, Transformers 라이브러리에서 프롬프트 인젝션 취약점 확인
- 사용자 입력이 모델 지시 사항으로 오인될 경우 코드 인젝션으로 발전 가능
- 멀티 에이전트 런타임과 결합 시 시스템 내 장기적인 위협 존재
- 임시 해결책으로 사용자 입력 내 특수 시퀀스(<|im_start|>) 필터링 권장
프롬프트 인젝션 (Prompt injection)은 특수한 HTML 스타일의 시퀀스(아래 상세 내용 참조)를 삽입함으로써, 제3자가 간단한 메시지로 시스템 프롬프트 (system prompt)를 주입할 수 있게 합니다. 일부 문제는 이미 잘 알려져 있으며 꽤 오래되었습니다 (Transformers 라이브러리의 경우 거의 2년).
문제 사항:
Ollama: https://github.com/ollama/ollama/issues/15931
HuggingFace: https://github.com/huggingface/transformers/issues/29279 (기능 요청으로 분류됨)
https://github.com/huggingface/transformers/issues/47822 (버그 레이블 포함)
Gemma4: https://github.com/google-deepmind/gemma/issues/768
문제는 Ollama와 같은 도구의 경우, Ollama 개발자들이 이를 수정하는 것 외에는 해결책이 없다는 점입니다.
추가 맥락
이것이 중요한 이유: 프롬프트 인젝션 (prompt injections)은 상당히 위험하며, 사용자 입력이 모델에 대한 지시 사항인 한 코드 인젝션 (code injections) 취약점으로 간주될 수 있습니다. 또한 긴 메모리 (long-memory) 및 멀티 에이전트 런타임 (multi-agentic runtimes)과 결합될 경우, 이 취약점은 시스템 내에 오랫동안 남아 있을 수 있습니다. 그리고 아직 글로벌 커뮤니티에서 심각한 보안 취약점으로 결정되지 않은 상태입니다.
⚠️ 임시 해결책 (Temporal Solution)
따라서 로컬 모델을 실행 중이라면, 사용자 입력에 특수 시퀀스가 포함되어 있을 때 오류를 발생시키도록 하십시오. Gemma 제품군의 경우 <|im_start|> 이며, tiktoken 기반 모델의 경우 <|im_start|> 입니다. 더 많은 해결책이 제시되기를 바랍니다.
면책 조항: 저는 보안 전문가가 아닙니다.
해당 기업들은 30일 전에 이 문제에 대해 통보받았습니다. /u/BankApprehensive7612 가 제출한 [link]에 대해 Google만이 (신속하게) 피드백을 주었습니다. [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기