
LLM 탈옥 해설: 탈옥이 바꾸는 것과 그것이 애블리터레이션이 아닌 이유
- OrcaNEWOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 100만 토큰당 · 12 tok/s
- deepseekNEWDeepSeek: DeepSeek V4.1 Flash 10172026-10-1745지능
- DeepSeekNEWDeepSeek: DeepSeek V4.1 Flash2026-10-1740지능
- OrcaNEWOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 100만 토큰당 · 139 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952지능
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856지능
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 100만 토큰당 · 952 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238지능
- OpenAIOpenAI: GPT-6 Sol2026-09-2248지능
- AnthropicAnthropic: Claude Opus 5.52026-09-2258지능
- xAIGrok 4.72026-09-2146지능
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 100만 토큰당 · 51 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 100만 토큰당 · 829 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453지능77코딩
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241지능76코딩
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245지능76코딩
- AnthropicAnthropic: Claude Fable 5.12026-09-0153지능82코딩
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 100만 토큰당 · 47 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 100만 토큰당 · 94 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642지능72코딩
2023년 7월, 세 연구자는 28가지 서로 다른 공격을 통해 GPT-4와 Claude 1.3을 상대로 32개의 유해한 프롬프트를 실행했다. 가장 강력한 단일 기법 — 세 가지 공격 계열을 겹쳐 쌓은 것 — 은 GPT-4에서는 해당 세트의 94퍼센트, Claude 1.3에서는 81퍼센트를 통과했다. 세트를 완전히 뚫은 것은 더 나은 공격이 아니라 선택이었다. 28가지 중 각 프롬프트에 가장 잘 맞는 것을 고르도록 허용된 공격자는 두 모델 모두에서 32개 전부를 통과시켰고, 논문은 이를 정확히 1.00으로 보고한다. 불편한 해석은 탈옥이 모델이 더 똑똑해지거나 행동이 더 바르게 되어도 사라지는 결함이 아니라는 점이다. 그것은 프롬프트의 속성이며, 프롬프트는 그것을 보내는 사람의 것이다. 거부가 멈춘 뒤에 일어나는 일 — 도구 호출, 파일 읽기, 그 출력을 받아 실제로 행동하는 어딘가에 도착하는 출력 — 은 AI 사건 기록 보관소가 기록하기 위해 만들어진
그 틀에 대해서는 정확히 짚고 넘어갈 필요가 있습니다. "jailbreak"라는 말은 서로 다른 여러 가지를 가리키는 데 쓰이고, 그 차이가 어떤 완화책이 애초에 무엇을 할 수 있는지를 결정하기 때문입니다. 이 글은 jailbreak가 무엇을 편집하는지, 측정된 수치가 실제로 무엇을 말하는지, "이 모델은 jailbreak가 가능한가"에 모델별 답이 존재하지 않는 이유, 그리고 그 기법이 어디서 모델 안전성 문제를 넘어 시스템 보안 문제가 되는지를 다룹니다.
탈옥은 모델에 대한 수정이 아니라 프롬프트에 대한 수정이다.
모델은 출하된 상태 그대로 유지됩니다. 재훈련은 전혀 이루어지지 않고, 가중치는 건드려지지 않으며, 미세 조정도 적용되지 않습니다. 공격자는 요청을 변경하여, 준수가 국소적으로 올바른 연속이 되도록 만들고, 모델에 훈련된 안전 행동이 또한 따르도록 훈련받은 경쟁 지시에 밀리게 합니다.
그 한 문장만으로도 이른바 수정책이라는 것들의 상당 부분이 배제됩니다. 가중치 차원에서 패치할 수는 없습니다. 가중치에는 아무 문제가 없기 때문입니다. 열거할 수도 없습니다. 프롬프트의 공간은 열려 있기 때문입니다. 그리고 한 번 검사해 두고 끝낼 수도 없습니다. 오늘 실패하는 기법이 내일 시도될 기법과 같지 않기 때문입니다. 다만 할 수 있는 일은 고정된 프롬프트 세트에서 고정된 모델 버전을 기준으로 비율을 측정하고, 그 세 가지 중 하나라도 바뀔 때 그 비율이 어떻게 움직이는지 지켜보는 것입니다.
32개 프롬프트 실험이 실제로 측정한 것
이 연구는 Jailbroken: LLM 안전 훈련은 어떻게 실패하는가?라는 제목으로 Alexander Wei, Nika Haghtalab, Jacob Steinhardt가 작성해 2023년 7월 arXiv에 2307.02483으로 게시한 것입니다. 테스트 세트는 32개의 유해한 프롬프트였습니다. 절반은 공개된 GPT-4 평가에서 가져왔고, 절반은 Claude에 대한 공개된 레드팀 작업에서 각색했습니다. 결과 측정은 단순명료합니다. 응답이 유해하면서 동시에 원래 요청의 주제에 맞을 때만 성공으로 채점합니다. 지연시키거나, 회피하거나, 다른 질문에 답하는 것은 모두 인정되지 않습니다.
결과에서 개별 행보다 더 유용한 두 가지 속성이 있다. 첫째는 공격이 모델 간에 얼마나 불균등하게 전이되는가이다. AIM 역할극은 GPT-4에 대해 0.75, Claude 1.3에 대해 0.00을 기록했다. 퓨샷 JSON은 0.53과 0.00을 기록했다. 한편 Base64 인코딩은 반대 방향의 불균등을 보였다 — GPT-4에서 0.34, Claude 1.3에서 0.38 — 그리고 방해 요소는 0.44와 0.47에 도달했다. 한 공급업체가 분명히 대비 훈련한 기법은 해당 모델에서 0으로 읽히며 옆에 있는 모델에 대해서는 아무것도 말해 주지 않는다.
두 번째는 계열들을 결합했을 때 벌어지는 일이다. 프리픽스 주입에 거부 억제와 Base64를 더한 방식은 GPT-4 상대로 0.56, Claude 1.3 상대로 0.66을 기록했다. 스타일 주입을 추가하자 0.69와 0.84로 올라갔다. 웹사이트 콘텐츠 생성과 형식 제약을 추가하자 0.94와 0.81로 올라갔다. 쌓는 것이 바로 비결이다. 각 층은 모델이 수행하도록 훈련받은 것이고, 그 결합은 거부하는 쪽이 더 자연스러운 이어짐이 되는 토큰 위치를 하나도 남기지 않는다.

