피드로 돌아가기
Dev.toSecurity
원문 읽기
데이터와 명령의 경계 붕괴를 막는 Trust Boundary 중심의 LLM 아키텍처 설계
The Attack Vectors Nobody Tells You About: Hardening LLM Apps Against Prompt Injection
AI 요약
Context
LLM 애플리케이션이 단순 챗봇을 넘어 API 호출 및 도구 사용 등 인프라 계층으로 확장됨에 따른 보안 취약점 증대. 데이터와 명령어가 동일한 Token 형태로 처리되는 특성으로 인해 RAG 파이프라인을 통한 간접적 Prompt Injection 발생 가능성 상존.
Technical Solution
- Context Window 내 데이터와 명령의 구분 불가능성을 인정하고 시스템 설계 단계에서 Trust Boundary 설정
- Retrieval Index를 신뢰 수준별로 분리하여 외부 유입 데이터의 영향력을 물리적으로 제한하는 구조 설계
- HTML 주석, PDF 메타데이터, OCR 결과물 등 비가시적 영역의 숨겨진 명령어를 제거하는 전처리 필터링 도입
- 신뢰도가 낮은 소스의 콘텐츠를 고신뢰 내부 소스와 병합하지 않는 데이터 격리 전략 채택
- 모델의 판단에만 의존하지 않고 Approval Workflow 및 Restricted Scope를 통한 명시적 권한 제어 레이어 추가
- compromised context가 compromised capability로 이어지지 않도록 하는 기능적 격리 아키텍처 구현
실천 포인트
- RAG 파이프라인의 데이터 소스별 Trust Level 정의 및 인덱스 분리 여부 검토 - 데이터 인입 단계에서 비가시적 텍스트(Hidden HTML, Metadata) 제거 로직 적용 - LLM의 출력 결과가 인프라 제어권에 직접 영향을 주는 경로에 Human-in-the-loop 승인 단계 추가 - 컨텍스트 윈도우 내 데이터 비중과 명령어 비중의 경쟁 관계를 고려한 가중치 설계 검토