Insecure Output Handling(불안전한 출력 처리)
한 줄 정의
Insecure Output Handling은 LLM의 출력 결과를 검증 없이 실행/렌더링/저장/전달해 2차 피해(명령 실행, XSS, 데이터 변경 등)가 발생하는 위험이다.
왜 중요한가(실무)
LLM은 “그럴듯한 텍스트”를 만든다.
문제는 그 텍스트가 아래처럼 “행동”으로 연결될 때다.
- SQL/코드 실행
- 이메일/메시지 발송
- 티켓 생성/상태 변경
- 설정 변경/배포
출력을 제안으로만 쓰면 괜찮지만, 자동 실행 흐름에 붙이면 사고가 난다.
대표 위험 시나리오
- LLM이 만든 SQL을 그대로 실행해 데이터가 손상됨
- LLM이 만든 HTML/마크다운을 필터 없이 렌더링해 XSS가 발생
- LLM이 만든 메일을 그대로 발송해 법적/평판 리스크 발생
실무 방어 체크리스트
- 출력은 “제안”이고 실행은 별도 검증/승인 흐름으로 분리되어 있는가
- 코드/SQL/명령은 화이트리스트 기반 검증을 하는가
- 렌더링 전 이스케이프/필터링이 있는가
- 대외 발송은 승인 게이트가 있는가
- 자동화(툴 호출)는 최소 권한으로 설계되어 있는가
더 읽기
- OWASP Top 10 for LLM Applications: https://owasp.org/www-project-top-10-for-large-language-model-applications/