프롬프트 인젝션
이 페이지는 AI 에이전트 문맥에서 자주 쓰이는 프롬프트 인젝션의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 8개, 관련 글 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
프롬프트 인젝션(Prompt Injection)은 입력이나 외부 자료에 섞인 지시가 AI를 원래 작업에서 벗어나게 만드는 공격입니다. 문서 요약에 광고가 끼어들거나, 연결된 도구가 정보를 허가 없이 외부로 보내는 문제가 생길 수 있습니다.
AI는 사용자의 요청을 처리하면서 문서, 검색 결과, 도구가 돌려준 내용을 함께 읽습니다. 이때 자료 속 문장을 자신에게 내린 명령으로 받아들이면 공격자가 답변이나 행동에 영향을 줄 수 있습니다. 공격 문구는 사람이 쉽게 알아보는 문장으로만 나타나지 않습니다. 이미지 속 글자나 문서의 숨겨진 내용처럼 모델이 읽을 수 있는 곳에도 들어갈 수 있습니다. OWASP의 프롬프트 인젝션 설명은 이런 입력 경로와 피해 유형을 정리합니다.
직접 인젝션과 간접 인젝션
직접 인젝션은 사용자가 입력하는 요청에 공격 지시가 들어가는 경우입니다. 고객 지원 챗봇에 정해진 처리 규칙을 무시하고 다른 고객의 정보를 보여 달라고 요구하는 상황을 생각할 수 있습니다. 반면 간접 인젝션은 AI가 읽는 웹페이지, 이메일, 파일 등에 지시가 들어갑니다. 정상적인 사용자가 평범한 작업을 맡겨도, 작업 중 읽은 자료 때문에 문제가 생길 수 있다는 차이가 있습니다.
예를 들어 회의록을 요약하는 AI가 참석자가 올린 문서를 읽는다고 가정하겠습니다. 문서 안에는 회의 내용과 함께 AI에게 특정 제품을 추천하라는 지시가 섞여 있습니다. AI가 그 지시를 따르면 사용자가 원한 회의 요약에 광고가 들어갑니다. 문서 공유 기능까지 연결되어 있다면 피해 범위가 더 커질 수도 있습니다. 이 예시는 공격이 어디서 들어와 어떤 작업을 바꾸는지 설명하기 위한 가상 상황입니다.
탈옥(Jailbreak)은 안전 정책을 우회하려는 시도를 가리킬 때 쓰는 말입니다. 프롬프트 인젝션은 안전 정책 우회뿐 아니라 요약 왜곡, 도구 오용, 정보 노출도 포함합니다. 두 개념은 겹치는 부분이 있지만, 광고 문장을 끼워 넣는 공격까지 모두 유해 콘텐츠 생성으로 설명하기는 어렵습니다. 시스템 프롬프트를 알아내려는 프롬프트 유출도 관련 위험입니다. 시스템 프롬프트에 비밀번호 같은 비밀을 보관해서는 안 됩니다.
AI 에이전트에서는 권한도 함께 봅니다
같은 문구를 읽더라도 AI가 가진 권한에 따라 실제 피해는 달라집니다. 문서 내용을 화면에 보여 주는 AI와 파일을 수정하거나 외부에 전송할 수 있는 AI는 영향을 줄 수 있는 범위가 다릅니다. 그래서 AI 에이전트를 설계할 때는 답변의 내용뿐 아니라 실행 가능한 도구, 접근할 수 있는 파일, 연결된 계정의 권한을 함께 살펴봅니다.
Anthropic의 에이전트 격리 설명은 모델의 판단과 실행 환경의 접근 제한을 구분합니다. 모델이 공격 지시를 거절하도록 훈련하는 방법과, 도구가 허용 범위 밖의 파일을 읽지 못하도록 제한하는 방법은 함께 쓸 수 있습니다. 승인된 연결 도구가 가져온 자료에도 악성 지시가 있을 수 있습니다. 연결 서비스에 대한 신뢰와 그 안에 올라온 개별 문서의 신뢰는 따로 판단해야 합니다.
회의록 예시에서 요약 전용 계정에 문서 읽기 권한만 주면, 문서 안의 지시 때문에 파일을 수정하는 경로를 줄일 수 있습니다. 외부 공유가 필요한 제품이라면 받는 사람과 공유할 문서를 실제 요청과 대조하는 절차가 필요합니다. 허용된 도메인에 접속한다는 사실만으로 정보 전송이 안전해지는 것도 아닙니다. 같은 서비스 안에서도 어느 계정에 어떤 자료를 보내는지가 달라질 수 있습니다.
방어는 입력과 결과, 실행을 나누어 설계합니다
입력에서는 시스템 지시와 외부 자료를 분리하고 자료의 출처를 표시합니다. 외부 문서 속 명령을 작업 지시로 따르지 않도록 설명하는 것도 도움이 됩니다. 다만 특정 금지어를 찾는 필터만으로 모든 공격을 걸러내기는 어렵습니다. 문구를 바꾸거나 다른 형식으로 지시를 전달할 수 있기 때문입니다. OWASP의 방어 지침은 입력 처리, 출력 확인, 최소 권한을 함께 다룹니다.
결과를 확인할 때는 원래 요청과 맞는지, 출처에 없는 주장을 덧붙였는지, 비공개 정보가 포함됐는지를 봅니다. 구조화된 출력으로 정해진 필드만 받으면 확인할 범위를 좁히는 데 도움이 됩니다. 하지만 JSON 형식이 맞더라도 내용이 조작됐을 수 있으므로 값의 의미를 따로 확인해야 합니다. 모델 기반 가드레일 역시 공격에 영향을 받을 수 있어 단독 방어로 과신하지 않습니다.
실행 단계에서는 서버가 사용자의 권한과 도구 인자를 확인하도록 만듭니다. 삭제나 외부 전송처럼 영향이 큰 작업은 실행 대상과 내용을 사람이 확인하게 할 수 있습니다. 프롬프트 인젝션을 발견하면 어떤 자료를 읽은 뒤 작업이 달라졌는지, 실제로 어떤 도구가 실행됐는지를 기록합니다. 이런 기록이 있어야 잘못된 답변에서 끝난 사건과 정보가 외부로 나간 사건을 구분하고 필요한 조치를 정할 수 있습니다.
관련 용어
프롬프트 인젝션와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
관련 글
glossary에서 개념을 잡고 관련 글로 넘어가면 실제 문맥 이해가 쉬워집니다.
