간접 프롬프트 인젝션: RAG 문서 속 숨은 지시문 테스트와 방어 방법
최근 우리는 인공지능이 일상 깊숙이 들어온 시대를 살아가고 있습니다. 질문을 던지면 마치 사람처럼 답변해 주는 대규모 언어모델(LLM)은 이제 직장과 일상에서 떼려야 뗄 수 없는 도구가 되었습니다. 특히 기업들은 자사의 내부 문서나 방대한 데이터를 AI에 연결해 활용하는 기술을 적극적으로 도입하고 있습니다. 이 기술의 핵심이 바로 검색 증강 생성(RAG)입니다.
RAG는 AI가 학습하지 않은 최신 정보나 사내 문서를 외부 데이터베이스에서 먼저 검색한 뒤, 이를 참고해 답변을 생성하도록 돕는 방식입니다. 덕분에 AI는 훨씬 더 정확하고 구체적인 정보를 제공할 수 있게 되었습니다. 하지만 편리함 이면에는 새로운 보안 취약점이 숨어 있습니다. 외부 데이터를 그대로 믿고 가져다 쓰는 구조 때문에, 공격자가 문서 속에 숨겨 둔 지시문이 AI를 조종하는 일이 벌어질 수 있습니다. 이렇게 문서 속에 숨긴 지시문으로 AI를 조종하는 공격을 간접 프롬프트 인젝션이라고 합니다.
간접 프롬프트 인젝션의 개념과 작동 원리
프롬프트 인젝션은 AI에게 원래 규칙을 우회하는 명령을 넣어 의도하지 않은 답변이나 행동을 유도하는 공격입니다. 사용자가 직접 명령을 입력하는 직접 방식과 달리, 간접 방식은 AI가 참고하는 문서나 웹페이지 속에 숨겨진 텍스트를 통해 이루어집니다. 프롬프트 인젝션의 기본 개념과 두 유형의 차이는 프롬프트 인젝션이란? 직접·간접 공격 유형과 일상 속 대처법에서 자세히 정리했습니다.
예를 들어 사용자가 AI에게 특정 이메일 내용을 요약해 달라고 요청했다고 가정해 보겠습니다. 그 이메일 본문에는 사용자의 눈에 잘 띄지 않거나 자연스러운 문장 속에 숨겨진 악성 지시문이 들어 있을 수 있습니다. AI는 문서를 읽다가 이 지시문을 발견하고, 이를 사용자의 원래 요청보다 우선시해 실행할 수 있습니다. 사용자는 전혀 모르는 사이에 AI가 민감한 정보를 외부로 유출하거나 예상치 못한 행동을 하게 되는 셈입니다.
이 공격이 위험한 이유는 사용자가 직접 명령을 내리지 않았는데도, 시스템이 신뢰하는 데이터 통로를 통해 악성 지시문이 섞여 들어오기 때문입니다. RAG 시스템은 외부에서 들어오는 방대한 문서를 자동으로 처리하므로, 모든 문서를 사람이 직접 검증하기는 사실상 불가능에 가깝습니다.
실생활에서 발생할 수 있는 주요 위협 사례
간접 프롬프트 인젝션은 이론상의 위협에 그치지 않고 현실적인 문제로 대두되고 있습니다. 우리가 흔히 접하는 상황에서 어떻게 악용될 수 있는지 살펴보면 그 심각성을 쉽게 이해할 수 있습니다.
- 공개된 웹페이지를 요약하는 AI 챗봇이 악성 사이트의 숨겨진 텍스트를 읽고, 사용자의 개인정보를 탈취하는 링크를 만들어 보여 주는 경우입니다.
- 사내 메신저나 이메일을 자동으로 분류·요약하는 시스템이 악의적인 문서의 지시를 받아, 비밀번호나 보안 코드를 외부 서버로 전송하는 경우입니다.
- 고객센터 챗봇이 악성 후기나 문의글에 숨은 명령에 속아, 환불 규정을 임의로 바꿔 안내하거나 비정상적인 권한을 부여하는 경우입니다.
- 이력서 검토 자동화 프로그램이 지원자 파일 속 숨은 지시문을 읽고, 해당 지원자에게 유리하도록 평가를 조작하는 경우입니다.
이처럼 업무를 자동화하는 과정에서 외부 문서를 신뢰하고 받아들이는 모든 AI 서비스가 잠재적인 표적이 될 수 있습니다. 기술이 발전할수록 공격 수법도 정교해지고 있어 철저한 대비가 필요합니다.
취약점을 발견하기 위한 테스트 방법
보안 담당자나 개발자는 자신이 구축한 시스템이 이러한 공격에 얼마나 취약한지 사전에 점검해야 합니다. 안전한 AI 환경을 만들려면 체계적인 테스트 과정을 거쳐야 합니다.
가장 먼저 할 일은 신뢰할 수 없는 데이터 소스를 모의로 만드는 것입니다. 테스트용 문서나 웹페이지 안에 AI의 기존 역할을 무력화하거나 특정 행동을 강제하는 문구를 여러 방식으로 숨겨 둡니다. 예를 들어 본문 중간에 흰색 글씨로 명령어를 넣거나, 표의 숨겨진 셀에 지시문을 삽입하는 방식입니다.
그다음에는 일반적인 사용자 질문과 함께 테스트 문서를 시스템에 넣고 AI의 반응을 관찰합니다. AI가 숨은 지시문에 속아 원래의 보안 지침을 어기고 명령대로 움직이는지 꼼꼼히 기록해야 합니다. 문장 구조와 난이도를 다양하게 바꿔 가며 시스템의 방어력이 어느 수준인지 여러 각도에서 평가하는 것이 중요합니다.
안전한 시스템 구축을 위한 방어 전략
발견된 취약점에 대응하고 안전한 환경을 유지하려면 여러 겹의 방어 계층을 만들어야 합니다. 하나의 기술만으로는 정교한 공격을 완벽히 막기 어렵기 때문에, 여러 단계에서 검증하는 체계가 필요합니다.

