https://owasp.org/www-chapter-seoul/assets/files/LLMAll_ko-KR-2025-04-02.pdf
부적절한 출력 처리는 대규모 언어 모델이 생성한 출력을 다른 구성 요소와 시스템에 전달하기 전에 충분한 검증, 정제 및 처리가 이루어지지 않는 것을 특별히 지칭합니다. 이러한 취약점은 웹 브라우저에서 XSS와 CSRF를 발생할 수 있으며, 백엔드 시스템에서 SSRF, 권한 상승 또는 RCE를 초래할 수 있습니다.
다음과 같은 조건들은 이러한 취약점에 영향을 줄 수 있습니다.
- 애플리케이션이 최종 이용자에게 의도된 것 이상의 권한을 LLM에게 부여하여 권한 상승이나 원격 코드 실행이 가능해집니다.
- 애프리케이션이 간접 프롬프트 인젝션 공격에 취약하여 공격자가 대상 이용자의 환경에 대한 특별권한 접근을 얻을 수 있습니다.
- 타사 확장 프로그램이 입력을 적절히 검증하지 않습니다.
- 다양한 컨텍스트(HTML, JS, SQL)에 적절한 출력 인코딩이 부족합니다.
- LLM 출력에 대한 모니터링과 로깅이 불충분합니다.
- LLM 사용에 대한 속도 제한이나 이상 감지 기능이 존재하지 않습니다.
취약점 예시
1. LLM 출력이 시스템 쉘이나 exec 또는 eval과 같은 유사함수에 직접 입력되어 원격코드 실행이 발생합니다.
2. JS 혹은 Markdown이 LLM에 의해 생성되어 이용자에게 반환됩니다. 이 코드는 브라우저에 의해 해석되어 XSS가 발생합니다.
3. LLM이 생성한 SQL 쿼리가 적절한 매개변수 없이 실행되어 SQL 인젝션이 발생합니다.
4. LLM 출력이 적절한 정제 처리 없이 파일 경로를 구성하는 데 사용되어 잠재적으로 경로 탐색 취약점이 발생할 수 있습니다.
5. LLM이 생성한 콘텐츠가 적절한 이스케이프 처리 없이 이메일 템플릿에 사용되어 잠재적으로 피싱 공격으로 이어질 수 있습니다.
=> 대부분의 취약점은 LLM의 출력을 신뢰하는데서 발생하는 것 같습니다. 사실 openclaw 같은 툴을 쓰면 귀찮기 때문에 권한을 많이 주는 경우가 있는데, 이런 경우에도 문제가 발생하는 것 같고, 항상 과한 권한은 독이 되는 것 같습니다.
공격 시나리오 예시입니다.
공격 시나리오
시나리오 #1 : 이용자가 LLM으로 구동되는 웹사이트 요약 도구를 사용하여 기사에 대한 간결한 요약을 생성합니다. 이 웹사이트에는 웹사이트 또는 이용자의 대화에서 민감한 컨텐츠를 캡쳐하도록 LLM에 지시하는 프롬프트 인젝션이 포함되어 있습니다. 이후 LLM은 민감한 데이터를 인코딩하여 출력 유효성 검사나 필터링 없이 공격자가 제어하는 서버로 전송될 수 있습니다.
시나리오 #2 : LLM은 이용자가 채팅과 유사한 기능을 통해 백엔드 데이터베이스에 대한 SQL 쿼리를 작성할 수 있도록 합니다. 이용자가 몯느 데이터베이스 테이블을 삭제하는 쿼리를 요청할 때 LLM에서 작성되 쿼리를 면밀히 검토하지 않을 경우 모든 데이터베이스 테이블이 삭제됩니다.
시나리오 #3 : 웹 앱은 출력 정제 처리 없이 이용자 텍스트 프롬프트에서 컨텐츠를 생성합니다. 공격자는 조작된 프롬프트를 제출하여 LLM이 정제처리되지 않은 js페이로드를 반환하도록 하여 브라우저 렌더링 시 XSS를 유발할 수 있습니다.
시나리오 #4 : LLM을 마케팅 캠페인을 위한 동적 이메일 템플릿 생성시 사용됩니다. 공격자는 LLM을 조작하여 이메일 컨텐츠에 악성 자바스크립트를 포함시킵니다. 애플리케이션이 LLM 출력을 정제하지 않으면 취약한 이메일 클라이언트에서 수신자에게 XSS 공격이 발생할 수 있습니다.
이러한 공격을 예방하고 완화하는 전략은 다음과 같습니다.
1. 모델을 다른 이용자와 동일하게 취급하여 제로 트러스트 방식을 채택하고, 모델에서 백엔드 함수로 전달되는 응답에 대한 적절한 입력 유효성 검사를 적용합니다.
2. 효과적인 입력 유효성 검사와 정제를 보장하기 위해 OWASP ASVS 지침을 따릅니다.
3. 자바 스크립트나 마크다운에 의한 원치 않는 코드 실행 방지를 위해 모델 출력을 이용자에게 다시 인코딩합니다.
4. LLM 출력이 사용될 위치에 따라 컨텍스트 인식 출력 인코딩을 구현합니다.
5. LLM 출력이 포함된 모든 데이터베이스 작업에 대해 매개변수화된 쿼리나 준비된 구문을 사용합니다.
6. LLM이 생성한 컨텐츠로부터 XSS 공격을 완화하기 위해 엄격한 콘텐츠 보안 정책을 적용합니다.
7. LLM 출력에서 악용 시도를 나타낼 수 있는 비정상적인 패턴을 감지하기 위해 강력한 로깅 및 모니터링 시스템을 구현합니다.
AI의 권한이 커질수록 개인의 사용자들은 편해지지만 그만큼 리스크도 많이 따르는 것 같습니다. 그 사이에서 균형잡기가 참 어려운것같네요. 읽어주셔서 감사합니다
'AI' 카테고리의 다른 글
| [AI] LLM OWASP 07 : 시스템 프롬프트 유출 (0) | 2026.03.07 |
|---|---|
| [AI] LLM OWASP 06 : 과도한 위임 (0) | 2026.03.06 |
| [AI] LLM OWASP 04 : 데이터 및 모델 오염 (0) | 2026.03.06 |
| [AI] LLM OWASP 03 : 공급망 (0) | 2026.03.06 |
| [AI] LLM OWASP 02 : 민감 정보 유출 (0) | 2026.03.06 |