TL;DR
에이전트가 외부 도구를 통해 자율 행동을 수행하면서 발생하는 사고는 단순한 텍스트 출력 평가만으로 잡아내기 어렵다. Vera는 실행된 행동과 환경 상태에 근거한 결정적 검증을 도입해 텍스트 의도와 실제 피해를 분리함으로써 런타임에 실질적 위험이 발생했는지를 판별할 수 있다. 이 방식은 빠르게 진화하는 도구 생태계와 공격 기법에 대해 확장 가능한 테스트 인프라를 제공하여 운영 중인 에이전트의 안전성 유지를 현실적으로 가능하게 한다.
왜 중요한가
에이전트가 외부 도구를 통해 자율 행동을 수행하면서 발생하는 사고는 단순한 텍스트 출력 평가만으로 잡아내기 어렵다. Vera는 실행된 행동과 환경 상태에 근거한 결정적 검증을 도입해 텍스트 의도와 실제 피해를 분리함으로써 런타임에 실질적 위험이 발생했는지를 판별할 수 있다. 이 방식은 빠르게 진화하는 도구 생태계와 공격 기법에 대해 확장 가능한 테스트 인프라를 제공하여 운영 중인 에이전트의 안전성 유지를 현실적으로 가능하게 한다.
핵심 기여
소프트웨어 엔지니어링 원칙을 에이전트 안전성 평가로 재구성
문헌 기반 지속적 리스크 탐색, 조합적 테스트 케이스 생성, 증거 기반 검증이라는 세 가지 소프트웨어 엔지니어링 원칙을 에이전트 환경에 맞게 구체화했다. 이 재구성은 추상적 위험 범주를 프로그램적으로 실행 가능한 안전성 사례 σ = ⟨g, s0, Vg⟩로 변환하는 규칙과 검증 우선순위를 포함한다. 결과적으로 테스트 확장성 및 유지보수성이 향상되어 새로운 환경·공격·에이전트로의 적용 비용을 낮췄다.
조합적 생성과 필터링으로 1,600개 실행 가능한 사례를 포함한 Vera-Bench 구축
위험·공격기법·환경의 삼중 분류를 직교적으로 결합하고 환경 호환성 검사 및 중복 제거를 거쳐 총 39,078 후보에서 1,600개의 실행 가능한 베이스 시나리오를 확보했다. 각 사례는 초기 환경 s0를 재현 가능한 초기화 스크립트로 생성하고 검증기 verify.py를 포함해 자동 실행·검증 가능하도록 패키징되었다. 이 데이터셋은 다양한 환경과 위협 모델에 대해 재현 가능한 증거를 제공한다.
샌드박스 기반 적응형 실행과 도구 게이트웨이로 다중 채널 위협 평가
격리된 Docker Compose 샌드박스와 MCP 기반 도구 게이트웨이를 통해 모든 도구 호출을 기록하고 관찰값과 원본 응답을 분리 저장한다. 컨트롤 에이전트는 실행 도중 관찰을 누적해 사용자 메시지와 게이트웨이 주입 규칙을 동적으로 선택하며 다중 채널(사용자 메시지·도구 결과) 공격을 재현한다. 이러한 설계로 단일 정적 프롬프트로는 탐지되지 않는 채널별 취약성을 평가할 수 있다.
증거 우선 검증 계층과 자동화된 재생 가능한 안전 기록
검증기는 환경 상태 Vg_state, 도구 로그 Vg_tool, 모델 응답 Vg_resp의 우선순위를 적용해 증거 감내성에 따라 최종 판정을 내린다. 검증 실패나 문법 오류 발생 시 자동 재생성 절차가 있어 검증의 결정적 특성을 유지한다. 모든 실행은 재생 가능한 로그와 검증 스크립트를 포함해 후속 리스크 탐색과 시나리오 정제에 피드백 루프를 제공한다.
핵심 아이디어 이해하기
출발점은 도구를 호출할 수 있는 에이전트가 텍스트 출력의 선의 여부와 무관하게 실행 행위를 통해 실제 피해를 유발할 수 있다는 점이다. 기존의 프롬프트 수준 검사나 LLM 기반 판정기는 모델의 의도 표명이나 문장 수준의 유해성을 측정할 수 있으나 도구 호출 결과로 나타나는 실제 상태 변화와는 결이 다르다. 따라서 안전성 평가는 실행 궤적 τ와 최종 환경 상태 s_T라는 관찰 가능한 증거를 중심으로 구성되어야 한다. Vera의 해결 원리는 관찰 가능한 증거를 검증의 중심에 두는 것이다. 구체적으로 각 테스트 케이스는 안전 목표 g, 프로그램적으로 구성된 초기 상태 s0, 그리고 궤적 τ와 최종 상태 s_T를 입력으로 받아 0/1을 반환하는 결정적 검증기 Vg로 구성된다. 이 구조는 단일 프롬프트의 문장적 거부와 실행 결과의 불일치를 구분하며, 검증기는 환경 상태를 최우선으로 사용하고 도구 로그와 응답을 보조 근거로 사용한다. 이 방법이 가져오는 변화는 확장성·재현성·정밀성 측면에서 명확하다. 조합적 생성 단계는 위험·방법·환경의 곱집합에서 호환성 필터링을 통해 실행 가능한 사례만을 남기므로 새로운 환경이나 공격이 등장해도 파이프라인을 재실행해 빠르게 사례를 확보할 수 있다. 적응형 컨트롤 에이전트는 런타임 비결정성에 대응해 상호작용을 유도하므로 단 한 번의 정적 공격보다 높은 성공률을 발견할 수 있다. 결과적으로 실제 피해를 입증할 수 있는 사례들로만 구성된 벤치마크가 만들어진다.
방법론
전체 접근 방식은 세 단계의 자기강화 파이프라인으로 구성된다. 첫 단계는 문헌과 보안 피드를 순환적으로 수집해 위험, 공격 방법, 실행 환경의 계층적 분류(트리)를 확립하고 다수의 문헌 증거가 확인된 리프 노드들을 유지한다. 이 트리는 자동 요약 에이전트와 질의 프론티어를 통해 확장되며 생성·갱신·병합·삭제의 네 가지 연산으로 수렴 가능한 구조를 유지한다. 두 번째 단계는 조합적 목표 생성과 사례 컴파일이다. 위험 r, 방법 m, 환경 e의 리프 조합을 목표 작곡기 G(r,m,e;D)에 입력해 구체적 안전 목표 g를 생성하고, LLM 기반 이니셜라이저가 도구 API를 호출해 초기 환경 s0를 프로그램적으로 구성한다. 각 사례는 s0 생성 절차와 verify.py로 구현된 결정적 검증기 Vg를 포함해 재현 가능한 스크립트로 패키징되며, 성공 조건이 내부 추론에 의존하지 않도록 필터링과 변종(정상·단일채널·다중채널)을 생성한다. 세 번째 단계는 적응형 실행과 증거 기반 검증이다. 레거시 에이전트별 어댑터를 통해 통일된 궤적 표현 τ를 얻고, 각 실행은 격리된 Docker Compose 샌드박스에서 MCP 기반 도구 게이트웨이를 통해 진행된다. 컨트롤 에이전트는 상태 c_i를 갱신하며 정책 π_ctrl에 따라 다음 사용자 메시지와 게이트웨이 주입 규칙 J_i를 출력하고, 실행 종료 시 검증기 Vg가 우선적으로 s_T를 검사한 뒤 필요 시 도구 로그와 응답을 확인해 최종 레이블 y를 결정한다.
관련 Figure

