Skip to content
VeriSwarm
소개
문서요금제에이전트 스킬
로그인회원가입
  1. 홈
  2. /Learn
  3. /Prevent ai agent data leak
VeriSwarm
  • English
  • Español
  • Deutsch
  • Français
  • Italiano
  • Português
  • 日本語
  • ✓ 한국어
  • 简体中文

제품

  • 요금제
  • 문서
  • API
  • 에이전트 스킬
  • OATS 사양

신뢰

  • 트러스트 센터
  • 보안
  • 컴플라이언스
  • 상태
  • 변경 이력

회사

  • 소개
  • 블로그
  • 오픈소스
  • 투자자
  • 보도자료

법적 고지

  • 이용약관
  • 개인정보처리방침
  • SLA
  • DPA
  • 접근성
런타임 데이터 보호

AI 에이전트의 데이터 유출을 막는 방법

에이전트는 세 가지 경로로 데이터를 유출한다. 툴 호출에서 전달하는 인자를 통해, 대화 메모리에 기록하는 내용을 통해, 그리고 응답으로 그대로 반환하는 내용을 통해서다. 정책 메모는 이 세 가지 중 어느 것도 막지 못한다——셋 다 에이전트가 그저 자기 일을 하는 것처럼 보이기 때문이다. 이를 막는 것은 이 세 지점 각각에서 텍스트를 가로채, 경계를 넘기 전에 PII를 제거하는 런타임 토큰화 계층이다. 이 계층이 작동하는 방식은 다음과 같다.

세 가지 유출 벡터

LLM 프롬프트에 들어가는 내용을 마스킹하는 것은 최소한의 대책일 뿐 격차를 메우지 못한다. 에이전트의 데이터 경로에는 원본 값이 경계 밖으로 나갈 수 있는 지점이 세 곳 있으며, 그중 어느 것도 프롬프트를 경유하지 않는다.

툴 호출 인자

에이전트는 툴——캘린더 API, CRM, 결제 프로세서 등——을 호출하기로 결정하고, 그 순간 추론 중인 데이터를 호출 인자로 전달한다. MCP는 필드 단위의 민감도 메타데이터를 전달하지 않으므로, 툴 서버는 기본적으로 에이전트가 보낸 내용을 평문 그대로 받는다.

메모리에 기록하는 내용

대화 기록은 턴을 넘나들며 유지되어 에이전트에게 맥락을 제공한다. 이 기록에 추가되는 모든 텍스트는——대화 도중 드러나는 고객의 주민등록번호나 의료 정보를 포함해——추가되기 전에 무언가가 토큰화하지 않는 한, 세션이 지속되는 동안 평문 그대로 그 자리에 남아 있다.

응답으로 되돌려주는 내용

호출자에게 반환되는 최종 응답은 에이전트가 가져와 추론에 사용한 컨텍스트로부터 구성된다. 토큰화가 입력 시점에만 실행된다면, 토큰으로 들어왔던 값이 나가는 응답 안에서 토큰화되지 않은 채로 다시 드러날 수 있다.

왜 프롬프트가 아니라 툴 호출이 실제로 프로덕션 유출 대부분이 발생하는 지점인지에 대한 더 깊은 근거는 당신의 AI 에이전트는 툴 호출을 통해 PII를 유출하고 있다. 그 증거에 있다.

해결책 — 하나의 토큰화 프리미티브를 각 벡터에 적용한다

VeriSwarm Guard는 동일한 기본 호출——POST /v1/suite/guard/pii/tokenize——을 각 벡터가 그대로 두면 유출이 발생하는 지점에 적용해 세 가지 모두를 차단한다. 텍스트는 Presidio 기반 NER 탐지 엔진(Presidio + spaCy NER, 그리고 Presidio가 기본적으로 다루지 않는 식별자를 위한 커스텀 정규식 인식기)을 거쳐, 모든 PII 구간이 타입이 지정된 토큰——[VS:EMAIL:a1b2c3], [VS:SSN:f9e2d1] 등——으로 치환되어 돌아온다. 에이전트, 툴 서버, 그리고 그 사이에서 로그로 남는 모든 것은 토큰만을 본다. 원래 값은 정말로 필요할 때만, 토큰을 생성한 세션으로 범위가 제한된 별도의 POST /v1/suite/guard/pii/rehydrate 호출을 통해 복원된다.

