프롬프트 인젝션이란? AI 보안 구멍, 패치로는 못 막는 이유

AI에 악성 명령어를 몰래 심는 프롬프트 인젝션, 완벽 차단이 왜 불가능한지 직접·간접 공격 차이와 기업·개인 방어법까지 정리했다.

메일 요약 좀 해달라고 AI한테 맡겼다가 계좌 정보까지 통째로 빠져나간 사례가 실제로 보고됐다. 범인은 해커도 아니고, 이메일 본문 속에 숨어있던 몇 줄짜리 명령어였다. 이런 수법을 프롬프트 인젝션이라 부르는데, 국제 머신러닝 학회 ICML에서 나온 논문 하나가 “이건 근본적으로 막을 방법이 없다”는 결론을 내면서 업계가 시끄러워졌다. 챗GPT, 클로드, 제미나이 쓰는 사람이라면 한 번은 짚고 가야 할 얘기다.

프롬프트 인젝션, 정확히 뭘 말하는 걸까

원래 하려던 일과 다른 명령을 몰래 끼워 넣어서 AI가 엉뚱한 행동을 하게 만드는 공격이다. SQL 인젝션이 데이터베이스 쿼리에 악성 코드를 심는 방식이랑 비슷하다고 보면 된다. 다만 프롬프트 인젝션은 AI가 읽는 텍스트 안에 지시문을 숨긴다는 게 다르다. 진짜 문제는 여기서 생긴다. LLM은 사용자가 직접 던진 질문외부에서 끌어온 데이터를 구분하지 못한다. 둘 다 똑같은 텍스트로 취급되니까, 이메일 본문이나 웹페이지, PDF 파일 안에 명령어 몇 줄 심어두면 모델이 그걸 진짜 지시로 착각해버린다.

왜 패치 하나로 안 끝날까

일반 소프트웨어 취약점은 패치 한 번 돌리면 대개 해결된다. 근데 프롬프트 인젝션은 LLM 설계 자체에서 나온 구조적 문제라 얘기가 다르다. 앞서 언급한 논문은, 모델이 지시문과 데이터를 구분하는 별도 채널을 갖추지 않는 이상 어떤 필터나 규칙을 얹어도 우회로가 생긴다고 못 박는다. 방화벽 하나 세운다고 끝나는 일이 아니다. 새로운 우회 문장이 나올 때마다 계속 땜질해야 하는 구조랄까. 지금까지 나온 방어책들도 대부분 특정 패턴만 막는 임시방편에 가깝다. 문장 어순만 살짝 바꿔도 뚫리는 경우가 허다하다.

직접 공격이랑 간접 공격, 뭐가 다른가

공격 방식은 크게 두 가지로 나뉜다.

  • 직접 인젝션: 챗봇 창에 사용자가 직접 “이전 지시는 무시하고 이렇게 답해”라고 입력하는 방식
  • 간접 인젝션: 이메일, 웹페이지, 문서 파일처럼 AI가 나중에 읽을 콘텐츠 안에 악성 명령을 미리 심어두는 방식

둘 중 더 위험한 쪽은 간접 인젝션이다. 공격자가 피해자의 AI랑 직접 대화할 필요조차 없다. 피해자가 평소 자주 쓰는 이메일이나 웹사이트에 덫만 놓으면 끝. AI 검색 요약 기능이나 브라우저 자동화 에이전트가 늘면서 이런 유형의 공격 표면도 같이 넓어지는 추세다.

실제로 터진 사고들

협업 툴에 붙은 AI 에이전트가 악성 이슈 코멘트를 읽고 내부 코드나 API 키를 유출한 사례가 있었다. 이력서 파일에 흰 글씨로 지시문을 숨겨서 채용 AI가 무조건 “적합” 판정을 내리게 만든 사례도 있다. 브라우저를 대신 조작하는 AI 에이전트한테 가짜 쇼핑몰 페이지를 읽히면 사용자 몰래 결제까지 진행시킨다는 실험 결과도 나왔다. 아직 대형 금융사고로 번진 사례는 드물다. 근데 공격 난이도가 낮은 편이라 보안 담당자들 입장에선 긴장할 수밖에 없다.

기업들이 쓰는 방어책

완벽한 해법은 없어도 피해를 줄이는 방법은 있다.

  • 권한 최소화: AI 에이전트한테 꼭 필요한 권한만 주고, 결제나 파일 삭제 같은 민감한 작업은 사람이 한 번 더 확인하게 한다
  • 입력 출처 분리: 사용자 지시와 외부 문서를 시스템 프롬프트 단계부터 구분해서 표시한다
  • 샌드박스 실행: AI가 돌리는 코드나 명령을 격리된 환경에서만 실행해서 실제 시스템에 손을 못 대게 막는다
  • 이상 행동 탐지: 평소와 다른 API 호출 패턴이 잡히면 바로 세션을 끊는 모니터링 체계를 둔다

구글, 마이크로소프트, 앤스로픽 같은 회사들이 자체 레드팀 굴리면서 이런 공격 시나리오를 상시로 점검하는 것도 같은 이유다.

개인이 챙기면 좋은 습관

일반 사용자 입장에서도 몇 가지만 신경 쓰면 위험을 줄일 여지가 있다.

  • 출처 불분명한 이메일이나 문서를 AI한테 그대로 요약·처리시키지 않기
  • AI 브라우저 확장 프로그램이나 자동화 툴에 결제, 계정 접근 권한을 폭넓게 주지 않기
  • AI가 갑자기 평소와 다른 답변이나 링크를 내놓으면 한 번 의심해보기
  • 업무용 민감 정보는 외부 데이터를 같이 읽는 AI 도구에 올리지 않기

기술적으로 완벽히 막을 수 없는 문제라면, 결국 사용자 쪽에서 노출 표면을 줄이는 게 제일 현실적인 대응이다.

핵심만 3줄 요약

정리해보자. 프롬프트 인젝션은 LLM이 지시문과 데이터를 구분 못 하는 구조적 한계에서 나온다. 패치 하나로 끝날 문제가 아니라 권한 관리, 입력 분리, 모니터링을 겹겹이 쌓아야 하는 영역이다. AI 에이전트가 이메일 읽고 결제하고 코드까지 실행하는 시대로 갈수록, 이 취약점 마주칠 일은 늘어난다고 봐야 한다. AI 도구를 업무에 들이는 조직이라면 편의성만큼이나 권한 설계부터 먼저 점검해볼 일이다.

출처: MIT Tech Review AI

AI리서치팀

AI리서치팀

Home-In-One AI리서치팀은 인공지능, 머신러닝, 생성형 AI의 최신 동향과 실용적 활용법을 연구합니다. ChatGPT, 클로드, 미드저니 등 AI 도구 비교 분석과 활용 가이드를 제공합니다.