🛡️ Aegis(Shopping RAG Chatbot Security Filter)
RAG 기반 온라인쇼핑몰 챗봇 AI 보안 모델
"AI 기술의 발전만큼 교묘해진 공격 기법, 딥러닝 기반의 전처리 보안 모델로 LLM 기반 RAG 시스템의 안전을 보장합니다."
Aegis는 특정 도메인인 온라인 쇼핑몰 RAG(Retrieval-Augmented Generation) 챗봇에 탑재하기 위해 개발된 보안 특화 딥러닝 모델입니다. 최종 추천 쇼핑 아이템을 사용자에게 추천해주기 위해 LLM API로 전달하기 전, 4가지 클래스로 정밀 분류하여 프롬프트 인젝션, 시스템 정보 유출, 오염된 데이터 주입 등을 탐지하고 초기에 차단합니다.
1. 프로젝트 개요
왜 Aegis를 만들었는가?
최근 LLM이 비약적으로 발전함에 따라 AI를 대상으로 한 해킹 기술도 함께 진화하고 있습니다. 기업용 챗봇은 내부 데이터를 참조하는 RAG 시스템을 주로 사용하는데, 이때 LLM API 자체만으로는 사용자의 악의적인 지시 사항(Prompt Injection)이나 시스템 구조 탈취 시도를 완벽히 방어하기 어렵습니다.
챗봇에 보안 모델이 왜 필요한가?
- LLM의 무방비성: 상용 LLM은 "이전 지시를 무시하라"는 식의 공격에 취약하여 기업의 페르소나나 지침을 어길 수 있습니다.
- RAG 시스템 보호: 검색된 외부 문서 내에 악성 명령이 숨겨져 있을 경우, 보안 모델이 없다면 시스템이 무방비로 노출됩니다.
- 중간 방어 레이어: LLM API 호출 전 단계에서 딥러닝 모델이 필터링을 수행함으로써 보안성과 효율성을 동시에 확보합니다.
구현 목표
- 질문 4분류: 사용자 입력을 '쇼핑직접', '쇼핑연관', '공격', '쇼핑무관'으로 정밀 분류합니다.
- 멀티모달 보안: 텍스트뿐만 아니라 이미지와 문서 내 은닉된 공격까지 탐지합니다.
- 고성능 한국어 모델: 한국 챗봇에서 사용한다 가정하여 KcELECTRA 기반의 한국어 특화 모델을 구축하여 높은 탐지율을 달성합니다.
2. 개발 히스토리 & 문제 해결
Aegis는 단순한 학습을 넘어, 단계별 문제 해결을 통해 실전형 모델로 거듭났습니다.
한국어 데이터 구축 및 유형 세분화
- 문제: 공격이 다채로운 언어 및 시스템 명령어 대부분이 영어 이다보니 초기 영문 데이터셋만으로는 한국어 특유의 공격 패턴 학습이 불가능했습니다.
- 해결: 한국어 명령형 공격, 가스라이팅, 소설 위장 공격 등 36종의 공격 유형을 직접 생성하여 방어 기반을 마련했습니다.
오탐(False Positive) 교정 및 문맥 학습
- 문제: "SQL 인젝션 예방법 알려줘"와 같은 정상적인 보안 학습 질문을 공격으로 오탐하는 문제가 발생했습니다.
- 해결: 보안 키워드가 포함됐지만 안전한 문장(False Positive Safe) 데이터를 보강하여, 모델이 단어가 아닌 문맥 전체를 읽도록 개선했습니다.
도메인 특화 및 RAG 보안 강화
- 문제: 쇼핑몰 도메인 데이터 부족과 RAG 검색 결과 오염 위협이 확인되었습니다.
- 해결: 쇼핑 직접/연관 질문 4,000개 이상 보강 및 RAG 검색된 개별 상품에 대한 재검증 루프를 파이프라인에 추가했습니다.
📊 데이터셋 현황 (Datasets)
Aegis 보안 모델은 총 18,354개의 고유한 한국어 중심 멀티모달 텍스트 데이터를 통해 학습되었습니다. 단순한 이진 분류를 넘어 실제 쇼핑몰 서비스 환경에서 발생할 수 있는 다양한 입력 시나리오를 반영하고 있습니다.
데이터 구성 요약(label 설명)
| label | 의미 | 수량 | 비율 |
|---|---|---|---|
| 0 | 쇼핑 직접 문의 | 3,000개 | 16.35% |
| 1 | 보안 공격 (37종) | 4,502개 | 24.53% |
| 2 | 쇼핑 연관 가능 | 5,880개 | 32.04% |
| 3 | 쇼핑 완전 무관 | 4,972개 | 27.09% |
| 합계 | 18,354개 | 100% |
주요 데이터 특징
- 클래스 균형: 데이터 정제 및 샘플링을 통해 클래스 간 불균형 비율을 1.5:1로 최적화하여 특정 라벨로의 편향을 방지했습니다.
- 언어 구성: 한국어 70% 이상, 영문 및 한영 혼합 데이터를 포함하여 다국어 프롬프트 인젝션에 대응합니다.
- 중복 제거: 과적합(Overfitting) 방지를 위해 55%에 달하던 중복 문장을 모두 제거하여 고유 샘플 100%로 구성했습니다.
특수 강화 데이터군
실전 환경의 엣지 케이스와 보안 위협을 방어하기 위해 아래와 같은 특수 데이터를 집중 보강했습니다.
- RAG 특화 공격 (injection_attack): 상품 설명이나 DB 검색 결과 내에 숨겨진 악성 페이로드 패턴.
- 멀티모달 묘사 대응 (damage_shopping): "파손", "고장", "깨진" 등 사진 분석 텍스트에서 흔히 발생하는 오탐 방지 데이터.
- 오탐 교정 (false_positive_safe): Root, Admin, SQL 등 보안 키워드가 포함되었으나 안전한 IT/보안 질문 데이터.
- 감정+상황 기반 쇼핑: "미세먼지 때문에 걱정돼서 공기청정기 추천해줘"와 같이 감정과 상황이 복합된 연관 질문.
3. 모델 성능 (Performance Results)
Aegis는 v1에서 v7에 이르기까지 단계적 성능 향상을 보였습니다.
| 모델 버전 | Accuracy | Precision | Recall | F1-Score |
|---|---|---|---|---|
| Aegis_Ko_v2 | 0.7355 | 0.7462 | 0.7492 | 0.7477 |
| Aegis_Ko_v3 | 0.8824 | 0.8833 | 0.8853 | 0.8843 |
| Aegis_Ko_v5 | 0.8903 | 0.9005 | 0.8923 | 0.8964 |
| Aegis_Ko_final | 0.9456 | 0.9630 | 0.9568 | 0.9599 |
4. 검증 및 테스트 (Verification)
텍스트 직접 검증
임계값(Threshold) 기반의 위험도 점수 산출 로직을 통해 정밀 진단을 수행합니다.
- 점수 매핑: 0~100점 사이의 점수를 부여하여 '차단(🚨)', '소프트 거절(⚠️)', '통과(✅)' 판정을 내립니다.
- 테스트 사례: 고난도 경제 이론 질문(쇼핑무관), Jailbreak 시도(공격), 불평 기반 쇼핑 의도(쇼핑연관) 등을 정확히 분류했습니다.
파일 및 멀티모달 검증
다양한 문서 및 이미지 파일에 공격 문구를 삽입하여 보안성을 테스트했습니다.
- 은닉 공격 방어: 배경색과 동일한 색상으로 작성되어 눈에 보이지 않는 공격 문구를 Gemini 전처리를 통해 강제 추출하고, 이를 Aegis가 즉시 차단하는 이중 방어 체계를 검증했습니다.
- 다양한 포맷 지원:
png,pdf,txt,xlsx,docx등 다양한 파일에 대해 인젝션 시도 및 쇼핑 무관 파일 업로드 시 소프트 차단 동작을 완료했습니다.
5. 최종 보안 파이프라인 (Security Pipeline)
- 파일 전처리: 메타데이터 제거 및 가시성 확보.
- LLM 정규화: 입력 데이터의 핵심 의도 추출 및 보안 지시문 삽입.
- Aegis v7 필터: 4분류 판정 후 쇼핑몰 1.적합/2.연관 질문 판정시 통과 또는 3.공격시 차단, 4.쇼핑 질문 아닐시 소프트거절
- RAG 개별 검증: 검색된 상품 각각에 대해 다시 한번 Aegis 보안 검사 수행.
- LLM 응답 생성: 구조화된 XML 태그를 활용하여 최종 답변 생성.
- 후처리 필터: API 키, 개인정보 노출 여부를 마지막으로 점검 후 출력.
6. 시작하기
환경설정(API 키 설정)
본 프로젝트는 Google Gemini 3.1 모델을 활용합니다.
- Google AI Studio에서 무료 API 키를 발급받습니다.
- 프로젝트 루트 폴더에
.env파일을 생성하고 아래와 같이 키를 입력합니다.GEMINI_API_KEY=발급받은_API_키
모델 TEST 방법
Github 참조
- Aegis_AI 깃허브 링크 (Ctrl + 클릭 시 새 창에서 열립니다)
- Downloads last month
- 109