-
Notifications
You must be signed in to change notification settings - Fork 0
fix(security): ContentRenderer XSS — LLM 생성 콘텐츠 미검증 렌더링 #95
Copy link
Copy link
Open
Labels
area:security보안, 인증, 비밀정보, 데이터 보호보안, 인증, 비밀정보, 데이터 보호area:webReact 웹 애플리케이션React 웹 애플리케이션bugSomething isn't workingSomething isn't workingpriority:high즉시 대응이 필요한 작업즉시 대응이 필요한 작업
Description
Summary
ContentRenderer.tsx에서 dangerouslySetInnerHTML로 LLM 생성 콘텐츠를 sanitize 없이 렌더링. markdown-it의 html: true 설정이 위험을 증폭.
Context
renderAnkiContent()는 DOMPurify 등 XSS 필터 없음- LLM이 생성한
splitCards[].content가SplitHistory,DiffViewer를 통해 렌더링됨 <script>,<img onerror=...>,<svg onload=...>등 LLM hallucination으로 XSS 페이로드 가능
Proposed Changes
-
renderAnkiContent()출력에 DOMPurify 적용 - 또는 markdown-it의
html: true를false로 변경하고 필요한 HTML만 allowlist로 허용
Notes
- PR refactor(prompt): v2.0.0 — 과잉 원자화 해소 및 맥락 보존 전략 #92 DA for_plan에서 SEC-2으로 발견
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:security보안, 인증, 비밀정보, 데이터 보호보안, 인증, 비밀정보, 데이터 보호area:webReact 웹 애플리케이션React 웹 애플리케이션bugSomething isn't workingSomething isn't workingpriority:high즉시 대응이 필요한 작업즉시 대응이 필요한 작업