PE Notes · AI
OWASP Top 10 for LLM
웹 취약점 목록으로는 잡히지 않는 LLM 서비스의 열 가지 위협을 입력·모델·출력·도구 층으로 읽고, 프롬프트 인젝션과 단계별 가드레일을 구분합니다.
전통 웹 보안은 URL·쿠키·SQL을 봅니다. LLM 서비스는 문장이 곧 지시이고, 그 지시가 도구 호출까지 이어집니다. 은 이 차이를 열 개 위협으로 모아 둔 공개 목록입니다. 번호는 개정마다 조금 바뀌므로, 답안에는 번호보다 어느 층에서 무엇이 깨지는지를 쓰는 편이 낫습니다.
열 가지 위협을 층으로 읽기
입력은 지시를 덮어쓰고, 모델·데이터는 오염되거나 새며, 출력은 검증 없이 실행되고, 도구는 권한이 넓으면 피해가 커집니다.
| 층 | 위협 | 무엇이 깨지나 |
|---|---|---|
| 입력 | 사용자·외부 문서의 악의 지시가 시스템 프롬프트를 덮는다. | |
| 입력 | 무제한 소비 | 긴 입력·반복 질의로 추론 자원과 비용이 고갈된다. |
| 모델·데이터 | 학습 데이터 오염 | 학습·미세조정 데이터에 백도어나 왜곡이 섞인다. |
| 모델·데이터 | 공급망 | 사전학습 가중치, 플러그인, 의존 라이브러리가 침투 경로가 된다. |
| 모델·데이터 | 민감정보 노출 | 학습에 남은 개인정보·키가 응답에 그대로 나온다. |
| 출력 | 불안전한 출력 처리 | 모델이 만든 HTML·SQL·셸을 검증 없이 실행·렌더링한다. |
| 출력 | 허위정보 | 이나 조작된 근거를 사실처럼 퍼뜨린다. |
| 도구 | 파일 삭제·결제·메일 발송처럼 부작용이 큰 권한이 열려 있다. | |
| 검색 | 벡터·임베딩 약점 | RAG 저장소를 오염시켜 검색 근거 자체를 비튼다. |
| 자산 | 모델 도용·역전 | 반복 질의로 모델을 복제하거나 학습 원문을 추정한다. |
비교할 때는 진입점과 피해를 같이 적습니다. 인젝션은 입력 문장에서 시작하고, 과도한 에이전시는 이미 부여한 권한에서 시작하며, 민감정보 노출은 학습 데이터와 출력 필터의 공백에서 시작합니다.
| 비교축 | 프롬프트 인젝션 | 과도한 에이전시 | 민감정보 노출 |
|---|---|---|---|
| 진입점 | 프롬프트·외부 문서 | 도구 호출 권한 | 학습 데이터·응답 |
| 피해 | 지시 무시, 탈취 | 무단 실행 | 개인정보·기밀 유출 |
| 탐지 | 중간 | 중간~높음 | 높음 |
| 대응 | 입력 필터, 지시 계층 | , 사람 승인 | 출력 필터, 차분 프라이버시 |
프롬프트 인젝션 — 직접과 간접
직접 인젝션은 사용자가 채팅창에 “이전 지시를 무시하고…”를 넣는 형태입니다. 간접 인젝션은 웹 페이지·첨부·메일처럼 모델이 나중에 읽게 될 콘텐츠에 숨은 지시를 심습니다. RAG나 에이전트가 그 문서를 가져오면, 사용자는 악의 프롬프트를 직접 치지 않아도 됩니다.
대응도 한 필터로 끝나지 않습니다. 입력 층에서는 템플릿을 고정하고 사용자 문자열을 지시와 분리합니다. 모델 층에서는 안전 정렬과 출력 분류로 을 붙입니다. 에이전트 층에서는 외부 콘텐츠를 신뢰하지 않고, 부작용이 큰 행동은 사람 승인을 거칩니다.
개발·배포·운영으로 나눈 방어
목록을 외우기보다, 언제 무엇을 막는지가 아키텍처입니다. 개발에서 데이터를 검증하지 않으면 오염이 남고, 배포에서 권한을 넓히면 에이전시가 커지며, 운영에서 로그가 없으면 인젝션을 사후에라도 못 봅니다.
| 단계 | 막는 것 | 대표 수단 |
|---|---|---|
| 개발 | 오염, 공급망, 탈옥 | 데이터 출처, PII 제거, , 의존성 심사 |
| 배포 | 인젝션, 과도한 권한, 유출 | 입력 필터, 출력 검열, 속도제한, 최소 권한 |
| 운영 | 반복 공격, 사고 확대 | 질의 이상탐지, 감사 로그, 모델 롤백 |
제도 축으로는 NIST 와 국내 AI 기본법·이용자 보호 가이드가 같은 자리에 옵니다. 목록은 점검표이고, 운영은 가드레일과 최소 권한입니다.