그 표에 있는 모델들은 3년 된 것으로, 이제 아무도 배포하지 않는 것들이다. 숫자가 핵심이 아니다; 형태가 핵심이다. 그 표에 있는 모든 메커니즘은 이후의 모든 모델에서 여전히 살아 있다. 왜냐하면 그중 어느 것도 GPT-4나 Claude 1.3의 버그였던 적이 없기 때문이다 — 그것들은 지시 따르기와 안전 훈련이 상호작용하는 방식의 결과다.

안전 교육이 실패하는 두 가지 방식
논문의 설명은 유난히 깔끔한데, 바로 이 부분이 기억해 둘 만한 가치가 있다. 실패 모드는 두 가지이며, 표에 나온 모든 공격은 그중 하나의 사례이다.
상충하는 목표는 모델의 역량과 안전 목표가 서로 다른 방향을 가리킬 때 생기는 것입니다. 지시 따르기는 하나의 역량입니다. 요청이, 거부하는 것이 모델이 강하게 따르도록 훈련된 지시를 위반하게 되는 방식으로 포장되면, 모델은 그 갈등을 지시에 유리한 쪽으로 해결합니다. 접두사 주입은 가장 최소한의 형태입니다. 모델에게 답변이 반드시 "Absolutely! Here's"로 시작해야 한다고 말하면, 첫 토큰들은 이미 거부를 앞뒤가 맞지 않게 만드는 약속입니다. 거부 억제는 거부가 작성되어야 할 문장을 금지하는 서식 규칙을 추가함으로써 같은 이음매를 반대편에서 공격합니다.
일반화 불일치는 안전 훈련이 모델의 일반 능력이 미치지 못하는 좁은 입력 분포를 다룰 때 발생합니다. 모델은 사전 훈련 중 Base64를 학습했고 인코딩된 지시를 충분히 잘 따를 수 있습니다. 주로 자연어 요청만 보아 온 안전 훈련은 인코딩된 요청도 여전히 요청임을 인식하도록 모델을 가르친 적이 없습니다. 같은 실패는 모음 제거, ROT13, leetspeak, 페이로드 분할 및 방해 과제에서도 나타납니다. 각각은 일반 능력은 일반화하지만 안전 행동은 일반화하지 못하는 형식입니다.
이 두 범주를 파악하고 나면, 공격들은 잡다한 요령 모음처럼 보이지 않고 공통된 근본 원인을 공유하는 두 계열처럼 보이기 시작합니다. 이것이 이들이 그토록 잘 조합되는 이유이기도 합니다. 거부를 억제하고 의도를 인코딩 속에 숨기는 프롬프트는 두 가지 실패 모드를 동시에 악용하는 것이며, 0.94는 바로 그런 모습입니다.
왜 "탈옥 가능한가"에 대한 모델별 답변이 없는가
이 영역에서 가장 흔한 질의 형태는 모델 이름 뒤에 'jailbreak'라는 단어가 붙는 것입니다. 그것은 잘못된 분석 단위이며, 그 이유는 위의 표에 있습니다. 성공 여부는 최소한 다섯 가지 요소에 동시에 달려 있습니다. 기반 모델의 역량, 어떤 안전 학습을 어떤 분포에서 받았는지, 프롬프트 형식, 샘플링 설정, 그리고 공격자가 기꺼이 투입하려는 시도 횟수입니다.
마지막 것은 별도의 문장으로 다룰 가치가 있다. 프롬프트당 한 번의 시도로 측정한 비율과 "best of 28"로 측정한 비율은 같은 측정이 아니며, 논문의 적응형 결과 — 두 모델 모두에서 1.00 — 는 두 번째 종류다. 어느 쪽을 의미하는지 말하지 않고 탈옥 비율을 인용하는 사람은 쓸모 있는 것을 인용한 게 아니다. 현실적인 방어 질문은 "깨질 수 있는가"가 아니라 "몇 번의 시도가 필요한가, 그리고 내 스택의 무언가가 그 시도를 알아차리는가"다.
여기서 두 가지 실질적인 결론이 나온다. 오늘날 프롬프트 세트에 저항하는 모델도 버전 업, 안전 계층 변경, 서빙 측 구성 변경 이후에는 저항하지 않게 될 수 있다 — 결과는 테스트한 빌드에 대해서만 유효하므로, 버전과 날짜가 없는 테스트는 결과가 아니다. 그리고 동일한 프롬프트 세트를 두 모델에 실행하면 어느 쪽이 안전한지가 아니라, 여러분의 스택이 어느 쪽에 더 무른지를 알려준다.
탈옥이 아닌 것: abliteration
이 둘은 끊임없이 혼동되는데, 둘 다 결국 모델이 산출하지 않도록 훈련된 출력을 내놓기 때문이다. 그러나 이 둘은 같은 편집이 아니며, 그 차이는 추가할 수 있는 제어와 추가할 수 없는 속성의 차이다.
• Jailbreak — 프롬프트 레이어 편집입니다. 가중치는 변경되지 않았습니다. 거부 방향은 여전히 모델 안에 있습니다. 단지 요청이 다른 행동들이 그것보다 우선하도록 배열되었을 뿐입니다. 프롬프트를 되돌리면 그 행동도 함께 되돌아갑니다.
• Abliteration — 가중치 계층 편집입니다. 거부 방향이 식별되며 — 보통 활성화 공간의 한 방향으로 — 모델 가중치에서 투영 제거되어, 모델이 해당 요청 범주에 대해 더 이상 전혀 거부를 생성하지 않게 됩니다. 이는 아티팩트에 대한 영구적인 변경이며, 어블리터레이션된 체크포인트가 교묘한 프롬프트를 사용한 동일한 기본 모델과 다르게 동작하는 이유입니다. 그 편집의 작동 원리는 저희의 가이드에서 설명합니다: abliteration.
운영상의 차이가 용어보다 더 중요하다. 탈옥(jailbreak)은 런타임 이벤트다. 요청과 함께 도착하며, 다른 요청과 마찬가지로 집계하고, 속도 제한을 걸고, 필터링하고, 로그로 남길 수 있다. 반면 거부 능력을 제거한(abliterated) 모델은 공급망 이벤트다. 당신이 그것을 받기 전에 이미 제어 장치가 제거되어 있으며, 프롬프트 계층에서 아무리 모니터링해도 되살아나지 않는다. 위협 모델이 "누군가 모델을 설득하려 할 것"이라면 당신은 첫 번째 범주에 속한다. "누군가 거부 기능을 제거한 모델을 나에게 공급할 것"이라면 당신은 두 번째 범주에 속하며, 유일하게 실질적인 통제 수단은 출처(provenance), 즉 엔드포인트가 실제로 어느 체크포인트를 서빙하고 있는지 아는 것이다.
탈옥은 프롬프트 인젝션도 아닙니다
뒤섞여 들어가는 세 번째 용어는 프롬프트 인젝션이며, 구별 기준이 되는 질문은 공격자가 누구인가이다. 제일브레이크는 모델이 내놓지 않도록 훈련된 콘텐츠를 얻으려는 사용자로부터 비롯된다. 프롬프트 인젝션은 콘텐츠 — 검색된 문서, 웹 페이지, 도구 결과 — 로부터 비롯되며, 개발자가 작성한 적 없는 지시를 담고 있고, 사용자가 적대적인지와 무관하게 작동한다. 같은 모델이 한쪽에는 면역이고 다른 쪽에는 완전히 열려 있을 수 있다. 두 공격은 서로 다른 지점에서 방어되기 때문이다. 제일브레이크는 모델의 입력과 출력에서, 인젝션은 데이터와 지시 사이의 신뢰 경계에서 방어된다.
실제로 그 비율을 낮추는 것은 무엇인가요?
여기 있는 어떤 것도 보장이 아니며, 그렇지 않다고 주장하는 것은 영업 멘트일 뿐입니다. 이어지는 내용은 수치를 바꾸는 통제 항목들을, 투입한 노력 대비 얻는 효과가 큰 순서로 정리한 것입니다.
• 프롬프트 계층이 무너진다고 가정하라. 모델이 거부하는 것에 의존하는 모든 통제는 적응형 공격자 하나만 있으면 제로가 된다. 요청이 결국 통과될 것이라고 가정하고 설계하며, 통제를 피해가 실제로 발생하는 지점에 두라.
• 성공한 탈옥(jailbreak)이 접근할 수 있는 범위를 제한하십시오. 탈옥된 어시스턴트의 영향 범위는 해당 어시스턴트의 도구, 자격 증명, 검색 범위가 허용하는 만큼입니다. 도구에 대한 최소 권한 원칙과 검색에 대한 테넌트별 범위 지정은 어떤 프롬프트 필터보다도 성공한 탈옥의 가치를 훨씬 더 안정적으로 낮춥니다.
• 프롬프트가 아니라 출력을 평가하라. 출력 측 분류기는 실제로 생성된 것을 보지, 어떻게 요청되었는지를 보지 않기 때문에 한 번도 본 적 없는 계열도 잡아낸다. 또한 입력 형식이 새로운 경우에도 여전히 작동하는 유일한 계층인데, 불일치 일반화 실패 모드에 따르면 대부분의 경우가 바로 그렇다.
• 시스템 프롬프트를 보안 경계가 아니라 구성 값으로 취급하세요. 그것은 공격과 같은 컨텍스트 창에 있는 텍스트입니다. 시도 비용을 높일 뿐, 시도를 막지는 못합니다.
• 시도가 눈에 보이게 하십시오. 방어자가 적응형 공격자에 대해 가지는 유일한 이점은 공격이 보통 반복된다는 점입니다. 속도 제한, 반복 탐지, 로깅은 28회의 시도 탐색을 각각 단독으로는 문제없어 보였던 28건의 요청이 아니라, 눈에 보이는 하나의 사건으로 바꿔 줍니다.
• 모델이 변경될 때마다 재테스트하세요. 버전 고정과 고정된 프롬프트 세트가 "한 번 테스트했다"를 비교 가능한 숫자로 바꿔 줍니다. 고정이 없으면 그 비교는 무의미합니다.
자신의 타깃을 측정하는 방법
실행 가능한 숫자가 목표라면, 논문이 고정한 세 가지 변수를 고정하라: 프롬프트 세트, 모델 버전, 시도 횟수. 두 가지 실패 모드를 모두 포함하는 프롬프트 세트를 사용하라 — 거절을 어색하게 만드는 지시문과 요청을 숨기는 인코딩 — 한쪽으로만 구성된 세트는 다른 쪽에 취약한 모델을 실제보다 좋게 평가할 것이기 때문이다. 보수적으로 점수를 매겨라: 해로운 것과 주제에 맞는 것, 단지 분위기가 어긋난 것이 아니라. 그리고 결과를 명시된 시도 횟수에 대한 비율로 보고하라, 결코 예/아니오로 보고하지 마라.
여러 후보 모델을 검토하는 상황이라면, 동일한 프롬프트 세트를 각 모델에 대해 실행해야만 비교가 성립하며, 바로 이 지점에서 방법론보다 인프라가 더 중요해집니다. 우리가 라우팅하는 모델 전반에 걸쳐 하나의 평가를 실행하면 벤더별 계약과 클라이언트 작업이 이 작업에서 사라집니다. 공급자 정가가 마크업 없이 그대로 적용되므로, 실행 비용은 공급자가 부과하는 금액 그대로이며 그 이상은 들지 않습니다. 평가가 측정하는 것은 우리의 동작이 아니라 모델의 동작입니다. 라우팅은 어떤 모델이 답하는지를 바꿀 뿐, 어떤 모델도 더 많이 거부하도록 만들지는 않습니다.
기록이 이어지는 지점
측정된 성공률은 프롬프트 계층을 넘어뜨리는 일이 얼마나 어려운지를 알려준다. 하지만 누군가 실제 운영 환경에서 그것을 넘어뜨렸을 때 무슨 일이 일어났는지는 알려주지 않으며, 바로 그 두 번째 질문이 그 성공률이 중요한지를 결정한다. 무례한 문단을 만들어내는 탈옥은 콘텐츠 모더레이션 문제다. 도구 호출을 만들어내는 탈옥은 인시던트이며, 그 차이는 전적으로 시스템이 출력이 도달하도록 허용한 범위에 달려 있다.

그 아카이브는 현장 기록이다. 즉 에이전트가 실제로 무엇을 했는지, 각 항목의 출처와 누군가 피해를 입었는지에 대한 판정을 담고 있다. 탈옥 측정치와 대조해 읽으면, 그 측정이 답할 수 없는 질문에 답한다. 바로 프롬프트가 넘은 경계가 다운스트림의 무언가가 의존하는 경계인지 여부다. 그렇다면 그 탈옥은 보안 문제이며 해당 통제는 도구 권한에 속한다. 그렇지 않다면 그 탈옥은 콘텐츠 결과이며, 정직한 행동은 그것을 취약점으로 부풀리는 대신 콘텐츠 결과로 분류하는 것이다.
마지막 지적은 증거가 뒷받침하는 바로 그것이다. 탈옥은 더 나은 모델로 해결되지 않을 것이다. 실패 방식이 구조적이기 때문이다. 지시 수행은 하나의 역량이고 안전 훈련은 그보다 좁은 역량이며, 이 둘 사이의 간극이 바로 이 글의 모든 공격이 존재하는 곳이다. 해결할 수 있는 것은 그 결과다 — 거부를 멈춘 모델이 여전히 그다지 많은 것을 할 수 없도록 보장함으로써.
