---
title: "OWASP LLM Top 10 2026｜열 가지 리스크를 하나씩 | TauX"
description: "열 리스크 각각의 정의, 실제 공격면, 막는 법. 2025에서 2026으로의 순위 변동, 범위가 넓어진 네 조항, 그리고 순위 정하는 방식이 어떻게 바뀌었는지."
url: "https://taux.io/ko-KR/owasp-llm-top-10"
locale: "ko-KR"
alternates:
  en-US: "https://taux.io/en-US/owasp-llm-top-10"
  ja-JP: "https://taux.io/ja-JP/owasp-llm-top-10"
  zh-Hans-CN: "https://taux.io/zh-Hans-CN/owasp-llm-top-10"
  zh-Hant-TW: "https://taux.io/zh-Hant-TW/owasp-llm-top-10"
---

# OWASP LLM Top 10 — LLM 앱의 10대 보안 리스크 · 2026 판

열 가지 리스크를 하나씩. 정의, 실제 공격면, 그리고 막는 법. 기업이 AI 리스크를 점검할 때 첫 대조표입니다.

차례

*   [훑기](https://taux.io/ko-KR/owasp-llm-top-10#overview)
*   [LLM01 프롬프트 인젝션](https://taux.io/ko-KR/owasp-llm-top-10#prompt-injection)
*   [LLM02 민감 정보 유출](https://taux.io/ko-KR/owasp-llm-top-10#sensitive-information-disclosure)
*   [LLM03 과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency)
*   [LLM04 공급망](https://taux.io/ko-KR/owasp-llm-top-10#supply-chain)
*   [LLM05 데이터와 모델 오염](https://taux.io/ko-KR/owasp-llm-top-10#data-and-model-poisoning)
*   [LLM06 끝없는 소비](https://taux.io/ko-KR/owasp-llm-top-10#unbounded-consumption)
*   [LLM07 잘못된 정보](https://taux.io/ko-KR/owasp-llm-top-10#misinformation)
*   [LLM08 숨긴 맥락의 노출](https://taux.io/ko-KR/owasp-llm-top-10#hidden-context-exposure)
*   [LLM09 벡터와 임베딩 취약점](https://taux.io/ko-KR/owasp-llm-top-10#vector-and-embedding-weaknesses)
*   [LLM10 출력 처리 미흡](https://taux.io/ko-KR/owasp-llm-top-10#improper-output-handling)

00

## 2025 → 2026에서 바뀐 것

이 페이지의 열 조항은 **2026 판**을 따릅니다. **순위 변동이 예년보다 큽니다**. 그러니 옛 판으로 점검한 목록은 다시 볼 값어치가 있습니다.

| 2025 | 2026 | 리스크                                             |
| ---- | ---- | ----------------------------------------------- |
| 01   | 01   | 프롬프트 인젝션 — 그대로                                  |
| 02   | 02   | 민감 정보 유출 — 그대로                                  |
| 06   | 03   | 과도한 권한 **— 세 계단 상승. 이번에 가장 무거운 이동**             |
| 03   | 04   | 공급망 — 한 계단 하락                                   |
| 04   | 05   | 데이터와 모델 오염 — 한 계단 하락                            |
| 10   | 06   | 끝없는 소비 **— 네 계단 상승**                            |
| 09   | 07   | 잘못된 정보 — 두 계단 상승                                |
| 07   | 08   | 숨긴 맥락의 노출 **— 이름을 바꾸고 범위를 넓힘**(옛 「시스템 프롬프트 유출」) |
| 08   | 09   | 벡터와 임베딩 취약점 — 한 계단 하락                           |
| 05   | 10   | 출력 처리 미흡 **— 다섯 계단 하락. 이번에 가장 큰 낙폭**            |

**네 조항은 범위가 넓어진 것이지 항목이 늘어난 것이 아닙니다.**OWASP의 방식은 새로 나타난 리스크를 이미 그것을 품은 조항에 접어 넣는 것입니다. 목록을 잘게 쪼개지 않기 위해서입니다. 프롬프트 인젝션에는 **모달리티를 넘나드는** 공격(이미지나 음성에 지시를 숨김). 공급망에는 **모델 산출물의 이름과 실체 불일치**. 데이터와 모델 오염에는 **파인튜닝 단계의 탈취**. 출력 처리 미흡에는 **어시스턴트가 대량으로 만드는 안전하지 않은 코드**. 

**순위를 정하는 방식이 바뀌었습니다. 2026 판에서 가장 알 값어치가 있는 부분입니다.** 그 전까지 순위는 온전히 커뮤니티 투표였습니다. 2026 판에서 처음으로 사고 데이터가 들어옵니다. 공개 취약점 데이터베이스와 AI 피해 데이터베이스에서 모은 실제 사고 7,714건, 그중 6,639건이 분류할 만한 상세를 갖췄습니다. 최종 가중치는 **투표 4분의 3, 데이터 4분의 1**—— 일부러 투표를 주로 삼았습니다. 한 해치 데이터로는 실무자의 판단을 뒤집기에 모자라다는 이유입니다.

둘이 어긋나는 곳이 일치하는 곳보다 정보가 많습니다. 가장 분명한 예가 프롬프트 인젝션입니다. **사고 데이터만 보면 열 위 밖으로 떨어집니다**—— 그러나 OWASP는 그것이 **막아 낸 결과**이지 리스크가 낮아진 것이 아니라고 봤습니다. 이 조항에 팀이 가장 많이 투자했고, 깔끔하게 막힌 사례는 공개 데이터베이스에 잘 들어가지 않기 때문입니다. 1위 그대로입니다. 잘못된 정보는 반대로 투표에서 낮고 사고 데이터에서 높습니다. 어긋남이 가장 크고, 어긋난 방향이 아픈 쪽인 조항입니다.

기억해 둘 경계가 하나 더 있습니다. **이 목록이 다루는 것은 '앱의 부품으로서의 모델'입니다.** 모델이 도구를 부르고, 작업을 넘어 기억을 지니며, 하류에 결과를 미치는 **행위자**가 된 시점에 리스크는 OWASP의 Agentic Top 10으로 옮겨 갑니다. 두 목록은 함께 봐야 합니다.

01

## 열 조항 훑기

| #     | 리스크                                                                                   | 영어 원명                            |
| ----- | ------------------------------------------------------------------------------------- | -------------------------------- |
| LLM01 | [프롬프트 인젝션](https://taux.io/ko-KR/owasp-llm-top-10#prompt-injection)                   | Prompt Injection                 |
| LLM02 | [민감 정보 유출](https://taux.io/ko-KR/owasp-llm-top-10#sensitive-information-disclosure)   | Sensitive Information Disclosure |
| LLM03 | [과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency)                     | Excessive Agency                 |
| LLM04 | [공급망](https://taux.io/ko-KR/owasp-llm-top-10#supply-chain)                            | Supply Chain                     |
| LLM05 | [데이터와 모델 오염](https://taux.io/ko-KR/owasp-llm-top-10#data-and-model-poisoning)         | Data and Model Poisoning         |
| LLM06 | [끝없는 소비](https://taux.io/ko-KR/owasp-llm-top-10#unbounded-consumption)                | Unbounded Consumption            |
| LLM07 | [잘못된 정보](https://taux.io/ko-KR/owasp-llm-top-10#misinformation)                       | Misinformation                   |
| LLM08 | [숨긴 맥락의 노출](https://taux.io/ko-KR/owasp-llm-top-10#hidden-context-exposure)           | Hidden Context Exposure          |
| LLM09 | [벡터와 임베딩 취약점](https://taux.io/ko-KR/owasp-llm-top-10#vector-and-embedding-weaknesses) | Vector and Embedding Weaknesses  |
| LLM10 | [출력 처리 미흡](https://taux.io/ko-KR/owasp-llm-top-10#improper-output-handling)           | Improper Output Handling         |

LLM01

## 프롬프트 인젝션 — Prompt Injection

정의

모델의 맥락에 들어온 어떤 입력이든 그 행동을 바꾸어 개발자의 의도에서 벗어나게 합니다. 모델은 구조상 '지시'와 '데이터'를 가르지 못합니다. 둘 다 같은 토큰 열 위의 토큰이며, 매개변수화 질의에 해당하는 깔끔한 해법이 없습니다.

상황

직접 인젝션은 입력창에 "앞의 모든 지시를 무시하라"고 쓰는 것. 간접 인젝션은 모델이 읽으러 갈 웹페이지, 메일, 문서 안에 지시를 숨기는 것입니다.**2026 판은 모달리티를 넘나드는 공격을 이 조항에 넣었습니다**—— 이미지나 음성에 지시를 숨깁니다. 사람 눈에는 안 보이고 모델은 읽습니다.

막는 법

단일 해법은 없습니다. 원칙은 바깥에서 온 내용을 모두 믿을 수 없는 데이터로 다루고, 권한을 **모델 바깥에서** 강제하는 것입니다. 모델이 설득당해도 권한까지 느슨해져서는 안 됩니다.

왜 아직 1위인가사고 데이터만 보면 열 위 밖으로 떨어지지만, OWASP는 그것을 **막아 낸 결과**이라고 봤습니다. 이 조항에 팀이 가장 많이 투자했고 깔끔하게 막힌 사례는 공개 데이터베이스에 잘 안 들어갑니다. 공격면 자체는 줄지 않았습니다.

더 보기 [작동 원리, 탈옥과의 차이, 여러 겹의 방어](https://taux.io/ko-KR/what-is-prompt-injection) 

관련 [LLM03 과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency) / [LLM10 출력 처리 미흡](https://taux.io/ko-KR/owasp-llm-top-10#improper-output-handling) 

LLM02

## 민감 정보 유출 — Sensitive Information Disclosure

정의

모델의 출력이 그 사용자에게 주면 안 되는 정보를 흘립니다. 개인정보, 인증 정보, 영업 비밀, 또는 다른 사용자의 데이터.

상황

RAG가 지식 베이스 전체의 권한을 한결같이 다뤄서, 영업 부서 사람이 법무만 봐야 할 계약 조항을 끌어낼 수 있게 됩니다. 모델이 틀린 것이 아닙니다. 검색 층에 처음부터 경계가 없었습니다.

막는 법

1.  01검색**하기 전에** 사용자 권한을 적용합니다. 프롬프트로 "말하지 마"라고 부탁하는 것은 통제가 아니라 요청입니다.
2.  02입력과 출력 양쪽에서 민감 데이터 탐지와 가리기를 합니다.
3.  03학습이나 파인튜닝에 쓰는 데이터는 먼저 비식별화합니다. 모델이 외운 것은 나중에 거둘 수 없습니다.

관련 [LLM08 숨긴 맥락의 노출](https://taux.io/ko-KR/owasp-llm-top-10#hidden-context-exposure) / [LLM09 벡터와 임베딩 취약점](https://taux.io/ko-KR/owasp-llm-top-10#vector-and-embedding-weaknesses) 

LLM03

## 과도한 권한 — Excessive Agency

정의

시스템이 모델에 기능·권한·자율성을 너무 많이 주어, 한 번의 판단 실수가 실제 손해가 됩니다.

상황

메일을 정리하는 agent에 발송과 삭제 권한까지 얹어 줍니다. 같은 인증 정보를 쓰고 있어서 나누기가 번거로웠기 때문입니다. 그러면 지시를 심은 메일 한 통으로 밖으로 메일을 보내게 할 수 있습니다. 권한은 편의를 위해 주어졌고, 값은 공격면입니다.

막는 법

1.  01도구의 권한은 최소 집합으로. '혹시 쓸지도 모르는' 기능은 주지 않습니다.
2.  02위험이 크거나 되돌릴 수 없는 동작은 사람의 확인을 끼우고, 그 화면에서 무슨 일이 일어나는지 분명히 보입니다.
3.  03권한은 도구 층에서 강제하고 프롬프트의 약속에 기대지 않습니다. 프롬프트는 설득되지만 권한 체계는 설득되지 않습니다.

2026 변동 **6위에서 3위로. 이번에 가장 무거운 이동입니다.** 투표와 사고 데이터가 이 조항에서는 드물게 일치했습니다. 손해는 agent화된 운영 안에서 실제로 일어나고 있습니다.

관련 [LLM01 프롬프트 인젝션](https://taux.io/ko-KR/owasp-llm-top-10#prompt-injection) / [LLM10 출력 처리 미흡](https://taux.io/ko-KR/owasp-llm-top-10#improper-output-handling) 

LLM04

## 공급망 — Supply Chain

정의

모델 가중치, 데이터셋, 패키지, 확장의 출처 자체가 믿을 수 없거나 이미 오염돼 있습니다. 기존 소프트웨어 공급망 문제에, 소스를 읽어 감사할 수 없는 종류의 자산이 더해집니다.**2026 판은 '모델 산출물의 이름과 실체 불일치'를 이 조항에 넣었습니다**—— 배포되는 그 가중치가 스스로 밝힌 그것이 아닙니다.

상황

공개 모델 저장소에서 내려받은 파인튜닝 가중치, 출처를 모르는 LoRA 어댑터, agent 도구 사슬 속 제삼자 패키지. 프런트엔드 코드는 한 줄씩 읽어도 그 가중치 파일 속은 읽지 못합니다.

막는 법

1.  01모델과 데이터셋을 소프트웨어 의존물과 같이 다룹니다. 출처 확인, 버전 고정, 해시 대조.
2.  02AI 자재 명세서를 만들어 유지합니다. '결국 우리가 뭘 넣었나'를 찾으면 답이 나오는 물음으로 만들기 위해서입니다.
3.  03제삼자 모델은 격리된 환경에서 행동을 평가한 뒤 올립니다. 권한 있는 시스템에 바로 잇지 않습니다.

관련 [LLM05 데이터와 모델 오염](https://taux.io/ko-KR/owasp-llm-top-10#data-and-model-poisoning) 

LLM05

## 데이터와 모델 오염 — Data and Model Poisoning

정의

누군가 사전 학습, 파인튜닝, 임베딩 데이터에 내용을 심어 모델의 행동을 바꾸거나, 특정 신호가 나올 때만 움직이는 뒷문을 묻습니다.**2026 판은 파인튜닝 단계의 탈취를 분명히 포함했습니다**.

상황

학습 데이터로 긁혀 들어갈 공개 페이지에 특정 신호와 그에 맞는 틀린 답이 일부러 적힙니다. 모델은 보통의 시험에서 모두 정상이고, 그 말을 만났을 때만 방향을 바꿉니다 —— 막기 어려운 까닭이 여기 있습니다. 이상은 당신이 시험하는 곳에 나오지 않습니다.

막는 법

1.  01학습과 파인튜닝 데이터는 출처를 따라갈 수 있게. 어느 묶음을 누가 넣었는지 알 수 있을 것.
2.  02고정된 기준 집합과 맞춰 행동의 어긋남을 봅니다. 전체 지표가 나빠졌는지만 보지 않습니다.
3.  03파인튜닝 뒤에 레드팀을. 특히 신호처럼 좁은 조건에서만 드러나는 행동을 겨눠서.

관련 [LLM04 공급망](https://taux.io/ko-KR/owasp-llm-top-10#supply-chain) / [LLM07 잘못된 정보](https://taux.io/ko-KR/owasp-llm-top-10#misinformation) 

LLM06

## 끝없는 소비 — Unbounded Consumption

정의

추론 사용량에 경계가 없어 비용이 통제를 벗어나고, 서비스가 나빠지고, 또는 모델의 행동이 대량 질의로 베껴집니다.

상황

공개 대화 엔드포인트에 속도 제한이 없어, 입력과 출력 쌍을 모아 행동을 베끼려는 호출이 이어집니다. 청구서와 지연이 함께 나빠지지만 모니터링에서는 '사용량 증가'로만 보입니다.

막는 법

1.  01사용자와 API 키별로 속도와 할당 상한을. 전체에 총량 하나만 두지 않습니다.
2.  02입력 길이와 출력 토큰 수, 양쪽을 제한합니다.
3.  03사용자별 비용을 감시하고 이상을 알립니다. 청구서로 알아차릴 때는 대개 한 달 뒤입니다.

2026 변동 **10위에서 6위로, 네 계단 상승.** 실무자는 자원과 비용의 고갈을 예전 순위보다 훨씬 무겁게 봅니다.

관련 [LLM03 과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency) 

LLM07

## 잘못된 정보 — Misinformation

정의

모델이 그럴듯하지만 실제로는 틀린 내용을 내놓고, 하류가 그것을 사실로 씁니다. 해의 크기는 누가 받는지, 확인하는 사람이 있는지로 정해집니다.

상황

모델이 없는 패키지 이름을 지어내고 개발자가 그대로 설치합니다 —— 공격자는 이미 그 이름을 패키지 저장소에 등록해 두었습니다. 여기서 모델의 잘못은 그냥 잘못이 아닙니다. 예측할 수 있고 따라서 매복할 수 있는 길이 됩니다.

막는 법

1.  01출처가 필요한 자리에서는 반드시 검색을 거치고 인용을 붙입니다. 답에서 근원을 되짚을 수 있게.
2.  02중요한 판단에는 사람의 검토를 남기고, 검토하는 사람이 모델의 근거를 볼 수 있게 합니다.
3.  03불확실함을 사용자에게 알립니다. 추측을 단정하는 말투로 감싸지 않습니다.

2026 변동두 계단 상승. 그리고 **투표와 사고 데이터의 어긋남이 가장 큰 조항입니다**—— 실무자는 낮게, 실제 사고는 높게. 매끄럽고 자신 있는 출력이 한 번의 판단이나 한 번의 도구 호출을 움직인 순간, 틀린 답은 틀린 행동이 됩니다.

관련 [LLM05 데이터와 모델 오염](https://taux.io/ko-KR/owasp-llm-top-10#data-and-model-poisoning) 

LLM08

## 숨긴 맥락의 노출 — Hidden Context Exposure

정의

모델의 맥락에 넣지만 사용자에게는 보이지 않으려던 지시와 운영 정보가 **뽑히고, 추론되고, 되살려집니다**. 범위는 시스템 프롬프트만이 아닙니다. 개발자의 지시, 지식 베이스나 설정에서 가져온 정책 문구, 도구와 함수의 스키마, 그리고 앱이 맥락에 넣는 그 밖의 규칙과 소재도 들어갑니다. 공통점은 —— 사용자에게 보일 생각은 없지만 모델은 읽을 수 있다는 것.

상황

사용자가 바꿔 말하기, 번역, 역할극으로 모델이 제 지시를 되풀이하게 만들고, 거기 적힌 API 키, 사내 할인 규칙, 도구 권한이 함께 흘러나옵니다. 더 잘 안 보이는 쪽은 거절 규칙이 되살려지는 경우입니다. 사용자는 원래 "죄송하지만 그건 할 수 없습니다"만 봤는데, 새어 나온 뒤에는 그 말이 나오는 조건과 예외가 보여 돌아가는 길을 알게 됩니다.

막는 법

1.  01**숨긴 맥락은 언젠가 보인다고 보고 설계할 것**. 맥락에 둔 내용은 어느 것도 비밀이 아니라고 여깁니다. 이것이 근본 해법이고 나머지는 모두 덧댐입니다.
2.  02인증 정보, 접속 문자열, 토큰은 맥락에 두지 않습니다. 진짜 위험은 보이는 것이 아니라 애초에 거기 둔 것입니다.
3.  03숨긴 맥락을 인가, 권한 분리, 정책 집행, 내용 거르기의 **유일한** 경계로 삼지 않습니다. 그것들은 모델 바깥에서 성립시킵니다.

2026 변동 **2025 판의 「시스템 프롬프트 유출」을 대체하고 범위를 넓혔습니다.** 이름을 바꾼 것이 비추는 판단은 하나입니다. 문제는 그 프롬프트 자체가 아니라 '사용자 손이 닿지 않는 곳에 두어야 할 정보'라는 한 부류 전체라는 것.

관련 [LLM02 민감 정보 유출](https://taux.io/ko-KR/owasp-llm-top-10#sensitive-information-disclosure) / [LLM03 과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency) 

LLM09

## 벡터와 임베딩 취약점 — Vector and Embedding Weaknesses

정의

RAG에 쓰는 벡터 데이터베이스와 임베딩 자체가 공격면이 됩니다. 오염, 테넌트를 넘는 유출, 또는 임베딩 벡터에서 원문으로 되살리기.

상황

멀티테넌트 벡터 저장소가 테넌트별 단단한 격리 없이 검색 때 붙이는 걸러내기 조건에만 기댑니다. 한 번의 유사도 검색으로 고객 경계를 넘어가고, 그것을 알려 주는 오류는 하나도 나오지 않습니다.

막는 법

1.  01벡터 저장소는 테넌트와 권한으로 단단히 격리합니다. 격리를 검색 조건이 바르게 쓰였는지에 맡기지 않습니다.
2.  02들여오는 문서에는 출처 검증과 감사 흔적을. 어느 대목이 어떻게 들어왔는지 알 수 있게.
3.  03임베딩 자체를 민감 데이터로 보호합니다. 부분적으로 되살릴 수 있고 되돌릴 수 없는 해시가 아닙니다.

관련 [LLM02 민감 정보 유출](https://taux.io/ko-KR/owasp-llm-top-10#sensitive-information-disclosure) / [LLM05 데이터와 모델 오염](https://taux.io/ko-KR/owasp-llm-top-10#data-and-model-poisoning) 

LLM10

## 출력 처리 미흡 — Improper Output Handling

정의

모델의 출력이 검증 없이 하류 부품에 넘어가 실행되거나 표시됩니다. 이것은 모델의 문제가 아니라 모델을 받는 쪽 코드의 문제입니다.**2026 판은 어시스턴트가 대량으로 만드는 안전하지 않은 코드를 이 조항에 넣었습니다**.

상황

모델이 돌려준 문자열이 그대로 `innerHTML`로 들어가고, 그대로 SQL에 이어 붙고, 그대로 shell에 넘어갑니다. 한 번의 인젝션이 '모델이 이상한 말을 했다'에서 '공격자가 당신의 서버에서 명령을 실행했다'로 올라섭니다.

막는 법

1.  01모델을 믿을 수 없는 출처로 보고, 출력을 사용자 입력과 같이 다룹니다. 애초에 사용자 입력이 모양을 바꾼 것일 수 있습니다.
2.  02하류 맥락에 맞춰 출력을 이스케이프합니다. HTML, SQL, shell 각각 규칙이 있고 공통된 것은 없습니다.
3.  03매개변수화 질의를 쓰고 문자열을 이어 붙이지 않습니다.

2026 변동 **5위에서 10위로, 이번에 가장 큰 낙폭입니다.** 순위가 내려간 것이 해가 줄었다는 뜻은 아닙니다. 다른 조항이 올라가서 상대적으로 내려간 것이고, 이 조항의 범위는 오히려 넓어졌습니다.

관련 [LLM01 프롬프트 인젝션](https://taux.io/ko-KR/owasp-llm-top-10#prompt-injection) / [LLM03 과도한 권한](https://taux.io/ko-KR/owasp-llm-top-10#excessive-agency) 

출처

열 조항의 이름, 순서, 범위는 OWASP GenAI Security Project가 공표한 [Top 10 for LLM Applications](https://genai.owasp.org/llm-top-10/)2026 판 문서(라이선스 CC BY-SA 4.0)에서. 순위를 정하는 방식과 사고 데이터의 숫자도 같은 문서에 따릅니다. 이 페이지의 정리, 번역어, 막는 법은 TauX가 썼으며 OWASP의 입장을 나타내지 않습니다.

## 자사 LLM 앱이 걱정된다면

TauX Security Lab은 LLM 보안 점검과 레드팀 훈련으로 이 열 조항에 따라 하나씩 훑습니다.

[보안 상담 예약하기](mailto:hello@taux.io) [서비스 자세히 보기](https://taux.io/ko-KR)
