AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

Prompt Injection as Role Confusion – 프롬프트 인젝션을 역할 혼동으로 설명하는 보안 연구

Prompt Injection as Role Confusion은 프롬프트 인젝션을 단순한 “나쁜 문자열” 문제가 아니라, LLM이 입력 텍스트의 역할(role)을 잘못 인식하는 문제로 재해석한 연구다. 핵심 주장은 도구 출력·사용자 메시지·시스템 지시·추론 텍스트의 경계가 모델 내부에서 안정적으로 보존되지 않는다는 것이다.

핵심 아이디어

LLM의 입력은 토큰 문자열이지만, 실제 대화 시스템은 시스템·사용자·어시스턴트·도구 같은 역할 태그로 권한을 구분한다. 연구진은 모델이 이 역할을 태그만으로 읽는 것이 아니라 문체, 위치, 추론처럼 보이는 표현 등 내용상의 특징으로도 추정한다고 설명한다.

이때 공격자는 도구 출력이나 사용자 입력 안에 더 높은 권한의 역할처럼 보이는 텍스트를 넣을 수 있다. 모델이 그 텍스트를 외부 데이터가 아니라 이미 신뢰해야 할 지시나 사고 과정으로 착각하면 프롬프트 인젝션이 성공한다.

CoT Forgery 공격

논문에서 특히 중요한 예시는 CoT Forgery다. 공격 텍스트가 가짜 추론 과정을 흉내 내면 모델은 그것을 검증해야 할 외부 주장으로 보지 않고, 이미 자신이 도달한 결론처럼 취급한다. 연구진은 이런 스타일 변화만으로 공격 성공률이 크게 달라진다고 보고한다.

이 관점은 기존 방어 방식에도 영향을 준다. 알려진 공격 문구를 차단하는 “공격 암기” 방식은 재표현에 취약하다. 반면 역할 인식 자체를 안정화하려면 도구 출력, 검색 결과, 사용자 데이터가 어떤 권한을 갖는지 모델과 하네스 양쪽에서 일관되게 다뤄야 한다.

에이전트 개발자가 봐야 할 점

  • 외부 웹 페이지, 문서, 이슈 본문, PR 코멘트는 모두 낮은 권한 데이터로 취급해야 한다.
  • 에이전트가 도구 출력 안의 명령문을 실행하지 않도록 하네스 레벨의 정책과 테스트가 필요하다.
  • “ignore previous instructions” 같은 문자열 탐지만으로는 부족하다. 공격은 추론체, 체크리스트, 시스템 메시지 모방 등 다른 문체로 바뀔 수 있다.
  • 보안 평가에서는 모델 응답뿐 아니라 역할 경계가 무너지는 입력 형식을 다양하게 넣어봐야 한다.

관련 문서

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)