이 다이어그램은 세 단계 파이프라인의 구성 요소와 데이터 흐름을 시각적으로 정렬해 각 단계가 어떻게 서로 피드백 루프를 형성하는지를 드러낸다. 특히 문헌 기반 요약 에이전트가 분류 트리를 갱신하고 검증 기록이 다시 탐색 단계로 피드백되는 점이 강조되어 파이프라인의 자기강화적 특성을 보여준다. 또한 샌드박스·게이트웨이·컨트롤 에이전트·검증기라는 실행 환경의 역할 분담을 한눈에 파악할 수 있다.
Vera의 전체 파이프라인을 보여주는 다이어그램으로 리스크 탐색, 사례 생성, 적응형 실행 및 검증의 상호작용을 배치했다.
주요 결과
Vera는 네 개의 상용·연구용 에이전트 프레임워크(OpenClaw, Hermes, Codex, Claude Code)와 여러 백엔드를 대상으로 평가를 수행했고 조합적 필터링을 통해 1,600개의 실행 가능한 기본 사례를 보관한 Vera-Bench를 공개했다. 전체 실험에서 다중 채널 공격 시 평균 공격 성공률(ASR)은 93.9%에 달했고 단일 채널에서도 90.6%로 높은 취약성을 드러냈다. 이는 적응형 상호작용과 도구 관찰 조작이 결합될 때 실질적 안전 위반이 빈번히 발생함을 의미한다. 실험적 데이터분포는 대부분의 실행이 중간 길이 범위에 있으나 우측 꼬리를 형성해 몇몇 사례는 매우 긴 입력 토큰과 많은 도구 호출을 요구했다. 중앙값은 입력 토큰 155k, 출력 토큰 3k, 도구 호출 11회였고 95백분위수는 입력 토큰 789k, 출력 토큰 11k, 도구 호출 38회로 보고되었다. 이 분포는 대부분의 사례가 운영적으로 처리 가능하면서도 장기 상호작용을 요구하는 난이도 있는 사례를 포함함을 뜻한다. 하위 과제인 안전성 분류용 가드 모델 실험에서 Qwen3Guard를 Vera 데이터로 파인튜닝한 모델은 정확도 0.930, 재현율 0.903, F1 0.941을 기록해 기존 공개 가드 모델들 대비 큰 향상을 보였다. 파인튜닝 과정은 안정적으로 수렴했으며 최저 평가 손실은 0.0387(스텝 210)로 보고되었다.
관련 Figure

