가장 흥미로운 한 줄은 시스템 카드에 묻혀 있었다

이번 주 Anthropic이 Opus 5를 내놨다. 다들 캡처한 건 벤치마크 표다. SOTA 에이전틱 코딩, ARC-AGI-3에서 1.5% → 30.2% 도약, 이전 모델의 절반쯤 되는 가격에 프런티어 지식 노동. 전부 진짜고, 전부 인상적이다.

그런데 곱씹어 볼 한 줄은 벤치 표가 아니라 Boris Cherny에게서 나왔다. 그의 표현대로 “시스템 카드에 다소 묻혀 있는” 대목이다.

Opus 5는 지금까지 우리가 만든 모델 중 프롬프트 인젝션에 가장 강한 모델입니다 … 방어를 겹겹이 쌓으면 — 강력한 모델 정렬 + 프롬프트 인젝션 탐지 probe + Claude Code의 Auto Mode — 프롬프트 인젝션 공격 성공률은 거의 0에 수렴합니다.

숫자가 뒷받침한다. Gray Swan 간접 프롬프트 인젝션 벤치(낮을수록 좋음)에서 Opus 5는 2.0 — 사실상 바닥이다. 진짜 좋은 소식이고, 프레이밍도 정확하다. 방어의 다층화(defense in depth). 벽 하나가 아니라 여러 겹 — 정렬, 그다음 probe, 그다음 제약된 실행 모드.

이 표현을 붙잡아 두자. 그게 핵심이니까. Cherny는 “이제 모델이 안전하다"고 말하지 않았다. 방어를 쌓으면 공격 성공률이 무너진다고 했다. 모델은 하나의 레이어다.

인젝션 저항은 모델의 속성이다

중요한 구분은 이거다. “이 모델은 얼마나 속이기 어려운가?“는 모델에 대한 질문이다. 실재하고, 측정 가능하고, 개선 가능한 속성이다. 그리고 Opus 5는 이걸 극적으로 개선했다.

하지만 이 속성은 옮겨 다니지 않고, 위협 표면 전체를 덮지도 않는다. 세 가지 이유다.

1. 벤더마다 다르다. 같은 Gray Swan 차트에서 Anthropic 열 너머를 보라. Grok 4.5: 60.8. Gemini 3.5 Flash: 60.5. GPT-5.6 Luna: 43.9. 2.0에서 반올림 오차 수준이 아니다 — 서른 배다. 스택이 두 개 이상의 모델을 돌리는 순간 — 그리고 비용·지연·연속성(어느 벤더가 하룻밤 새 약관을 바꿀 때) 때문에 점점 그래야만 한다 — 어느 한 벤더의 정렬을 보안 서사로 삼을 수 없다. 인젝션 저항은 모델에서 물려받는 것이지, 시스템이 가진 게 아니다.

2. 인젝션은 위협의 하나일 뿐, 위협 그 자체가 아니다. 인젝션에 뚫리지 않는 모델도, 당신이 건넨 페르소나·에이전트 패키지는 충실히 실행한다. 그리고 패키지는 아무것도 “인젝션"하지 않고도 얼마든지 해를 끼칠 수 있다. 설정 파일에 커밋된 API 키, 예시에 박혀 있는 실제 인물의 PII, 물리 세계 행동이 가능하다고 슬쩍 선언하는 에이전트, 저자 의도에서 표류해 버린 정체성 명세. 이 중 어느 것도 인젝션 공격이 아니다. 어느 것도 “속이기 어려운 모델"이 막지 못한다. 이건 모델이 로드하기 이전에 아티팩트를 검사해야 — 잡힌다면 — 잡힌다.

3. 저항은 출처 증명(provenance)이 아니다. “속이기 어렵다"와 “실행해도 안전하다"는 다른 보증이다. 탈취된 지시에 저항하는 모델도, 정문으로 들어온 악의적 지시 — 잘 짜여서 페르소나 파일 안에 얌전히 앉아 있는 — 는 기꺼이 수행한다. 모델이 의도를 잘 따를수록, 그 파일에 누구의 의도가 담겼는지가 더 중요해진다.

신뢰는 시스템의 속성이다

Cherny가 실제로 묘사한 걸 보라. 모델이 아니라 스택이다. 정렬 그리고 인젝션 probe 그리고 제약된 실행 모드. 그 ≈0은 조합에서 나왔다.

그게 Opus 5 발표의 진짜 교훈이고, Anthropic 자사 제품 너머로 일반화된다. 공격 성공률이 레이어 덕분에 0이 된다면, 흥미로운 엔지니어링은 밑에 어떤 모델이 앉든 상관없이 얹을 수 있는 레이어에 있다. 모델 레이어는 방금 훨씬 강해졌다. 시스템이 신뢰를 버는 곳은 그 주변 레이어다.

  • 실행 전에 아티팩트를 스캔하라. 페르소나·에이전트 패키지를 로드하기 전에, 신뢰할 수 없는 입력을 대하듯 검사하라. 인젝션 문자열, 커밋된 시크릿, PII, 과도한 권한·안전 선언. 이건 당신 시스템이 가진 속성이고, 밑의 모델이 Opus 5든 당신이 직접 돌리는 오픈웨이트든 똑같이 작동한다.
  • 정체성을 프롬프트만 하지 말고 거버넌스하라. 어떤 페르소나가 활성인지, 무엇이 허용되는지, 표류를 어떻게 알아챌지 — 이건 모델 질문이 아니라 시스템 질문이다.
  • 메모리를 버전관리하라. 무언가 뚫렸을 때, 사건과 재앙을 가르는 건 무엇이 바뀌었는지 보고 되돌릴 수 있느냐다.

이건 Cherny가 묘사한 바로 그 다층 방어를, 한 겹 바깥으로 확장한 것이다 — 그리고 vendor-neutral하게 만들어, 모델을 바꾸는 순간 증발하지 않도록 한 것이다.

이 발표에서 가장 좋은 소식

“Opus 5는 거의 인젝션 불가"를 주변 시스템을 만들 이유가 줄었다고 읽고 싶어진다. 정반대다. 이 발표는 프런티어 랩이, 안전은 어느 한 모델이 충분히 좋아서가 아니라 쌓아 올린, 조합 가능한 레이어에서 온다는 주장을 공개적으로 매듭지은 사건이다. vendor-neutral 페르소나 레이어가 처음부터 딛고 서 온 바로 그 논지다.

모델은 훨씬 인젝션하기 어려워졌다. 좋다. 이제 남은 질문은 시스템 카드가 조용히 던지고 열어 둔 그것이다. 다른 레이어들은 무엇인가 — 어느 한 벤더의 가중치 안에 실려 오지 않고, 아티팩트를 검사하고, 정체성을 거버넌스하고, 당신이 돌리는 모든 모델에서 똑같이 메모리를 버전관리하는 레이어들 말이다.

그건 잘 만들 가치가 있다. 그리고 열린 형태로 만들 가치가 있다.


참고 (원문): Boris Cherny의 원문 발표 — @bcherny (X).