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:
parent
e9e5ceebfb
commit
f006143fb8
9 changed files with 309 additions and 60 deletions
|
|
@ -6,6 +6,117 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## [7.6.0] - 2026-05-06
|
||||
|
||||
Playground Tier 3-referanse-case. v7.6.0 hever playgroundet
|
||||
(`playground/llm-security-playground.html`) til en visuelt og strukturelt
|
||||
fullført referanse-implementasjon for `shared/playground-design-system/`
|
||||
Tier 3-supplementet. Ingen scanner- eller hook-behavior-changes — purely
|
||||
additive surface og struktur. Levert over 5 sesjoner med atomic commits
|
||||
per sesjon (rollback-vennlig).
|
||||
|
||||
### Added
|
||||
|
||||
- **Tier 3 spesialkomponenter integrert i renderere:**
|
||||
- `tfa-flow` + `tfa-leg` + `tfa-arrow` på `renderScan` + `renderDeepScan`
|
||||
— visualiserer lethal-trifecta-kjede (untrusted input → sensitive
|
||||
access → exfil sink) når `findings` inneholder en trifecta-pattern
|
||||
(regex-match på category/description/owasp). Defensiv design: returnerer
|
||||
tom streng hvis ingen finding matcher. Hver leg er `<button>`-element
|
||||
med `aria-label` + `:focus-visible` (DS).
|
||||
- `mat-ladder` + `mat-step` på `renderPosture` — 5-trinns modenhets-stige
|
||||
(Initial/Aware/Defensive/Mature/Optimized) med terskler 0/25/50/75/95%
|
||||
PASS. Beregner currentIdx fra `posture_score / posture_applicable`.
|
||||
- `suppressed-group` på `renderScan` + `renderDeepScan` — narrative-audit
|
||||
fra `summary.narrative_audit.suppressed_findings` (v7.1.1). Ny parser-
|
||||
helper `parseNarrativeAudit(md)` ekstraherer "**Suppressed signals:**
|
||||
N (reason: count examples, ...)" fra raw_markdown.
|
||||
- `codepoint-reveal` + `cp-tag`/`cp-zw`/`cp-bidi` på `renderMcpInspect` —
|
||||
side-ved-side reveal for Unicode-steganografi (synlig form vs. dekoded
|
||||
codepoints). Detection: U+200B-D|FEFF|2060|180E → `cp-zw`,
|
||||
U+202A-E|2066-9 → `cp-bidi`, andre non-ASCII → `cp-tag`.
|
||||
- `top-risks` + `top-risk` på `renderScan`, `renderDeepScan`,
|
||||
`renderPluginAudit`, `renderPosture`, `renderAudit` — rangert top-funn-
|
||||
listing med `data-severity`-tinted left-border. Filtrerer info-funn
|
||||
(observability-noise) og viser de 5 høyeste alvorlighetsnivåene.
|
||||
Semantisk `<ol>`/`<li>` for skjermlesere.
|
||||
- `recommendation-card[data-severity]` utvidet på alle inline-bruk:
|
||||
Trust-verdict (severity fra verdict-tekst), Quick wins (positive),
|
||||
Action plan tiers (immediate→critical / high→high / medium→medium),
|
||||
Vilkår å løse (high), `renderClean` per-bucket advisory-cards
|
||||
(auto→positive / semi-auto→medium / manual→high / suppressed→low),
|
||||
`renderHarden` intro snapshot + diff-rows med action-mapping
|
||||
(CREATE→positive / APPEND→medium / MERGE→low / SKIP→low).
|
||||
- `risk-meter` (full band-visualisering 0-100) brukes nå på 5
|
||||
archetypes: scan, deep-scan, plugin-audit, audit, red-team. Båndene
|
||||
Low/Medium/High/Critical/Extreme har synlige labels.
|
||||
- `card--severity-{level}` modifier (critical/high/medium/low/info) på
|
||||
`findings__item`-cards i `renderFindingsBlock` (delt helper) +
|
||||
inline-bruk i `renderAudit` kategori-cards og `renderDiff` row-items.
|
||||
- **Identitet og wizard-mønster (Sesjon 2):**
|
||||
- `badge--scope-security` som identitets-chip på prosjekt-cards,
|
||||
rapport-cards og app-header.
|
||||
- `verdict-pill-lg` (med `__verdict` + `__sub`) erstatter custom
|
||||
`.verdict-pill` på alle 18 rapport-typer.
|
||||
- DS Tier 3 `form-progress` + `fp-step` (med `__bar`/`__bar-fill`/
|
||||
`__num`/`__name`) erstatter playground-ens lokale
|
||||
`form-progress__step`-implementasjon i onboarding-wizard.
|
||||
- **Foundation (Sesjon 1):**
|
||||
- DS `page__header`/`page__eyebrow`/`page__title`/`page__lede`/
|
||||
`page__meta` på alle 4 overflater (onboarding, home, catalog, project).
|
||||
Hero-mønster på home med `clamp(36px, 5vw, 56px)` editorial type-
|
||||
hierarki.
|
||||
- **Helpers og parser-utvidelser:**
|
||||
- `renderToxicFlow(findings)`, `renderMatLadder(categories, score, applicable)`,
|
||||
`renderSuppressedGroup(data)`, `renderCodepointReveal(codepoints)`,
|
||||
`renderTopRisks(findings, n)` — fem nye DS-helpers.
|
||||
- `mapSeverityToCardLevel(input)` — normaliserer severity-strenger
|
||||
OG action-types (CREATE/APPEND/MERGE/SKIP) til DS Tier 3-konvensjonene.
|
||||
- `renderRecommendationsList(recs, label, severity)` — tredje param
|
||||
styrer `data-severity` (default 'low').
|
||||
- `parseScan` + `parseDeepScan` utvidet med `narrative_audit`-felt.
|
||||
- **A11Y-rapport oppdatert** (`playground/A11Y-RAPPORT.md`) med Tier 3-
|
||||
integrasjonene, ARIA-egenskaper og severity-soft fargepar-kontrast.
|
||||
|
||||
### Changed
|
||||
|
||||
- **Slettet ~30 duplikat-CSS-deklarasjoner** fra `<style>`-blokken
|
||||
(`.app-shell`, `.tab-list`, `.fleet-tile*`, `.form-progress*`, `.eyebrow`,
|
||||
`.page__*`, `.key-stat*`, `.field-*`, `.multi-select`, `.checkbox-row`,
|
||||
`.required-mark`, `.expansion*`, `.stack-*`, `.card__*`). DS Tier 3-
|
||||
supplementet vinner cascade-en — eliminerer subtile visuelle drift mellom
|
||||
playground og referanse-scenarioer.
|
||||
- **`renderHarden`-rewrite:** diff-rows konvertert fra
|
||||
`<div class="diff__row"><div class="diff__cell">…</div></div>` til
|
||||
`<section class="recommendation-card" data-severity="…">…</section>`.
|
||||
Severity-tinted advisory-struktur over per-rad-diff. Fall-back til
|
||||
`<div class="diff">`-wrapper kan reintroduseres hvis print-stylesheet
|
||||
brytes (ikke observert per 2026-05-06).
|
||||
- Ingen scanner- eller hook-behavior-changes — purely additive surface.
|
||||
|
||||
### Known limitations
|
||||
|
||||
- **`parsed.findings` er tom array for `deep-scan` og `audit` demo-fixturer.**
|
||||
Parser ekstraherer ikke findings fra raw_markdown for disse to rapport-
|
||||
typene, selv om markdown-en lister findings i scanner-resultat-seksjoner.
|
||||
Konsekvens: `renderTopRisks` og `renderFindingsBlock` returnerer defensivt
|
||||
tom HTML for disse to demo-rapportene — `card--severity-{level}` og
|
||||
`top-risks` rendrer ikke i demo-en. Korrekt arkitektur (tomme findings
|
||||
→ tom HTML), men demo-en mister noe showcase-verdi. Sporet for v7.6.x
|
||||
patch.
|
||||
|
||||
### Verification
|
||||
|
||||
- 18/18 renderere passerer regresjons-smoke-test mot `dft-komplett-demo`-
|
||||
fixturer (vm-basert dummy-DOM, alle forventede markører til stede).
|
||||
- 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 (10 forventede), JS parse OK (`node --check`),
|
||||
demo-state JSON parse OK (3 prosjekter, 18 rapporter).
|
||||
- Filendring totalt over 5 sesjoner: 10209 → 10677 linjer (+468).
|
||||
|
||||
## [7.5.0] - 2026-05-05
|
||||
|
||||
### Added
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue