프롬프트 인젝션이란 무엇인가요?
프롬프트 인젝션은 악의적으로 조작한 입력을 넣어, AI 모델이 원래 받은 지시를 무시하고 공격자가 의도한 대로 동작하게 만드는 공격 기법입니다. 사람을 속이는 사회공학과 비슷한 방식이 AI에 적용된 형태로 볼 수 있습니다.
AI가 외부 문서·웹페이지·이메일 등을 읽어 처리하는 환경이 늘면서 보안상 중요한 위협으로 다뤄집니다.
프롬프트 인젝션은 어떤 종류가 있나요?
크게 사용자가 대화창에 직접 악의적 지시를 넣는 '직접 인젝션'과, AI가 읽는 웹페이지·문서·데이터 안에 숨겨 둔 지시가 발동되는 '간접 인젝션'으로 구분됩니다.
특히 간접 인젝션은 사용자가 인지하지 못한 채 외부 콘텐츠를 통해 발생할 수 있어, 도구를 다루는 에이전트 환경에서 더 주의가 필요합니다. (구체적 공격 문구는 이 글에서 다루지 않습니다.)
프롬프트 인젝션과 탈옥(제일브레이크)은 무엇이 다른가요?
제일브레이크는 모델의 안전 정책 자체를 우회해 금지된 답을 끌어내려는 시도인 반면, 프롬프트 인젝션은 모델이 따르던 '원래 지시'를 외부 입력으로 덮어써 가로채는 데 초점이 있습니다.
둘은 겹치는 부분도 있지만, 인젝션은 특히 외부 데이터를 신뢰해 처리하는 구조에서 문제가 된다는 점이 다릅니다.
프롬프트 인젝션은 어떻게 방어하나요?
완벽한 차단은 어렵지만, 신뢰할 수 없는 외부 입력과 시스템 지시를 분리해 다루고, AI에 주는 권한을 꼭 필요한 만큼으로 최소화하며, 민감한 행동 전에는 사람의 확인을 두는 것이 기본 방어입니다.
또한 모델의 출력과 도구 실행 결과를 검증하고 이상 행동을 모니터링하는 등, 여러 겹의 방어를 함께 두는 접근이 권장됩니다.