背景
PR #261(#176 B 案 PR 1.5)のセキュリティレビューで指摘された項目。#176 B 案 PR 6(CSP strict 化、style-src 'unsafe-inline' 削除)の 前段または同時に必ず対応する必要がある issue。
問題
PR #261 で ResultTable 内に新規導入した setProperty('--var', value) 経由の CSS 変数注入は、現状の CSP(style-src 'self' 'unsafe-inline')下では安全。ただし PR 6 で 'unsafe-inline' を削除した瞬間、CSP Level 3 §6.5.7 の inline style 解釈次第で violation 候補となる。
VRT は pixel diff のみを見るため、CSP 違反を silent pass しうる。能動検出する E2E が必要。
memory: feedback_prod_parity_csp.md(本番でしか効かないヘッダ依存機能は E2E で同制約を再現しないと CI 素通り)
現状 applyProductionCsp(page) E2E gate は tests/e2e/config-converter.spec.ts のみで使用。ResultTable を消費する UlidGenerator / UuidV7Generator ページの CSP 違反を能動検出する E2E は無い。
受け入れ基準
関連
優先度
高(PR 6 前段必須)。PR 2-5 は blocking しないが PR 6 を blocking する。
背景
PR #261(#176 B 案 PR 1.5)のセキュリティレビューで指摘された項目。
#176B 案 PR 6(CSP strict 化、style-src 'unsafe-inline'削除)の 前段または同時に必ず対応する必要がある issue。問題
PR #261 で
ResultTable内に新規導入したsetProperty('--var', value)経由の CSS 変数注入は、現状の CSP(style-src 'self' 'unsafe-inline')下では安全。ただし PR 6 で'unsafe-inline'を削除した瞬間、CSP Level 3 §6.5.7 の inline style 解釈次第で violation 候補となる。VRT は pixel diff のみを見るため、CSP 違反を silent pass しうる。能動検出する E2E が必要。
memory:
feedback_prod_parity_csp.md(本番でしか効かないヘッダ依存機能は E2E で同制約を再現しないと CI 素通り)現状
applyProductionCsp(page)E2E gate はtests/e2e/config-converter.spec.tsのみで使用。ResultTableを消費するUlidGenerator/UuidV7Generatorページの CSP 違反を能動検出する E2E は無い。受け入れ基準
tests/e2e/ulid-generator.spec.tsを新設し、applyProductionCsp(page)をgoto前に挿入tests/e2e/uuid-v7.spec.tsを新設し、同様の CSP gate を挿入applyProductionCspヘルパは PR 6 で strict 化された後の実 CSP と一致させる(PR 6 と同 PR か直前 PR で)関連
docs/decisions.md[067] 候補)優先度
高(PR 6 前段必須)。PR 2-5 は blocking しないが PR 6 を blocking する。