---
title: "AI 에이전트가 도구 누르기 전에 막는다…오픈소스 런타임 보안 OATS 공개"
published: 2026-05-21T16:05:03.095Z
canonical: https://jeff.news/article/3081
---
# AI 에이전트가 도구 누르기 전에 막는다…오픈소스 런타임 보안 OATS 공개

서드키 AI가 AI 에이전트의 도구 호출, 인자, 신원, 정책 승인, 감사 기록을 런타임에서 제한하는 오픈 에이전트 트러스트 스택(OATS) v1.3.0을 공개했다. 874건 적대적 실행, 335건 인자 주입, 560건 기판 비교 테스트 결과를 함께 내놓으며 에이전트 보안을 응답 필터링이 아니라 실행 통제 문제로 다뤘다.

## AI 에이전트 보안의 초점이 “대답”에서 “행동”으로 이동 중

- 서드키 AI가 오픈 에이전트 트러스트 스택(OATS) v1.3.0을 공개함. 핵심은 AI 에이전트가 도구를 호출하기 전에 실행 가능한 행동 자체를 제한하는 것임
  - 에이전트가 어떤 도구를 부를 수 있는지, 어떤 인자를 넘길 수 있는지, 어떤 신원으로 실행되는지, 어떤 정책 승인을 거치는지를 런타임에서 검증함
  - 프롬프트 필터링이나 응답 감시가 아니라, 실행 경로에서 위험한 행동이 표현되지 못하게 막는 쪽에 가까움

- 이 흐름이 중요한 이유는 요즘 AI 에이전트가 진짜 업무 시스템에 붙기 시작했기 때문임
  - 데이터베이스, API, 클라우드 서비스, 협업 도구, 업무 자동화 도구까지 연결되면 “나쁜 답변”이 아니라 “나쁜 실행”이 사고가 됨
  - 프롬프트 인젝션이 단순 이상한 출력으로 끝나는 게 아니라, 권한 오남용이나 내부 데이터 접근으로 이어질 수 있음

```mermaid
sequenceDiagram
    participant 사용자
    participant 에이전트
    participant 정책엔진
    participant 도구계약
    participant 외부도구
    participant 감사저널
    사용자->>에이전트: 작업 요청
    에이전트->>정책엔진: 실행 의도 승인 요청
    정책엔진->>도구계약: 도구와 인자 검증
    도구계약-->>정책엔진: 허용 또는 차단
    정책엔진-->>에이전트: 실행 가능 경로 반환
    에이전트->>외부도구: 허용된 호출만 실행
    에이전트->>감사저널: 실행 기록 서명 저장
```

## OATS가 막으려는 것

- OATS는 다섯 계층으로 에이전트 실행을 묶음
  - ORGA 추론 루프는 타입스테이트(Typestate) 기반 설계로 정책 우회를 어렵게 만듦
  - 툴 계약(Tool Contracts)은 도구가 받을 수 있는 인자와 호출 조건을 선언형 인터페이스로 제한함
  - 신원 스택은 암호화 기반 양방향 검증과 허용 목록 방식 알고리듬 검증을 제공함
  - 정책 엔진은 대규모 언어 모델(LLM) 판단과 분리된 형식 검증 기반 승인 체계로 동작함
  - 감사 저널은 해시 체인과 Ed25519 서명으로 실행 기록 변조를 탐지함

- v1.3.0에서 눈에 띄는 추가점은 문자 기반 우회 공격 대응임
  - 보이지 않는 유니코드(Invisible Unicode)와 호모글리프(Homoglyph)를 이용한 공격 탐지 기능이 들어감
  - JWT 검증에서는 안전하지 않은 알고리듬을 거부하도록 명시적 허용 목록이 추가됨
  - W3C 추적 컨텍스트 전파도 들어가서 다중 에이전트 환경에서 실행 경로를 연결해 볼 수 있게 됨

> [!IMPORTANT]
> OATS의 방향은 “모델이 착하게 판단하길 기대하자”가 아님. 모델 밖에 있는 정책·계약·신원 검증 계층이 실제 실행 버튼을 쥐게 만드는 구조임.

## 공개된 테스트 수치가 꽤 세다

- 서드키 AI는 약 9개월 동안 심비온트(Symbiont) 참조 구현을 운영하며 테스트 결과를 공개함
  - 대상 모델에는 GPT-5, 클로드 하이쿠 4.5, 제미나이 2.5 프로, 딥시크-V3.1, 큐원3-235B 등 총 9개 대규모 언어 모델이 포함됨
  - 적대적 실행 874건 가운데 금지된 도구 호출 시도는 263건 있었지만, 실행 단계까지 간 사례는 없었다고 함

- 인자 주입 테스트에서도 툴 계약의 효과를 강조함
  - 8개 공격 범주에서 335건 인자 주입 테스트를 수행했고, 그중 333건이 툴 계약 검증에서 차단됨
  - 공격자가 도구 호출 인자에 명령을 숨기거나 변조된 값을 넣어도, 선언형 계약과 형식 검증이 실행 전에 걸러냈다는 얘기임