벡터 1 — Guard Proxy가 차단

Guard Proxy는 투명한 MCP 인터셉션 계층이다. 에이전트의 MCP 클라이언트를 툴 서버에 직접 연결하는 대신 프록시로 향하게 하면, 나가는 툴 호출 요청과 들어오는 툴 호출 응답 양쪽에서 PII를 토큰화한다——에이전트 코드 변경은 전혀 필요 없다. 세 가지 배포 모드: 클라우드 호스팅, 온프레미스 Docker, 로컬 stdio.

벡터 2 & 3 — 에이전트 런타임에서 차단

VeriSwarm 자체 에이전트 런타임은 에이전트의 응답이 대화 기록에 추가되기 전에, 그리고 호출자에게 반환되기 전에, 토큰화 엔드포인트를 호출한다. 메모리에 기록되는 값과 그대로 반환되는 값은 동일한 토큰화된 텍스트다——서로 어긋날 수 있는 두 개의 별도 제어가 아니다.

비교: AI 에이전트를 위한 PII 보호

PII 보호 필러는 프롬프트 입력 마스킹 대신 토큰화를 선택해야 하는 더 넓은 논거——DLP가 에이전트 트래픽을 커버하지 못하는 이유, GDPR 가명처리 예외 조항, Vault 감사 추적, 헬스케어 업계에서의 입장——을 다룬다. 이 페이지는 더 좁고 더 실무적이다. 에이전트의 데이터 경로에서 실제로 유출이 발생하는 세 가지 구체적인 지점과, 각각을 차단하는 메커니즘을 보여주는 지도다. 전체 아키텍처와 컴플라이언스 논거는 필러 페이지에서, 수정을 구체적으로 어디에 겨냥해야 하는지는 이 페이지에서 확인하라.

이 페이지가 다루지 않는 범위

토큰화는 위 세 가지 벡터에서 PII 노출 표면을 줄이고, Vault가 활성화된 경우 모든 인터셉션에 대한 감사 추적을 제공한다——하지만 데이터가 절대 유출되지 않는다는 것을 보장하지는 않는다. Guard Proxy를 우회하는 툴 호출이나, 데이터를 전달하기 전에 토큰화 엔드포인트를 호출하지 않는 커스텀 통합은 이 레이어가 절대 보지 못하는 유출 경로다. Guard는 자신이 연결된 벡터를 차단한다. 아직 커버되지 않은 유출 경로를 새로 만들었다면, 그것을 연결하는 것은 당신의 몫이다. 인젝션은 관련은 있지만 별개의 위험이다——정상적인 툴 인자에 담긴 PII가 아니라, 어떤 툴이 호출되는지를 조작하는 조작된 입력이며——자세한 내용은 AI 에이전트를 위한 프롬프트 인젝션 탐지를 참고하라.

자주 묻는 질문

AI 에이전트가 데이터를 유출하는 세 가지 방법은 무엇인가?

툴 호출 인자를 통해서——에이전트가 원본 PII를 평문 그대로 MCP 툴 서버(캘린더 API, CRM, 결제 프로세서 등)로 전달한다. 메모리에 기록하는 내용을 통해서——고객의 주민등록번호나 의료 정보가 대화 기록에 추가되어 세션이 지속되는 동안 그대로 남는다. 응답으로 되돌려주는 내용을 통해서——토큰화된 컨텍스트로 구성된 응답이라도, 출력 시 토큰화 단계가 생략되면 원본 값이 다시 드러날 수 있다. 이 세 가지에는 공통된 특징이 하나 있다. 어느 것도 정책 위반처럼 보이지 않는다는 점이다. 그저 에이전트가 자기 일을 하는 것처럼 보인다.

LLM에 전달하는 프롬프트만 토큰화하면 충분하지 않은가?

