No Content-Security-Policy headers — app vulnerable to XSS via LLM responses #17

Closed
opened 2026-05-09 05:20:08 +00:00 by Mark · 1 comment
Owner

Severity: Medium

Files: vite.config.ts, index.html, src/components/wizard/InterviewMode.tsx

Issue: The application has no Content-Security-Policy (CSP) headers configured. The Interview Mode renders LLM-generated content directly in the chat UI. Any future addition of markdown/rich rendering could introduce XSS via prompt injection.

Recommendations:

  1. Add CSP headers via Vite plugin
  2. If adding markdown rendering, use DOMPurify for sanitization
  3. Sanitize LLM responses as defense-in-depth
**Severity:** Medium **Files:** `vite.config.ts`, `index.html`, `src/components/wizard/InterviewMode.tsx` **Issue:** The application has no Content-Security-Policy (CSP) headers configured. The Interview Mode renders LLM-generated content directly in the chat UI. Any future addition of markdown/rich rendering could introduce XSS via prompt injection. **Recommendations:** 1. Add CSP headers via Vite plugin 2. If adding markdown rendering, use DOMPurify for sanitization 3. Sanitize LLM responses as defense-in-depth
Author
Owner

Fixed in commit. Closing.

Fixed in commit. Closing.
Mark closed this issue 2026-05-14 21:18:51 +00:00
Sign in to join this conversation.
No description provided.