AI-09
🧮 벡터·임베딩 취약점
AI/LLM 보안 · RAG/벡터DB
위험도: 중💡 쉽게 말하면
벡터 DB 취약점은 서가가 잠기지 않은 도서관과 같습니다. 임원 서가의 급여 문서도 검색 창에 단어만 넣으면 누구나 빌려집니다.
벡터 DB 취약점은 서가가 잠기지 않은 도서관과 같습니다. 임원 서가의 급여 문서도 검색 창에 단어만 넣으면 누구나 빌려집니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 인턴 계정으로 임원 보상 문서를 검색해 본다
# [공격 실행] 버튼을 누르면 시작합니다.
🤖 AI 코치에게 물어보기 BYO 키 하이브리드
API 키 없이도 데모 AI(오프라인 사전 정의 답변)가 바로 답합니다. Claude API 키를 저장하면 이 페이지 주제(AI-09)에 대해 실제 LLM에게 자유롭게 질문할 수 있어요. 키는 이 탭에만 보관되고(탭을 닫으면 삭제) 사이트 서버로 전송되지 않습니다. 이 사이트는 XSS 실습 페이지를 함께 제공하므로, 권한을 최소화한 전용 키를 쓰고 실습 후에는 폐기하세요.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# 전 사원 문서를 한 컬렉션에 임베딩
user$ (인턴) "임원 보상 자료 요약해줘"
>> 유사도 상위: [급여.개인별.pdf]
→ 권한 밖 문서 노출
✓ 안전한 설정
# 문서별 ACL 반영 + 사용자별 필터
sys$ 검색 시 사용자 권한 필터 적용
>> 접근 가능한 문서만 검색됨
→ 권한 경계 유지
🔧 조치 방법
- 벡터 DB 저장 시 문서별 접근 제어(ACL) 메타데이터를 함께 저장합니다.
- 검색 쿼리에 사용자 권한 필터를 필수로 적용합니다.
- 임베딩 원본·메타데이터 저장소의 접근 통제와 암호화를 점검합니다.
✅ 점검 체크리스트
- 검색에 사용자 권한 필터 적용됨
- 벡터 DB 접근 통제·암호화 점검됨
점검기준: OWASP LLM08 Vector and Embedding Weaknesses