요즘 다양한 AI 서비스의 시스템 프롬프트가 GitHub에 종종 공유되고 있습니다. Anthropic처럼 운영사가 시스템 프롬프트 원문을 직접 공개하는 일도 있지만, 대부분은 비공개인데요. 이런 비공개 시스템 프롬프트는 어떻게 유출된 걸까요?
상당수는 프롬프트 인젝션으로 탈취됐을 가능성이 높습니다. 프롬프트 인젝션은 AI 시스템에 악성 지시를 입력해 의도하지 않은 동작을 유발하는 보안 공격 기법입니다. 조작된 입력으로 AI가 보호된 시스템 프롬프트나 초기 설정을 노출하도록 유도하죠.
프롬프트 인젝션은 주로 LLM을 노립니다. LLM은 명확한 규칙을 따르는 구조화된 명령어가 아니라, 비정형화되고 모호한 자연어 입력을 확률적으로 처리하는 시스템인데요. 이에 엄격한 규칙을 기반으로 보안 공격을 차단하기가 어렵죠. 입력값 검증이나 매개변수화된 쿼리로 대부분 공격을 예방할 수 있는 SQL 인젝션*과 대조적입니다.
최근 LLM 기반 서비스가 급증하면서 프롬프트 인젝션은 엔지니어의 필수 보안 상식이 됐는데요. 이 글에서는 프롬프트 인젝션의 위험성과 원리, 공격 유형, 실제 사례, 방어 대책을 살펴보겠습니다.
*SQL 인젝션: 웹 애플리케이션 공격 기법. 구조가 명확한 데이터베이스(DB)에 악성 쿼리를 넣어 공격하는 방식. 로그인 창에 ' OR '1'='1' --과 같은 문장을 입력해 데이터를 유출하거나 조작할 수 있음

프롬프트 인젝션의 위험성
프롬프트 인젝션은 AI 시 스템에 악성 지시를 입력해 의도하지 않은 동작을 유발하는 보안 공격 기법입니다. 공격자는 이 기법으로 시스템의 제한사항을 우회하거나, 민감 정보를 유출하거나, 뜻하지 않은 결과를 생성하도록 유도할 수 있죠. 시스템 프롬프트가 노출되는 것도 대표적 예입니다.
최근 LLM이 핵심 업무에 폭넓게 활용되면서 프롬프트 인젝션의 중요성은 더욱 높아지고 있습니다. 이제 LLM은 단순한 텍스트 생성기를 넘어 AI 에이전트의 두뇌 역할을 하는데요. AI 에이전트는 LLM을 기반으로 다양한 컨텍스트를 고려해 판단하고 API 호출, DB 조작, 코드 실행, PC와 브라우저 제어 등 광범위한 작업을 수행합니다. 고객 상담, 이메일 분류/발송, 보안 모니터링도 담당하죠.
이처럼 AI 에이전트가 여러 핵심 업무를 담당하기에, 프롬프트 인젝션이 발생하면 금전적 손실과 보안 위협 등 큰 피해가 생길 수 있습니다. 고객 서비스 챗봇이 승인되지 않은 환불을 처리하거나, 고객 개인정보를 유출할 수 있고요. 코딩 어시스턴트는 백도어를 심거나, 기업의 내부 시스템에 접근할 위험이 있죠. 또 보안 모니터링 AI가 해킹당해 침입 경보를 무시하거나, 로그를 삭제해 공격을 은폐할 수도 있습니다.
프롬프트 인젝션의 위험성은 업계에서도 공식적으로 인정하고 있습니다. 웹 애플리케이션 보안 분야의 글로벌 비영리 단체인 OWASP는 ‘Top 10 for LLM Applications 2025’에서 프롬프트 인젝션을 첫 번째 보안 위협(LLM01:2025)으로 분류했습니다.