주입 저항성(Injection Resistance)은 모델의 속성이고, 신뢰(Trust)는 시스템의 속성이다
요약
Anthropic의 Opus 5 출시와 함께 모델의 주입 저항성(Injection Resistance)과 시스템적 신뢰(Trust)의 차이를 분석합니다. 모델 자체의 보안 속성과 방어 계층을 쌓는 시스템적 보안 전략의 중요성을 강조합니다.
핵심 포인트
- Opus 5는 프롬프트 주입 저항성이 매우 높은 모델 속성을 가짐
- 주입 저항성은 모델의 속성이며, 신뢰는 시스템의 속성임
- 심층 방어(Defense in depth)를 위해 정렬, 탐지, 제약 모드의 결합이 필요함
- 단일 모델의 보안에 의존하기보다 다층적인 방어 체계 구축이 필수적임
가장 흥미로운 문장은 시스템 카드(system card)에 묻혀 있었다
Anthropic은 이번 주 Opus 5를 출시했으며, 모두가 스크린샷을 찍은 부분은 벤치마크 표였습니다. 최첨단 에이전트 코딩(agentic coding), ARC-AGI-3에서 1.5%에서 30.2%로의 도약, 기존 모델 가격의 약 절반 수준으로 제공되는 프런티어 지식 작업(frontier knowledge work) 등입니다. 모두 실제이며, 모두 인상적입니다.
하지만 깊이 곱씹어 볼 가치가 있는 문장은 Boris Cherny로부터 나왔으며, 그것은 벤치마크 차트에 있지 않았습니다. 그의 표현을 빌리자면, 그것은 "시스템 카드(system card)에 약간 묻혀 있었습니다":
Opus 5는 우리가 지금까지 만든 모델 중 프롬프트 주입(prompt injectable)이 가장 적은 모델입니다 ... 그리고 방어 계층을 쌓을 때 — 강력한 모델 정렬(model alignment), 프롬프트 주입 탐지(prompt injection probes)의 결합, 그리고 Claude Code의 Auto Mode 결합 — 프롬프트 주입 공격의 성공률은 ~0으로 떨어집니다.
수치가 이를 뒷받침합니다. Gray Swan 간접 프롬프트 주입(indirect-prompt-injection) 벤치마크(낮을수록 좋음)에서 Opus 5는 2.0을 기록했는데, 이는 사실상 최저치입니다. 이것은 진정으로 좋은 소식이며, 그 프레임워크는 정확합니다: 심층 방어(defense in depth). 하나의 벽이 아니라, 정렬(alignment), 그다음 탐지(probe), 그다음 제약된 실행 모드(constrained execution mode)와 같은 계층들입니다.
이 구절을 기억해 두십시오. 그것이 핵심이기 때문입니다. Cherny는 "모델이 이제 안전하다"라고 말하지 않았습니다. 그는 방어 체계를 쌓으면 공격 성공률이 붕괴된다고 말했습니다. 모델은 _하나의 계층_일 뿐입니다.
주입 저항성(Injection resistance)은 모델의 속성이다
여기서 중요한 차이점이 있습니다. "이 모델을 속이기가 얼마나 어려운가?"라는 질문은 모델에 관한 질문입니다. 그것은 실제적이고, 측정 가능하며, 개선 가능한 속성입니다. 그리고 Opus 5는 이를 극적으로 개선했습니다.
하지만 그것은 전이되지 않는 속성이며, 전체 위협 표면(threat surface)을 커버하지도 못합니다. 세 가지 이유가 있습니다.
1. 벤더별로 다릅니다. Anthropic 열 이후의 동일한 Gray Swan 차트를 보십시오. Grok 4.5: 60.8. Gemini 3.5 Flash: 60.5. GPT-5.6 Luna: 43.9. 이 수치들은 2.0에서 소수점 단위로 차이 나는 것이 아니라, 30배나 더 높습니다. 여러분의 스택(stack)이 두 개 이상의 모델을 실행하는 순간 — 비용, 지연 시간(latency), 그리고 벤더가 하룻밤 사이에 약관을 변경할 때의 연속성을 위해 점점 더 많은 모델을 사용해야만 합니다 — 단일 벤더의 정렬(alignment)에만 보안 전략을 의존할 수 없습니다. 주입 저항성(Injection resistance)은 여러분의 시스템이 '가지는' 것이 아니라, 모델로부터 상속받는 것입니다.
2. 주입(Injection)은 하나의 위협일 뿐, 위협 그 자체는 아닙니다. 프롬프트 주입(prompt-injection)에 방어력이 있는 모델이라도, 여러분이 전달한 페르소나(persona)나 에이전트 패키지(agent package)가 무엇이든 충실히 실행합니다. 그리고 패키지는 아무것도 '주입'하지 않고도 충분히 많은 피해를 줄 수 있습니다: 설정 파일에 커밋된 API 키, 예시 데이터에 포함된 실제 개인정보(PII), 물리적 세계에서 행동할 수 있다고 조용히 선언하는 에이전트, 작성자의 의도에서 벗어난 신원 명세(identity spec) 등이 그 예입니다. 이 중 그 어느 것도 주입 공격(injection attack)이 아닙니다. 속이기 어려운 모델이라고 해서 이 중 어느 것도 막을 수 없습니다. 이는 모델이 이를 로드하기 전에 아티팩트(artifact)를 검사함으로써 — 만약 검출된다면 — 포착되어야 하는 문제입니다.
3. 저항성이 출처(provenance)를 보장하지는 않습니다. '속이기 어렵다'는 것과 '실행하기에 안전하다'는 것은 서로 다른 보증입니다. 탈취된 명령에 저항하는 모델이라도, 정식 경로를 통해 전달된 — 즉, 형식이 올바르고 페르소나 파일 자체에 포함된 — 악의적인 명령은 여전히 즐겁게 수행할 것입니다. 모델이 의도(intent)를 따르는 능력이 좋아질수록, 파일에 담긴 의도가 누구의 것인지가 더욱 중요해집니다.
신뢰(Trust)는 시스템의 속성이다
Cherny가 실제로 무엇을 설명했는지 주목하십시오. 모델이 아니라 스택(stack)을 설명했습니다. 정렬(alignment), 주입 탐지(injection probe), 그리고 제한된 실행 모드(constrained execution mode)의 조합입니다. ~0이라는 수치는 바로 이 구성(composition)에서 나온 것입니다.
이것이 바로 Opus 5 출시가 주는 진정한 교훈이며, 이는 Anthropic의 자체 제품을 넘어 일반화될 수 있는 내용입니다. 만약 레이어(layers) 덕분에 공격 성공률(attack success rate)이 0으로 수렴한다면, 흥미로운 엔지니어링의 영역은 하단에 어떤 모델이 위치하든 관계없이 추가할 수 있는 레이어들에 있습니다. 모델 레이어는 훨씬 더 강력해졌습니다. 시스템이 신뢰(trust)를 얻는 곳은 그 주변의 레이어들입니다:
- 실행 전 아티팩트(artifact)를 스캔하십시오. 페르소나(persona)나 에이전트 패키지가 로드되기 전에, 신뢰할 수 없는 모든 입력을 검사하는 방식과 동일하게 검사하십시오. 주입 문자열(injection strings), 노출된 비밀 정보(committed secrets), 개인정보(PII), 그리고 지나치게 광범위한 권한(capability) 및 안전 선언(safety declarations) 등을 확인해야 합니다. 이는 여러분의 _시스템_이 가진 속성(property)이며, 하단의 모델이 Opus 5이든 직접 실행하는 오픈 웨이트(open-weight) 모델이든 상관없이 동일하게 적용됩니다.
- 프롬프트로 제어하는 데 그치지 말고, 정체성(identity)을 관리하십시오. 어떤 페르소나가 활성화되어 있는지, 무엇을 할 수 있도록 허용되었는지, 그리고 정체성이 이탈(drift)했을 때 어떻게 감지할 것인지와 같은 것들은 모델의 문제가 아니라 시스템의 문제입니다.
- 메모리(memory)의 버전을 관리하십시오. 만약 무언가 뚫고 들어오더라도, 사고(incident)와 재앙(catastrophe)의 차이는 무엇이 변했는지 확인하고 이를 롤백(roll back)할 수 있는지 여부에 달려 있습니다.
이는 Cherny가 설명하고 있는 심층 방어(defense-in-depth)와 동일한 개념을 한 단계 더 바깥쪽으로 확장한 것이며, 모델을 교체하는 순간 사라지지 않도록 벤더 중립적(vendor-neutral)으로 만든 것입니다.
출시에서 가장 반가운 소식
"Opus 5는 주입이 거의 불가능하다"라는 문구를 주변 시스템을 구축해야 할 이유가 _줄어들었다_는 뜻으로 해석하고 싶은 유혹이 생길 수 있습니다. 하지만 실제로는 그 반대입니다. 이번 출시는 프론티어 연구소(frontier lab)가 안전이란 단일 모델이 충분히 훌륭해서 얻어지는 것이 아니라, **중첩되고 조합 가능한 레이어(stacked, composable layers)**로부터 온다는 논쟁에 공개적으로 종지부를 찍은 사건입니다. 이것이 바로 벤더 중립적인 페르소나 레이어가 줄곧 구축되어 온 핵심 논지(thesis)입니다.
모델에 대한 주입은 훨씬 더 어려워졌습니다. 좋습니다. 이제 남은 질문은 시스템 카드(system card)가 조용히 제기하고 답을 남겨둔 채 떠난 질문입니다. 즉, 특정 벤더의 웨이트(weights) 내부에 포함되어 배포되지 않으면서도, 아티팩트를 검사하고, 정체성을 관리하며, 실행하는 모든 모델에 대해 동일한 방식으로 메모리의 버전을 관리하는 다른 레이어들은 무엇인가 하는 점입니다.
그것들은 잘 구축할 가치가 있습니다. 그리고 공개적으로 구축할 가치가 있습니다.
참조: Boris Cherny의 원문 공지 — @bcherny on X.
_원문 게시처: blog.clawsouls.ai
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기