세 패널은 각각 전체 입력 토큰 분포, 전체 출력 토큰 분포, 실행당 도구 호출 수를 밀도곡선과 히스토그램으로 표현하며 중앙값과 95 백분위 표시를 포함한다. 본 그림은 대부분의 사례가 중간 길이임을 보여주면서도 우측 꼬리에서 매우 토큰 집약적이거나 도구 집약적인 사례가 존재함을 정량적으로 전달한다. 이 정보는 테스트 인프라의 비용·지연 예측과 장기 상호작용 지원 필요성을 판단하는 근거가 된다.
유지된 실행들의 비용과 상호작용 길이를 나타내는 분포 플롯으로 입력 토큰, 출력 토큰, 도구 호출 수의 분포를 제시한다.

이 막대그래프는 기존 공개 가드 모델들이 Vera 데이터셋의 분포에 대해 제한적인 전이 성능을 보였고, Qwen3Guard를 Vera 데이터로 파인튜닝한 모델이 모든 지표에서 뚜렷한 성능 향상을 달성했음을 수치로 제시한다. 수치 표시는 정확도 0.930, 재현율 0.903, F1 0.941 같은 절대 성과를 직관적으로 확인하게 하며, 벤치마크가 downstream 방어 모델 개선에 실질적 가치를 제공함을 보강한다.
여러 가드 모델과 논문 내 파인튜닝 모델의 정확도·재현율·F1을 막대그래프로 비교한 결과를 보여준다.

