# CSP script-src `'unsafe-inline'` 패치 — 렌더러 v3 스크립트 미실행 근본 원인

- **시작**: 2026-03-09 20:04 KST
- **종료**: 2026-03-09 20:28 KST
- **상태**: 🔧 미완료 (AG 재시작 후 /deep-inspect 검증 필요)
- **Vikunja**: #264 → 진행중

## 핵심 발견

### Root cause: CSP `script-src`에 `'unsafe-inline'` 없음

이전 세션(#005~#006)에서 HTML 패치 + 체크섬 + CachedData 삭제 모두 정상이었으나 renderer v3 스크립트가 미실행되는 근본 원인 발견.

**CSP 분석:**
```
script-src 'self' 'unsafe-eval' blob:   ← 'unsafe-inline' 없음!
style-src 'self' 'unsafe-inline'         ← 스타일은 허용 (함정)
```

- `<script src="./x.js">` → `'self'`로 허용되나 `vscode-file://`가 커스텀 파일 서빙 차단
- `<script>inline code</script>` → `'unsafe-inline'` 없어 CSP가 무조건 차단
- **두 방법 모두 차단 → deadlock이었음**

### 추가 검증
- `require-trusted-types-for 'script'` → static `<script>` 태그에 영향 없음 (확인)
- 스크립트 내 `innerHTML`/`document.write`/`eval` → 0건 (Trusted Types 충돌 없음)
- `connect-src`에 `http://127.0.0.1:*` → Bridge HTTP 통신은 CSP 허용 범위

### 이전 세션 KI와의 관계
- KI `renderer_security_and_lifecycle.md` Line 28: "인라인 스크립트로 우회" → 해결책으로 기록
- **그러나 인라인도 CSP가 차단한다는 분석이 누락** → 이번에 최초 발견

## 수정 내역

| 파일 | 변경 |
|------|------|
| `extension/src/extension.ts` | `setupApprovalObserver()`에 CSP `'unsafe-inline'` 자동 패치 로직 추가 |
| `.agents/references/known-issues.md` | CSP script-src 이슈 + 핵심 전제에 CSP 패치 필수 추가 |
| 양쪽 HTML (수동) | `'unsafe-inline'` 추가 + 체크섬 업데이트 + CachedData 삭제 |

## 다음 단계 (다음 세션)

1. AG 완전 재시작
2. `curl.exe http://127.0.0.1:34332/deep-inspect` → 렌더러 응답 확인
3. 응답 시 webview iframe 접근성 분석 → E2E 승인 테스트
