feat(llm-security): playground v7.6.0 — Tier 3 referanse-case komplett

Komplett integrasjon av playground-design-system Tier 3-komponenter
i playground-en. Playground er nå referanse-case for hva DS-en kan
levere når alle komponenter brukes som tilsiktet. Levert over 5 sesjoner
med atomic commits per sesjon.

Endringer i v7.6.0 (fase 1-7):
- Fjernet ~30 duplikat-CSS-deklarasjoner (DS vinner cascade)
- Page-shell harmonisert (page__header-klynge på alle 4 overflater)
- Scope-identitet via badge--scope-security
- verdict-pill-lg erstatter custom verdict-pill
- Onboarding wizard via Tier 3 form-progress + fp-step
- Tier 3 spesialkomponenter integrert:
  - tfa-flow + tfa-leg + tfa-arrow (toxic-flow-rapport)
  - mat-ladder + mat-step (posture-modenhet)
  - suppressed-group (narrative-audit)
  - codepoint-reveal + cp-tag/cp-zw/cp-bidi (UNI-funn)
  - top-risks + top-risk[data-severity] (rangert funn-listing)
  - recommendation-card[data-severity] (clean/harden/audit/posture/
    pre-deploy/plugin-audit advisory)
  - risk-meter (band-visualisering 0-100 på 5 archetypes)
  - card--severity-{level} (findings-cards modifier)

5 nye DS-helpers + mapSeverityToCardLevel + parseNarrativeAudit.
renderRecommendationsList utvidet med severity-param. renderHarden-rewrite
fra diff-row-struktur til recommendation-card med action-mapping.

Ingen scanner/hook-atferd berørt. Kun visuelt og strukturelt.
A11Y-rapport oppdatert (WCAG 2.1 AA bekreftet, severity-soft fargepar
verifisert, semantiske elementer erstatter generic div).

Versjon bumpet v7.5.0 → v7.6.0:
- plugins/llm-security/.claude-plugin/plugin.json
- plugins/llm-security/package.json
- plugins/llm-security/README.md (badge + Playground-seksjon + history)
- plugins/llm-security/CLAUDE.md (header + ny v7.6.0-blurb)
- plugins/llm-security/CHANGELOG.md ([7.6.0] entry)
- README.md (rot — llm-security-rad + history-bullet)
- plugins/llm-security/playground/llm-security-playground.html (footer)

Filendring playground.html totalt over 5 sesjoner: 10209 → 10677 linjer
(+468 netto). Per-sesjons-commits: 9ef0c48 (Sesjon 1, fase 1-2),
2481133 (Sesjon 2, fase 3-4), fbda041 (Sesjon 3, fase 5a-d),
e9e5cee (Sesjon 4, fase 5e-h).

Verifisering bekreftet:
- 18/18 renderere passerer regresjons-smoke-test mot dft-komplett-demo
- Grep-criteria oppfylt: top-risks 5, recommendation-card 32,
  risk-meter 7 (5 archetypes), card--severity- 4, verdict-pill-lg 20,
  fp-step 12, badge--scope-security 5, tfa-flow 3, mat-ladder 2,
  suppressed-group 8, codepoint-reveal 12
- Window-globaler intakt, JS parse OK, demo-state JSON parse OK

Kjent begrensning: parsed.findings er tom for deep-scan/audit demo-
fixturer (parser-begrensning, defensiv design — dokumentert i CHANGELOG
+ A11Y-rapport, sporet for v7.6.x patch).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-06 14:12:59 +02:00
commit f006143fb8
9 changed files with 309 additions and 60 deletions

View file