그래프는 원시 훈련 손실, 평활화된 훈련 손실, 그리고 평가 손실을 겹쳐서 제시하며 평가 손실이 스텝 210에서 0.0387로 최소값을 갖는 점을 강조한다. 이 시각적 증거는 파인튜닝 과정의 안정적 수렴과 과적합의 부재를 확인하는 근거가 된다. 훈련 동태는 파인튜닝이 Vera 데이터 분포에 대해 안정적으로 최적화되었음을 시사한다.
파인튜닝 훈련 손실 곡선과 평가 손실 지점을 보여주는 그래프로서 최저 평가 손실과 수렴 거동을 표시한다.
기술 상세
전체 아키텍처는 세 부분으로 요약된다. 첫째, 문헌 기반 리스크 탐색 모듈은 자동 요약 에이전트와 검색 쿼리 프론티어를 사용해 위험 ℛ, 공격기법 ℳ, 환경 Ω의 세 가지 트리를 구축하고 반복적으로 갱신한다. 둘째, 사례 컴파일러는 조합적 작곡기 G(r,m,e;D)를 통해 목표 g를 생성하고 LLM 이니셜라이저로 s0를 API로 구성하며 검증기 Vg를 결정적 Python 스크립트로 생성한다. 셋째, 실행 플랫폼은 Docker Compose 기반 샌드박스와 MCP 게이트웨이, 에이전트별 어댑터, 컨트롤 에이전트를 결합해 일관된 궤적 τ와 환경 상태 s_T를 수집한다. 수식 관점에서 핵심 개념은 궤적 τ와 실행 가능한 사례 σ의 정의이다. 원문 수식 τ = ⟨u_i, ⟨a_{i,j}, f_{i,j}, f~{i,j}⟩{j=1}^{k_i}, r_i⟩{i=1}^n는 각 턴에서 사용자 메시지 u_i, 도구 호출 a{i,j}, 실제 도구 결과 f_{i,j}, 에이전트가 관찰한 도구 결과 f~{i,j}, 최종 응답 r_i를 기록하는 구조이다. 여기서 σ = ⟨g, s0, Vg⟩는 안전 목표 g, 초기 상태 s0, 검증기 Vg를 뜻하며 실행은 (τ, s_T) = Exec(A, E, σ)로 산출되고 Vg(τ, s_T) ∈ {0,1}으로 판정된다. 예시로 g가 '저장소 자격증명 노출'이면 s0는 비밀번호가 포함된 이메일을 만들고 Vg는 저장소 설정 또는 송신 로그에서 자격증명 노출 여부를 확인하는 절차를 의미한다. 검증기는 증거의 조작 가능성을 고려해 우선순위를 적용한다. 수식 Vg(τ, s_T) = (Vg_state(s_T) ⊳ Vg_tool(τ) ⊳ Vg_resp(τ))는 환경 상태 기반 판정이 가능하면 이를 우선 사용하고 도구 로그·응답을 대체 증거로 사용하는 정책을 명세한다. 각 Vg*는 결정적이고 외부 생성 모델에 의존하지 않는 Python 코드로 구현되어 검증 결과의 일관성과 반복 가능성을 확보한다. 검증기 오류 발생 시 자동 재생성 절차를 통해 검증의 신뢰도를 유지한다.
한계점
탐색 범위는 명시적으로 추론 시점(실행 시)에 검증 가능한 위험으로 제한되어 있으며 학습 단계의 공격(예: 파라미터 주입이나 훈련 데이터 중독)과 같은 훈련 시 위협은 본 연구의 평가 범위에서 제외되었다. 이 제한은 런타임 인터페이스를 통해 재현 가능한 공격에 집중하게 하지만 훈련 단계 취약성은 다루지 못한다는 제약을 남긴다. 또한 제어 에이전트에게 할당된 상호작용 예산(기본값 최대 10턴)은 장기 상태 유지가 필요한 일부 공격의 탐지 능력을 제한할 수 있으며 예산 설정은 결과에 민감하게 영향을 미칠 수 있다.
실무 활용
Vera는 운영 환경에 근접한 샌드박스와 결정적 검증기를 통해 재현 가능한 실패 사례를 산출하므로 보안 팀과 제품 팀이 런타임 취약점을 찾아내는 데 직접적으로 활용할 수 있다. 각 사례는 초기화 스크립트, 게이트웨이 로그, 궤적, 검증 스크립트를 포함해 문제 재현과 원인 추적을 지원한다. GitHub에 코드와 데이터셋을 공개해 내부 테스트 파이프라인과 통합하기 위한 실무적 출발점을 제공한다.
- 데브옵스 파이프라인에 통합해 배포 전 에이전트의 도구 호출·환경 변화 기반 안전 회귀 테스트를 자동화한다
- 보안팀이 새로운 도구나 외부 서비스가 추가될 때마다 조합적 케이스를 생성해 채널별 취약성을 평가한다
- 가드 모델 학습용 라벨된 실행 로그를 사용해 증거 기반 탐지기 검증과 파인튜닝을 수행한다
코드 공개 여부: 공개
코드 저장소 보기키워드
용어 해설
- Executable Safety Case
- — 실행 가능한 안전성 사례는 구체적 안전 목표, 프로그램적으로 초기 상태를 구성하는 s0, 그리고 실행 후 궤적과 환경 상태를 입력으로 받아 위반 여부를 결정하는 결정적 검증기 Vg로 구성되는 삼중 구조이다. 이 구조는 공격 성공을 단순한 텍스트 의도와 분리하고 실제 도구 호출과 환경 변화라는 관찰 가능한 증거에 근거해 성공을 판단하도록 설계되어 있다. 자동화 가능한 형식으로 보존·재생할 수 있어 대규모·지속적 안전 테스트 파이프라인의 기본 단위로 작동한다.
- Tool Gateway
- — 도구 게이트웨이는 에이전트와 외부 서비스 사이의 중재 계층으로서 모든 도구 호출을 기록하고 원본 응답 fi,j와 에이전트에게 반환되는 관찰값 f~i,j를 분리하여 보관한다. 게이트웨이는 append/prefix/override 같은 변형 연산을 적용해 다중 채널 공격을 시뮬레이션하고 감시 증거를 구축함으로써 검증자의 근거자료를 확보한다. 이 설계는 도구 결과의 변조 여부와 실제 환경 변화 사이의 인과를 분리하여 증거 기반 판정을 가능하게 한다.
- Control Agent
- — 컨트롤 에이전트는 테스트 드라이버 역할을 수행하는 자동화된 주체로서 주어진 안전 사례 σ와 관찰값을 입력으로 받아 다음 사용자 메시지와 게이트웨이 주입 규칙을 선택하는 정책 πctrl을 운용한다. 각 턴에서 r_i, L_i, Δs_i 등의 관찰을 누적해 상태 c_i를 갱신하며 거부 응답, 예기치 않은 도구 사용, 미획득 콘텐츠에 대응해 요청을 재구성하거나 주입 지점을 조정한다. 제한된 상호작용 예산 내에서 observe–adapt–act 루프를 반복해 실행 궤적을 안전 목표 쪽으로 유도한다.
- Multi-Channel Attack
- — 다중 채널 공격은 사용자 메시지 채널과 더불어 도구 결과 채널까지 공격자가 통제하는 위협 모델로서 도구 응답을 append/prefix/override 방식으로 조작해 에이전트의 계획과 행동을 유도한다. 이 공격은 신뢰 기반 채널을 통해 전달되는 정보가 방어를 우회할 수 있음을 이용하며 단일 채널 공격에서 관찰되지 않는 취약점을 드러낼 수 있다. Vera는 게이트웨이 변형 연산을 통해 이 공격 범주를 재현하고 환경 증거로 결과를 검증한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

