Skip to content

test(e2e): generator ページの applyProductionCsp E2E gate を追加(PR 6 前段必須) #262

Description

@fumtas1k

背景

PR #261#176 B 案 PR 1.5)のセキュリティレビューで指摘された項目。#176 B 案 PR 6(CSP strict 化、style-src 'unsafe-inline' 削除)の 前段または同時に必ず対応する必要がある issue。

問題

PR #261ResultTable 内に新規導入した 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 を挿入
  • 各テストは「ID 生成 → 行クリック(onRowClick が将来追加される場合)」まで CSP 違反が出ないことを assert(page.on('console') で violation を捕捉)
  • applyProductionCsp ヘルパは PR 6 で strict 化された後の実 CSP と一致させる(PR 6 と同 PR か直前 PR で)
  • PR 6 の merge 前に本 issue が close されていること

関連

優先度

(PR 6 前段必須)。PR 2-5 は blocking しないが PR 6 を blocking する。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions