프롬프트 인젝션(Prompt Injection)은 사라지지 않을 것이다 — Jason Haddix가 말하는 아무도 인정하고 싶지 않은 아키텍처
요약
보안 전문가 Jason Haddix는 현재의 트랜스포머 아키텍처 구조상 프롬프트 인젝션은 완전히 해결할 수 없는 영구적인 특징이라고 주장합니다. 그는 공격 방식이 단순한 우회에서 복합적인 프레임워크 형태로 진화하고 있으며, 완벽한 제거보다는 완화(mitigation)에 집중해야 한다고 강조합니다.
핵심 포인트
- 트랜스포머 구조상 지시 사항과 데이터의 실질적 분리가 불가능함
- 프롬프트 인젝션은 버그가 아닌 AI 아키텍처의 영구적 특성임
- 공격 프레임워크는 목적, 기술, 회피 계층의 세 부분으로 진화함
- 프론티어 모델은 단순 탈옥보다 복합적인 공격 기법에 대응 중임
약 두 달 전, Secure Disclosure 팟캐스트(@the Secure Disclosure)에서 진행된 인터뷰에서, 레드 팀(red team) 및 공격 보안(offensive security) 작업으로 알려져 있으며 최근에는 AI 시스템 펜테스팅(pentesting) 연구로 주목받고 있는 Jason Haddix는 모든 AI 보안 연구자가 결국 마주하게 되는 질문을 받았습니다. 즉, 이것이 실제로 해결 가능한 문제인가, 아니면 우리가 영구적으로 갇혀 있는 것인가 하는 질문입니다.
Haddix는 'The Bug Hunter’s Methodology'를 포함하여 웹 해킹 및 버그 헌팅(bug hunting)을 위한 업계 표준 방법론을 구축하는 데 수년을 보냈습니다. 이 방법론은 여전히 활발히 유지되고 있으며, 'The Web Application Hacker’s Handbook'과 같은 출간된 서적들과 함께 핵심 필독서로 인용되고 있습니다. 그의 이력에는 Ubisoft의 CISO, HP의 Shadow Labs에서의 침투 테스트(penetration testing) 디렉터, 그리고 2014년 Bugcrowd 연구자 리더보드 1위 등이 포함됩니다. 요즘 그는 레드 팀 교육 및 컨설팅에 집중하는 Arcanum Information Security를 운영하고 있습니다.
그의 답변은 상쾌할 정도로 직설적이었습니다. LLM(대규모 언어 모델)이 현재의 트랜스포머/어텐션(transformer/attention) 아키텍처를 유지하는 한, 지시 사항(instructions)과 데이터(data) 사이에는 실질적인 분리가 존재하지 않습니다. 모델에게는 그저 모두 텍스트일 뿐입니다. 만약 당신이 개발자라면, 이것이 수정할 수 있는 버그가 아니라는 점을 이미 알고 있었을 것입니다. 이것은 AI 세계의 영구적인 특징입니다. 그것은 이 모든 것이 기반을 두고 있는 토대입니다. 그는 업계의 낙관적인 목소리들 — 그는 Dario Amodei와 Sam Altman을 언급했습니다 — 조차도 제거(elimination)가 아닌, 아마도 98%의 완화(mitigation)에 도달하는 것에 대해 이야기한다고 지적했습니다. 그리고 그는 이를 일반적인 웹 보안의 현재 상태와 비슷하다고 규정했습니다. 즉, 불완전하지만 작동 가능한 상태 말입니다.
왜 과거의 탈옥(jailbreaks) 방식이 더 이상 작동하지 않는가
Haddix는 그 진화 과정을 짚어보았습니다. 초기 프롬프트 인젝션 (Prompt Injection) 시대는 거의 신기한 구경거리 수준이었습니다. 단순한 "이전의 모든 지침을 무시하세요 (ignore all previous instructions)"와 같은 속임수나, 위험한 것을 할머니가 들려주는 잠자리 이야기 형식으로 설명해 달라고 요청하는 서사적 우회 방식 같은 것들이었죠. 오늘날의 기준으로 보면 귀여운 수준입니다. 그는 그러한 방식들이 여전히 작동하지만, 주로 오픈 소스 (Open-source) 모델이나 안전 튜닝 (Safety-tuned)이 덜 된 모델에서만 그렇다고 언급했습니다. Claude Code나 GPT-5와 같은 도구의 기반이 되는 프론티어 모델 (Frontier models)에서는 그런 범주의 공격이 더 이상 즉각적으로 통하지 않습니다. 이제는 기술들을 결합해야 합니다.
그가 현재 공격을 생각할 때 사용하는 프레임워크는 세 부분으로 나뉩니다. 모델에게 실제로 시키려는 것이 무엇인지, 그것을 시도하기 위해 사용된 구체적인 기술은 무엇인지, 그리고 모델을 보호하고 있는 것들—안전 훈련 (Safety training), 분류기 (Classifier), 프롬프트 기반 필터 (Prompt-based filter), 또는 이들의 조합—을 통과하기 위해 필요한 회피 계층 (Evasion layer)입니다.
모델을 사용하여 모델을 보호하기
인터뷰어가 프롬프트 인젝션 방어 제품의 현재 상태에 대해 질문하자, Haddix는 솔직하게 답변했습니다. 모델을 방어하기 위해 모델을 사용하는 것이, 혹은 분류(Triage)든 더 심층적인 작업이든 모델과 싸우기 위해 모델을 사용하는 것이 이상하게 느껴질 수 있다는 것입니다. 사실, 비를 간절히 기도해 온 사람이라면 진흙을 다루는 것에도 만족해야 합니다.
그는 자신의 견해를 확정적인 기업용 권장 사항이 아니라 공격 연구자 (Offensive researcher)의 관점으로 제시하려 주의를 기울였습니다. 하지만 그 관점에서 볼 때, 계층적 방어 (Layered defense)야말로 실제로 공격 비용을 높이는 방법입니다. 그의 기본 권장 사항은 다음과 같습니다. 우선 일반적인 인젝션 패턴에 대해 의미 있는 안전 튜닝 (Safety tuning)이 이미 내장되어 있는 잘 훈련된 파운데이션 모델 (Foundation model)로 시작한 다음, 그 위에 추가적인 방어 계층을 쌓는 것입니다.
이것이 에이전트 기반 보안 도구 (Agent-based security tools)에 중요한 이유
이는 Halo와 같은 도구를 포함하여, LLM (Large Language Model) 기반으로 에이전트형(agentic) 시스템을 구축하고 있다면 반드시 깊이 고민해 보아야 할 지점과 일치합니다. Haddix가 설명하는 '지시사항 대 데이터 (instructions-vs-data)' 문제는 챗봇에만 국한된 것이 아닙니다. 이는 스캔 결과, 로그 파일 또는 스크래핑된 웹 콘텐츠를 파싱하는 에이전트에게도 잠재적인 공격 표면 (attack surface)으로서 동일하게 적용됩니다. 자율 시스템이 신뢰할 수 없는 텍스트를 입력받는 모든 곳은, 해당 텍스트가 모델이 따라서는 안 될 지시사항을 포함할 수 있는 지점이 됩니다.
실질적인 시사점은 "문제가 해결될 때까지 기다려라"가 아닙니다. Haddix는 현재의 아키텍처 하에서는 이 문제가 완전히 해결되지 않을 수도 있다고 매우 명확하게 밝히고 있습니다. 대신, 프롬프트 인젝션 (Prompt Injection) 저항력을 기존의 다른 보안 영역이 방어를 다루는 방식과 동일하게 취급해야 한다는 것입니다. 즉, 계층화되어 있어야 하며, 불완전할 수 있음을 가정해야 하고, 비록 실패가 전혀 없다는 보장은 없더라도 공격자의 작업을 더 어렵게 만드는 데 드는 한계 비용을 지불할 가치가 있다는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기