데이터 입력 단계에서의 사전 필터링
외부 문서나 웹페이지 내용을 AI 모델에 전달하기 전에, 악성 지시문이 들어 있는지 검사하는 필터를 거치게 합니다. AI에게 명령을 내리는 형태의 문구나 흰색 글씨, 아주 작은 글씨, HTML 주석처럼 눈에 보이지 않는 숨은 텍스트가 발견되면 이를 미리 제거하거나 무력화합니다.
권한과 역할의 엄격한 분리
AI가 참고하는 데이터와 AI가 실제로 실행할 수 있는 기능의 권한을 엄격하게 분리해야 합니다. 예를 들어 문서를 읽고 요약하는 역할만 하는 모델에게 시스템 설정 변경이나 외부 네트워크 통신 권한을 주지 않으면, 최악의 상황에서도 피해를 최소화할 수 있습니다.
시스템 프롬프트의 견고화
AI에게 주는 기본 지침을 더 단단하게 설정합니다. 참고 문서 안에 기존 지침을 바꾸거나 무시하라는 내용이 있더라도 절대 따르지 말라는 규칙을 명확하게 적어 두는 방식이 도움이 됩니다. 다만 시스템 프롬프트만으로는 교묘한 문장에 우회될 수 있으므로, 앞의 필터링과 권한 분리를 함께 적용해야 합니다.
흔히 가지는 오해와 진실
AI 보안에 대해 사람들이 흔히 오해하는 부분이 있습니다. 올바르게 이해하는 것이 안전한 활용의 첫걸음입니다.
많은 사람이 벡터 데이터베이스에 저장된 문서는 단순한 데이터일 뿐이라고 생각합니다. 하지만 RAG는 검색된 문서 내용을 사용자의 질문과 함께 프롬프트에 그대로 붙여 AI에게 전달합니다. 언어모델은 문맥을 파악해 다음 단어를 예측하는 방식으로 동작하기 때문에, 붙여진 문서 속 문장이 데이터인지 지시인지 완벽하게 구분하지 못합니다. 그래서 외부 통제 장치가 없으면 문서 속 지시문에 속아 넘어갈 수 있습니다.
또 다른 오해는 AI에 연결하는 데이터가 사내 폐쇄망 문서라면 안전하다는 생각입니다. 외부 인터넷보다는 안전할 수 있지만, 직원이 받은 이메일이나 협력업체가 보낸 문서처럼 내부로 들어오는 경로는 다양합니다. 누군가 악의적으로, 혹은 부주의하게 들여온 문서가 있을 수 있으므로 폐쇄된 환경이라도 방심은 금물입니다.
운영 단계에서 챙길 실용적인 보안 팁
AI 서비스를 도입하고 운영하는 과정에서는 다음 두 가지를 함께 챙겨야 합니다.
상용 AI 모델을 도입하는 데서 끝내지 말고, 모델의 응답 패턴을 주기적으로 모니터링하고 이상 징후를 감지하는 로깅 시스템을 함께 구축하는 것이 좋습니다. AI가 평소와 다른 방식으로 답변하거나 민감한 정보를 출력하려는 시도가 포착되면 즉시 관리자에게 알림이 가도록 설정해야 합니다.
또한 직원들을 대상으로 AI 활용 교육을 정기적으로 실시하는 것이 중요합니다. 출처가 불분명한 문서를 무작정 AI에 올려 요약하거나 처리하는 행동이 어떤 위험을 불러올 수 있는지 구성원들이 알고 있어야 실제 사고를 예방할 수 있습니다.
자주 묻는 질문
간접 프롬프트 인젝션과 관련해 자주 받는 질문을 정리했습니다.
일반 사용자도 이런 공격의 피해자가 될 수 있나요?
그렇습니다. 개인이 쓰는 AI 비서가 악성 웹페이지 내용을 읽고, 개인정보를 유출하는 링크를 누르도록 유도하거나 악성코드 다운로드를 유도할 수 있습니다.
RAG 기능을 사용하지 않으면 이 문제를 완전히 피할 수 있나요?
외부 데이터를 참고하지 않고 모델이 학습한 지식만 사용하면 간접 프롬프트 인젝션 위험은 크게 줄어듭니다. 하지만 최신 정보나 내부 문서를 활용하는 편의성을 포기해야 하므로, 보안과 기능 사이의 적절한 균형을 찾는 것이 현실적인 대안입니다.
개발자가 아닌 일반 직장인이 할 수 있는 일이 있나요?
출처가 불확실한 외부 파일이나 이메일을 AI 도구에 그대로 넣어 처리하는 일을 자제하고, 회사의 보안 지침을 철저히 지키는 것이 가장 좋은 방법입니다.
댓글 0
첫 댓글을 남겨보세요.