
베이징우전대와 베이항대, 칭화대 연구진이 공개한 사전논문에 따르면 AI 에이전트가 사용하는 구조화된 도구 명세는 대규모언어모델의 유해 요청 거부 능력을 떨어뜨리는 요인이 될 수 있다. 연구진은 도구의 의미보다 명세가 스키마로 표현되는 방식이 모델 내부의 거부 신호를 약화한다는 분석을 제시했다.
AI 에이전트는 일반 챗봇 입력에 역할 설명과 도구 사용 지침, 호출 가능한 도구의 이름과 매개변수 명세를 추가한다. 연구진이 같은 요청과 같은 Llama 3.1 8B Instruct 모델을 유지한 채 입력 형식만 바꾼 실험에서는 유해 요청 거부율이 챗봇 형식의 58%에서 에이전트 형식의 3%로 낮아졌다.
구성요소를 나눠 확인한 결과에서도 도구 명세의 영향이 가장 크게 나타났다. Llama 3.1 8B Instruct와 Qwen3 8B, Mistral 7B Instruct v0.3에서 유해·정상 요청을 구분하는 AUROC는 도구 명세를 추가했을 때 평균 0.136 하락했다. 같은 의미를 유지하면서 스키마 명세를 평문으로 바꾸자 세 모델의 AUROC가 각각 0.740에서 0.885, 0.786에서 0.845, 0.815에서 0.898로 회복됐다. 반대로 의미를 무작위화하고 스키마 형식을 유지한 조건에서는 개선 폭이 작았다.
연구진은 이 분석을 바탕으로 추론 단계 보호 장치인 'SafeKeep'를 제안했다. SafeKeep는 먼저 도구 명세를 평문 형태로 바꿔 요청의 안전성을 판단한다. 안전한 요청은 기존 스키마 명세를 사용하는 원래 에이전트 실행 경로로 보내고, 위험하다고 판단한 요청은 도구 실행을 막은 뒤 거부 응답을 생성한다. 모델을 재학습하거나 내부 활성값에 접근하지 않아도 적용할 수 있도록 설계했다.
평가는 직접적인 유해 요청을 다루는 AgentHarm과 외부 관찰값에 숨은 간접 프롬프트 주입을 다루는 InjecAgent에서 진행됐다. AgentHarm 평가에는 유해 요청 176건과 대응하는 정상 요청 176건, InjecAgent에는 공격 사례 1천54건이 쓰였다. 백엔드는 Llama 3.1 8B Instruct, Qwen3 8B, Gemini 3.1 Flash, GPT-5.4 mini 등 네 모델이었다.
논문에 제시된 네 모델 평균에서 SafeKeep는 AgentHarm 유해 요청 거부율을 보호 장치가 없는 에이전트의 23.8%에서 70.6%로 높였다. InjecAgent의 두 공격 설정을 합친 평균 공격 성공률은 25.6%에서 2.5%로 낮아졌다. 유해·정상 요청을 함께 평가한 AgentHarm 정확도도 평균 60.9%에서 79.6%로 올랐다는 것이 연구진의 설명이다.
다만 이 수치를 실제 서비스의 보안 성능으로 곧바로 일반화하기는 어렵다. 이번 결과는 정해진 벤치마크와 모델별 도구 템플릿에서 나온 것이며, 논문은 동료평가를 거치지 않았다. 모델과 프레임워크 버전이 바뀌면 도구 명세가 렌더링되는 방식도 달라질 수 있다. 연구진은 분석 코드와 400쌍의 유해·정상 요청 데이터, SafeKeep 시연 코드를 GitHub에 공개했다.
출처: SafeKeep 연구진 사전논문 https://arxiv.org/abs/2607.29254
출처: SafeKeep 연구진 공개 코드·데이터 https://github.com/snowcatsmoking/SafeKeep