- 제일 흥미로운 건 기판 비교 결과임
  - 순수 실행 벡터 4개 기반 560건 테스트에서 심비온트 환경 탈출 사례는 없었다고 공개됨
  - 반면 같은 모델과 유인을 쓴 허용형 Python 및 Docker 격리 환경은 88~98% 수준의 통합 탈출률을 보였다고 함
  - 컨테이너 격리보다 앞단인 에이전트 실행 계층에서 호출 가능 도구와 인자를 제한하는 게 차이라는 설명임

> [!WARNING]
> Docker로 감쌌다고 에이전트가 안전해지는 건 아니라는 메시지가 꽤 노골적임. 에이전트가 위험한 호출을 컨테이너 안에서라도 실행할 수 있다면, 이미 한 발 늦은 통제일 수 있음.

## 한계도 같이 공개했다는 점이 좋다

- 콘텐츠 정제는 효과가 있었지만, 정규식만으로는 부족한 구간이 드러남
  - 일부 콘텐츠 기반 공격에서 6개 모델은 1~4% 수준 우회를 보였고, GPT-5는 약 16% 우회율을 나타냄
  - 보이지 않는 문자나 유사 문자를 단순 패턴으로만 잡는 방식은 안정적인 최종 방어선이 되기 어렵다는 뜻임

- 그래서 서드키 AI는 구조적 검증기 연구 필요성을 제시함
  - 문자열을 그냥 정규식으로 훑는 게 아니라, 형식·인코딩·의미 단위를 더 명확히 해석하는 검증 체계가 필요하다는 방향임
  - 기업 적용 관점에선 모델 교체보다 입력 정제, 도구 계약, 정책 검증, 신원 확인, 감사 기록이 같이 돌아가는 구조가 더 중요해짐

## 오픈소스와 적합성 검증까지 밀고 간다

- 심비온트 참조 구현은 아파치 2.0 라이선스로 공개됨
  - 기술 문서는 제노도(Zenodo) DOI와 함께 공개됐고, 세 편의 동반 프리프린트 논문도 제공됨
  - OATS 적합성 기준은 필수 요구사항 C1~C7, 확장 요구사항 E1~E9로 구성됨

- 성능 오버헤드도 숫자로 나옴
  - 시더(Cedar) 정책 게이트는 호출당 30~95마이크로초 지연
  - 콘텐츠 정제 기능은 약 345나노초 수준 오버헤드
  - 도구 호출 경로에 검증 계층을 추가해도 지연을 낮게 유지할 수 있다는 근거로 제시됨

- 한국 기업에도 꽤 직접적인 얘기임
  - 금융·공공·제조처럼 내부 시스템과 권한 통제가 빡센 조직에서 AI 에이전트를 붙이려면 실행 허용 범위와 감사 기록이 필수로 따라옴
  - “챗봇 보안”이 아니라 “업무 실행 런타임 보안”으로 봐야 하는 시점이 온 셈임

---

## 기술 맥락

- OATS가 고른 해법은 모델을 더 똑똑하게 만드는 쪽이 아니라, 모델이 실행할 수 있는 행동의 모양을 줄이는 쪽이에요. 에이전트는 말을 잘해도 실행 권한을 갖는 순간 보안 주체가 되기 때문에, 응답 필터만으로는 부족하거든요.

- 툴 계약이 중요한 이유는 도구 호출이 결국 API 호출과 비슷하기 때문이에요. 어떤 함수에 어떤 인자를 넣을 수 있는지 명확히 정하지 않으면, 프롬프트 인젝션이 문자열 하나를 바꿔서 전혀 다른 행동을 유도할 수 있어요.

- Docker 격리와 OATS의 차이는 통제 위치예요. Docker는 실행된 뒤의 프로세스와 파일시스템 경계를 막는 쪽이고, OATS는 그 전에 에이전트가 위험한 도구 호출을 만들지 못하게 막아요.

- 감사 저널도 단순 로그가 아니에요. 여러 에이전트가 서로 호출하는 환경에서는 누가 어떤 신원으로 어떤 도구를 호출했는지 이어서 봐야 사고 원인을 찾을 수 있거든요.

- 정규식 기반 정제가 뚫린 결과를 공개한 것도 의미가 있어요. 실제 운영에서는 하나의 필터가 완벽하다고 믿기보다, 문자 정제·계약 검증·정책 엔진·신원 검증을 겹겹이 두는 설계가 더 현실적이에요.

## 핵심 포인트

- OATS는 AI 에이전트가 어떤 도구를 어떤 인자로 호출할 수 있는지 실행 전에 제한하는 제로트러스트 런타임 명세다
- 874건 적대적 실행에서 금지된 도구 호출 시도 263건이 실제 실행 단계까지 도달하지 않았다고 공개됐다
- 335건 인자 주입 테스트 중 333건이 툴 계약 검증에서 차단됐다
- 560건 기판 비교에서 심비온트 환경은 탈출 사례가 없었고, 허용형 Python·Docker 환경은 88~98% 통합 탈출률을 보였다
- 정규식 기반 콘텐츠 정제는 일부 모델에서 1~16% 우회율을 보여 구조적 검증기 연구 필요성이 제기됐다

## 인사이트

AI 에이전트 보안이 이제 “프롬프트 잘 막자”에서 “실행 가능한 행동을 구조적으로 줄이자”로 넘어가는 느낌이다. 기업에서 에이전트가 사내 API와 클라우드 권한을 만지기 시작하면, 이런 런타임 제어 계층은 선택이 아니라 기본값에 가까워질 가능성이 크다.
