AI-09

🧮 벡터·임베딩 취약점

AI/LLM 보안 · RAG/벡터DB

위험도: 중
💡 쉽게 말하면
벡터 DB 취약점은 서가가 잠기지 않은 도서관과 같습니다. 임원 서가의 급여 문서도 검색 창에 단어만 넣으면 누구나 빌려집니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 인턴 계정으로 임원 보상 문서를 검색해 본다 # [공격 실행] 버튼을 누르면 시작합니다.

🤖 AI 코치에게 물어보기 BYO 키 하이브리드

API 키 없이도 데모 AI(오프라인 사전 정의 답변)가 바로 답합니다. Claude API 키를 저장하면 이 페이지 주제(AI-09)에 대해 실제 LLM에게 자유롭게 질문할 수 있어요. 키는 이 탭에만 보관되고(탭을 닫으면 삭제) 사이트 서버로 전송되지 않습니다. 이 사이트는 XSS 실습 페이지를 함께 제공하므로, 권한을 최소화한 전용 키를 쓰고 실습 후에는 폐기하세요.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 전 사원 문서를 한 컬렉션에 임베딩 user$ (인턴) "임원 보상 자료 요약해줘" >> 유사도 상위: [급여.개인별.pdf] → 권한 밖 문서 노출
✓ 안전한 설정
# 문서별 ACL 반영 + 사용자별 필터 sys$ 검색 시 사용자 권한 필터 적용 >> 접근 가능한 문서만 검색됨 → 권한 경계 유지

🔧 조치 방법

  1. 벡터 DB 저장 시 문서별 접근 제어(ACL) 메타데이터를 함께 저장합니다.
  2. 검색 쿼리에 사용자 권한 필터를 필수로 적용합니다.
  3. 임베딩 원본·메타데이터 저장소의 접근 통제와 암호화를 점검합니다.

✅ 점검 체크리스트

  • 검색에 사용자 권한 필터 적용됨
  • 벡터 DB 접근 통제·암호화 점검됨
점검기준: OWASP LLM08 Vector and Embedding Weaknesses