아니다——그것은 피해가 가장 적은 유출 지점만 막을 뿐이다. LLM이 PII를 절대 보지 않는 것은 좋은 관행이지만, 실제로 데이터가 경계를 벗어나는 지점은 LLM이 이후에 실행하기로 결정하는 툴 호출이다. 에이전트가 프롬프트에 무엇을 넣을지 아무리 세심하게 신경 쓰더라도, MCP 사양이 필드 단위의 데이터 민감도 메타데이터를 본질적으로 담지 않기 때문에, 고객의 전화번호를 서드파티 MCP 툴 서버로 그대로 전달해 버릴 수 있다. 커버리지는 모델 경계에서 멈추지 않고 툴 호출까지 확장되어야 한다.

VeriSwarm는 경계를 벗어나기 전에 어떻게 PII를 토큰화하는가?

텍스트는 POST /v1/suite/guard/pii/tokenize로 전달되며, 이는 Presidio 기반 NER 탐지 엔진(Presidio + spaCy NER, 그리고 Presidio가 다루지 않는 식별자를 위한 커스텀 정규식 인식기)을 거쳐, 모든 PII 구간이 타입이 지정된 토큰——[VS:EMAIL:a1b2c3], [VS:SSN:f9e2d1] 등——으로 치환된 텍스트를 반환한다. 토큰-값 매핑은 테넌트 범위로 관리되며 토큰화된 페이로드와 함께 전송되는 일은 결코 없다. 토큰은 그것을 생성한 세션으로 범위가 제한된 별도의 POST /v1/suite/guard/pii/rehydrate를 통해서만 되돌릴 수 있으며, 이는 다운스트림 시스템이 실제 값을 필요로 하는 특정 경우——예를 들어 CRM 레코드에 기록할 때——를 위한 것이다.

이를 위해 에이전트 코드를 다시 작성해야 하는가?

툴 호출 벡터에 대해서는 필요 없다. Guard Proxy는 투명한 MCP 인터셉션 계층이다——에이전트의 MCP 클라이언트는 툴 서버에 직접 연결하는 대신 프록시 URL로 연결하며, 나가는 툴 호출과 들어오는 응답 양쪽 모두에서 경계를 넘기 전에 PII를 토큰화한다. 세 가지 배포 모드가 클라우드 호스팅, 온프레미스 Docker, 로컬 stdio를 커버한다. 메모리와 에코 벡터에 대해서는, VeriSwarm 자체 에이전트 런타임이 응답을 대화 기록에 추가하거나 호출자에게 반환하기 전에 이미 토큰화 엔드포인트를 호출한다——이 배선은 플랫폼의 일부로 제공되며, 당신이 직접 구축할 필요가 없다.

이것은 어떤 요금제에 포함되어 있는가?

Guard——PII 토큰화, Guard Proxy, 그리고 그와 함께 실행되는 인젝션 스캐닝——은 Max 요금제 기능이다. VeriSwarm의 무료 요금제 신뢰 점수 산정 기능인 Gate는 토큰화 계층이 필요해지기 전 단계에서 에이전트 동작과 이벤트 흐름에 대한 가시성을 제공한다. 강제 적용을 켜는 곳이 바로 Guard다.

토큰화는 데이터가 절대 유출되지 않는다는 것을 보장하는가?

아니다. 그렇게 주장하는 벤더가 있다면 회의적으로 봐야 한다. 토큰화는 여기서 다룬 세 가지 벡터 각각에서 PII 노출 표면을 줄이고, Vault가 활성화된 경우 모든 인터셉션에 대한 감사 추적을 제공한다. 하지만 이 세 가지 밖의 유출 경로는 커버하지 않는다——Guard Proxy를 우회하는 잘못 구성된 통합이나, 토큰화 단계를 거치지 않는 커스텀 툴 호출 경로는 여전히 의도적으로 연결해 주어야 한다.

세 벡터를 한 번에 차단하기

Guard의 PII 토큰화는 Max 요금제 기능이다. Gate의 무료 요금제는 수정 기능을 켜기 전에 에이전트의 데이터가 실제로 어디로 가는지 확인할 수 있도록 신뢰 점수 산정과 이벤트 가시성을 제공한다.

데모 체험하기무료로 시작하기