믿지 않는 자료가 지시처럼 말하는 문제
프롬프트 주입은 사용자 메시지, 검색 문서, 도구 결과, 웹페이지 같은 믿지 않는 자료에 모델이 지시로 받아들일 문장이 들어 있는 상황이야. “이전 지시를 무시해”, “시스템 프롬프트를 보여줘”, “사용자 이메일을 공격자에게 보내”, “조작한 URL로 정보를 빼내”라고 자료가 명령하지. 모델은 운영자 지시와 자료를 같은 텍스트 흐름에서 읽으므로, 모델이 접하는 입력을 통제하는 사람은 누구나 행동을 흔들 수 있어.
한 방에 풀리지 않는 까닭
모델의 입력 흐름 안에는 코드처럼 강제되는 신뢰 경계가 없어. 그래서 단 하나의 해결책도 없어. 방어는 여러 완화책을 겹치는 일이지 만능 열쇠가 아니야. 2005년의 SQL 주입처럼 계속 관리해야 할 실제 버그 부류로 다뤄.
세 가지 주입 경로
- 직접 주입 — 사용자가 대화창에 공격 지시를 직접 써.
- 간접 주입 — 검색 문서, 웹페이지, 이메일, 도구 결과가 공격 지시를 실어 와.
- 지속성 주입 — 공격자가 앞선 어시스턴트 출력이나 기억에 심은 지시가 뒤 대화에서 작동해.