pile·
보안·vercel-blogVercel Blog·

토큰 탈취 공격 방어하기

AI 추론 엔드포인트는 요청당 최대 2달러의 비용이 들어 기존 HTTP보다 백만 배 비싼 자원이다. 이 경제성이 추론 절도(inference theft)라는 고수익 공격 벡터를 만들었고, 공격자들은 AI 플레이그라운드·서포트봇·문서 어시스턴트를 타깃으로 하루 수만 달러 상당의 추론 자원을 탈취한다. Vercel은 2026년 4월 자사 문서 AI에 분당 1,300건 요청 급등(하루 $10,000 상당)을 경험했고, 세션 경계가 아닌 요청 단위 검증으로만 이를 막을 수 있다는 것을 실증했다.

핵심 포인트
  • 추론 절도 경제학: 단일 에이전트 요청 ~$2, 기존 HTTP 대비 백만 배 고비용 — 공격자 입장에서 고수익 자원.
  • 취약 엔드포인트: AI 플레이그라운드(호출자 프롬프트 최대 제어), 서포트봇(서버 측 제약 약함), 문서 어시스턴트(시스템 프롬프트 노출).
  • 기존 방어 실패: IP 기반 속도 제한은 수천 개 거주용 프록시로 우회, 인증 게이트는 실제 계정으로 통과.
  • BotID 솔루션: 요청별 보이지 않는 CAPTCHA — 클라이언트 머신러닝으로 봇·인간 구분, 이미지 CAPTCHA는 AI가 쉽게 통과.
  • 2026년 4월 실제 공격: 분당 1,300건, 하루 $10,000+ 추론 탈취 시도 → BotID로 초기 수만 건 차단, 24시간 내 정상화.
상세 정리
  • 공격 구조: 공격자들이 프록시 어댑터를 만들어 피해 엔드포인트를 OpenAI·Anthropic 호환 인터페이스로 변환, 언더그라운드에서 재판매. Chipotlai Max가 공개적으로 Chipotle 지원봇에 이 기법을 시연.
  • 세션 경계 방어의 무력화: 재판매 어댑터가 세션 경계 역할 — 하위 사용자가 어댑터에서 인증하므로 피해 엔드포인트의 per-session 검증이 무효화.
  • 실제 공격 타임라인: 2026년 4월 12일, 정상 대비 10배 트래픽, 최고 1,300 req/min, 하루 잠재 비용 $10,000 이상, 거주용 프록시 분산으로 IP 속도 제한 우회.
  • 요청 단위 검증이 필요한 이유: 공격자는 우회 비용을 수천 개 탈취 요청으로 분산해 세션 단위 우회 비용을 희석 — 요청마다 검증하면 경제성 붕괴.
  • BotID 서버 측 구현: checkBotId() 함수가 봇 감지 시 403 반환. app/api/ai-chat/route.ts에 if (verification.isBot) return 403 한 줄 추가.
  • BotID 클라이언트 측: initBotId({ protect: [{ path: '/api/ai-chat', method: 'POST' }] }) 로 보호 경로 선언. 경로 선언 없으면 챌린지 헤더 미첨부로 무효화.
  • 결과: 초기 수만 건 봇 요청 차단, 24시간 내 트래픽 완전 정상화.
  • 권고 액션: 모든 AI 엔드포인트 식별 → 호출자 프롬프트 제어 수준으로 위험도 우선순위화 → 요청 단위 검증 게이트 적용.
왜 읽나AI 서비스 엔드포인트를 운영하는 백엔드·보안 엔지니어에게 추론 절도 공격 메커니즘과 TypeScript 수준 방어 구현을 실제 사례·수치·코드로 제공.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 보안·gitlab-engGitLab Blog·

    Serena MCP 에이전트의 치명적 원격 코드 실행 취약점 분석

    GitLab 보안팀이 AI 코딩 에이전트 Serena(월 PyPI 다운로드 13.6만 건)에서 치명적 원격 코드 실행 취약점을 발견했다. Jinja2 비샌드박스 환경과 신뢰 모델의 미검사 경로가 결합해 개발자가 악의적 저장소를 열기만 해도 코드가 실행된다. serena-agent 1.7.0에서 SandboxedEnvironment 교체로 수정 완료됐다.

    요약 이어보기
    #mcp#security#rce+2