@ -1,4 +1,4 @@
# LLM Security Plugin (v7.5.0)
# LLM Security Plugin (v7.6.0)
Security scanning, auditing, and threat modeling for Claude Code projects. 5 frameworks: OWASP LLM Top 10, Agentic AI Top 10 (ASI), Skills Top 10 (AST), MCP Top 10, AI Agent Traps (DeepMind). 1822+ unit, integration, and end-to-end tests (`tests/e2e/` covers the multi-hook attack chain, multi-session state simulation, and the full scan-orchestrator pipeline); mutation-testing coverage not published.
@ -89,6 +89,46 @@ Eksponerte vinduer-globaler for testing/automasjon: `__store`, `__navigate`,
Inkluderer fix av `normalizeVerdictText` regex-rekkefølge: GO-WITH-CONDITIONS
sjekkes før GO så betinget verdict ikke kollapser til ALLOW.
**v7.6.0 — Playground Tier 3-referanse-case (additive surface, no
scanner/hook behavior changes).** Playgroundet er nå en visuelt og
strukturelt fullført referanse-implementasjon for
`shared/playground-design-system/` Tier 3-supplementet. 8 nye Tier 3-
komponenter integrert i de 18 rapport-rendererne: `tfa-flow` + `tfa-leg`
+ `tfa-arrow` (lethal trifecta-kjede med `<button>`-elementer + ARIA-
group/aria-label) i `renderScan` + `renderDeepScan`; `mat-ladder` +
`mat-step` (5-trinns modenhets-stige med terskler 0/25/50/75/95% PASS)
i `renderPosture`; `suppressed-group` (narrative-audit fra
`summary.narrative_audit.suppressed_findings`) i `renderScan` +
`renderDeepScan`; `codepoint-reveal` + `cp-tag`/`cp-zw`/`cp-bidi`
(Unicode-steganografi side-ved-side reveal med U+200B-D|FEFF|2060|180E
`cp-zw`, U+202A-E|2066-9 → `cp-bidi`-detection) i `renderMcpInspect`;
`top-risks` + `top-risk[data-severity]` (rangert top-funn-listing,
semantisk `<ol>`, ekskluderer info-funn) i `renderScan`/`renderDeepScan`/
`renderPluginAudit`/`renderPosture`/`renderAudit`; utvidet
`recommendation-card[data-severity]` (severity-tinted advisory) på alle
inline-bruk + nye per-bucket advisory-cards i `renderClean` + intro
snapshot + diff-rows i `renderHarden` (action-mapping CREATE→positive /
APPEND→medium / MERGE→low / SKIP→low); `risk-meter` (band-visualisering
0-100 med Low/Medium/High/Critical/Extreme bands) på 5 archetypes
(scan, deep-scan, plugin-audit, audit, red-team); `card--severity-{level}`
modifier på `findings__item`-cards. Wave 1 (Sesjon 2) la til
`badge--scope-security` (identitets-chip), `verdict-pill-lg` med
`__verdict`+`__sub` (erstatter custom verdict-pill på alle 18 rapport-
typer), og DS Tier 3 `form-progress` + `fp-step` i onboarding-wizard.
Wave 0 (Sesjon 1) slettet ~30 duplikat-CSS-deklarasjoner fra `<style>`-
blokken (DS vinner cascade) og harmoniserte page-shell på alle 4
overflater. 5 nye DS-helpers: `renderToxicFlow`, `renderMatLadder`,
`renderSuppressedGroup`, `renderCodepointReveal`, `renderTopRisks`.
2 nye normaliserings-helpers: `mapSeverityToCardLevel(input)` (severity
+ action-types til DS-konvensjoner) og `parseNarrativeAudit(md)`. 12
skjermdumper planlagt i `playground/screenshots/v7.6.0/`. A11Y-rapport
oppdatert (`playground/A11Y-RAPPORT.md`) — WCAG 2.1 AA bekreftet,
severity-soft fargepar verifisert, semantiske elementer (`<ol>`,
`<button>`, `<section>`) erstatter generic `<div>`. Filendring totalt
over 5 sesjoner: 10209 → 10677 linjer. Kjent begrensning: `parsed.findings`
er tom for `deep-scan`/`audit` demo-fixturer (parser-begrensning,
ikke fikset i v7.6.0 — sporet for v7.6.x patch).
## Commands
| Command | Description |