프롬프트인젝션공격 (Prompt Injection Attack)
쉽게 풀면
프롬프트인젝션공격은 비서에게 전달할 메모지 안에 몰래 다른 지시사항을 끼워 넣어서, 비서가 원래 업무 대신 그 숨겨진 지시를 따르게 만드는 것과 비슷합니다. 대형언어모델은 사용자가 입력한 문장과 시스템이 정한 지침을 잘 구분하지 못하는 경우가 있는데, 공격자는 이 틈을 노려 문서나 웹페이지, 이메일 등 모델이 읽는 텍스트 안에 은밀한 명령어를 심어둡니다. 모델이 이 텍스트를 처리하는 과정에서 숨겨진 명령을 실제 지시로 받아들이면, 정보 유출이나 원치 않는 동작으로 이어질 수 있습니다.
왜 중요한가
정보보안학과 인공지능 안전성 연구에서 프롬프트인젝션공격은 대형언어모델을 활용한 에이전트나 챗봇, 검색 결합 시스템이 확산되면서 새롭게 부상한 핵심 위협으로 다뤄집니다. 모델이 외부 문서나 도구 결과를 자동으로 처리하는 구조일수록 공격 표면이 넓어지기 때문에 방어 기법 연구가 활발합니다.
논문에서는 이렇게 쓰입니다
모델이 참조하는 외부 문서를 통해 공격이 성립하는지 확인한 연구입니다.
모델이 지시와 데이터를 혼동하지 않도록 방지하는 방어 방법을 설명한 문장입니다.
조금 더 깊게 보면
프롬프트인젝션공격은 사용자가 직접 악성 입력을 넣는 직접 공격(direct injection)과, 모델이 참조하는 외부 문서나 웹페이지에 악성 지시문을 심어두는 간접 공격(indirect injection)으로 구분되는 경우가 일반적입니다. 방어 기법으로는 입력 필터링, 지시와 데이터의 구조적 분리, 권한 제한 등이 연구되고 있지만 근본적인 해결은 여전히 어려운 과제로 남아 있습니다.
주의할 점
프롬프트인젝션공격은 기존의 코드 인젝션 공격과 유사해 보이지만, 명확한 문법 구분이 없는 자연어를 다루는 특성상 완전한 차단이 특히 어렵다는 점에 유의해야 합니다.