※ 본 포스트는 "SW 산학협력 프로젝트"에 앞서 LLM 및 AI와 관련된 학습을 위해 읽은 논문의 요약본입니다.
※ 비영리적인 순수한 학습 기록용입니다.
※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.
포스팅에 앞서 해당 논문은 아래의 링크에서 확인할 수 있습니다.
OWASP Top 10 2025 번역본
LLM05: 2025 부적절한 출력 처리
다섯 번째 챕터의 주제는 "부적절한 출력 처리"이다.
부적절한 출력 처리
LLM이 생성한 콘텐츠는 프롬프트 입력에 의해 제어될 수 있기에, 기능에 대한 간접적인 접근을 제공하는 것과 유사하다.
부적적한 출력 처리
LLM이 생성한 출력을 다른 구성 요소와 시스템에 전달하기 전에 충분한 검증, 정제 및 처리가 이루어지지 않는 것
해당 취약점을 악용하면 아래와 같은 문제가 발생할 수 있다
- XSS (Cross-Site Scripting)
- CSRF (Cross Site Request Forgery, )
- SSRF (Server-Side Request Forgery, 서버 측 요청 위조)
- 권한 상승 또는 원격 코드 실행
아래와 같은 조건들이 취약점으로 이어질 수 있다.
- LLM에게 과도한 권한 부여
- 애플리케이션이 간접 프롬프트 인젝션 공격에 취약
- 타사 확장 프로그램에 대한 검사 미비
- 다양한 컨텍스트에 대한 적절한 출력 인코딩의 부족
- LLM 출력에 대한 모니터링과 로깅 부족
- LLM 사용에 대한 소도 제한이나 이상 감지 기능의 부재
부적절한 출력 처리 vs 과도한 의존성
부적절한 출력 처리는 LLM이 생성한 출력이 다운스트림으로 전달되기 전에 다룬다.
과도한 의존성은 LLM 출력의 정확성과 적절성에 초점을 맞춘다.
일반적 취약점 예시
LLM 출력의 직접 입력
LLM의 출력이 시스템 쉘이나 일부 함수에 직접 입력되어 원격 코드 실행 발생
Javascript 및 markdown 반환
LLM에 의해 생성된 파일들이 브라우저에 의해 해석되어 XSS 발생
SQL 쿼리에 대한 인코딩 부족
LLM이 생성한 SQL 쿼리가 적절한 매개변수화 없이 실행되어 SQL 인젝션 발생
적절한 정제 처리 부족
LLM 출력에 의한 파일 경로 구성에 적절한 정제 처리 부족으로 인한 경로 탐색 취약점 발생
이스케이프 처리 부재
생성된 콘텐츠가 적절한 이스케이프 처리 없이 이메일 템플릿에 사용되어 피싱 공격에 노출
예방 및 완화 전략
01. 모델 접근 제한 및 응답 검사
- 모델을 다른 이용자와 동일하게 취급하여 제로 트러스트 접근 방식 채택
- 백엔드 함수로 전달되는 응답에 대한 입력 유효성 검사 적용
제로 트러스트 접근 방식
"절대 신뢰하지 말고, 항상 검증하라"는 원칙
네트워크 내외부의 모든 접속 요청을 위협으로 간주하고 인증 및 권한을 철저하게 검증하는 보안 프레임워크
02. 입력 유효성 검사 및 정제
OWASP ASVS (Application Security Verification Standard, 애플리케이션 보안 검증 표준) 지침을 따름으로서, 효과적인 검사 및 정제 보장
03. 원치 않는 코드 실행 방지
모델 출력을 이용자에게 다시 인코딩
04. 다양한 컨텍스트에 대한 적절한 출력 인코딩 제공
- LLM 출력의 사용 위치에 따른 컨텍스트 인식 출력 인코딩 구현
컨텍스트 인식 출력 인코딩
어떤 상황(Context)에 렌더링되거나 사용되느냐에 따라 다른 방식으로 Escape 또는 인코딩 적용
05. SQL 쿼리에 대한 인코딩 제공
모든 DB 작업에 대한 매개변수화된 쿼리나 준비된 구문 사용
06. XSS 공격 위험 완화
엄격한 콘텐츠 보안 정책 (Content Security Policies, CSP) 적용
07. 악용 시도를 나타낼 수 있는 비정상적 패턴 감지
강력한 로깅 및 모니터링 시스템 구현
공격 시나리오 예시
#01. LLM 확장자를 사용하여 챗봇 기능에 대한 응답 생성
출력 유효성 검사 없이 확장 프로그램에 직접 응답 전달 -> 유지 관리를 위해 확장 프로그램 종료
#02. LLM으로 구동되는 도구로 웹사이트 기사 요약
민감한 콘텐츠를 캡쳐하도록 지시하는 프롬프트 인젝션이 포함된 웹사이트 -> 민감한 데이터 인코딩 및 공격자 제어 서버로 정보 전송
#03. 백엔드 DB에 대한 SQL 쿼리 작성이 가능한 LLM 채팅
모든 DB 테이블을 삭제하는 쿼리 요청 -> 면밀한 검토 부재로 모든 DB 테이블 삭제
#04. 출력 정제 처리가 없는 웹 앱
LLM을 사용하여 출력 정제 처리 없이 텍스트 프롬프트에서 콘텐츠 생성 -> 프롬프트의 유효성 검사 불충분 -> 위험한 자바스크립트 페이로드 반환으로 인한 XSS 유발
#05. 동적 이메일 템플릿을 생성하는 LLM
LLM을 조작하여 악성 자바스크립트를 이메일 콘텐츠에 포함 -> 적절한 정제의 부재로 인해 이메일 수신자에게 XSS 공격 발생
#06. 자연어 입력으로부터 코드를 생성하는 LLM
개발 작업을 하는데 효율적이긴 하나, 취약점이 발생할 위험 있음
'Security > Paper & Report' 카테고리의 다른 글
| [Report] LLM OWASP #07: 2025 시스템 프롬프트 유출 (0) | 2026.04.23 |
|---|---|
| [Report] LLM OWASP #06: 2025 과도한 위임 (0) | 2026.04.23 |
| [Report] LLM OWASP #04: 2025 데이터 및 모델 오염 (0) | 2026.04.23 |
| [Report] LLM OWASP #03: 2025 공급망 (0) | 2026.04.23 |
| [Report] LLM OWASP #02: 2025 민감 정보 유출 (0) | 2026.04.23 |