chore(llm-security): v7.7.2 — language consistency pass

~/.claude/CLAUDE.md specifies English for code and documentation,
Norwegian for dialog only. Norwegian had crept into surface text
across v7.5-v7.7. Translated to English in eight surfaces.

No scanner, hook, or behavior changes — purely surface text.

- 18 skill commands: the HTML Report-step now reads "HTML report:
  [Open in browser]" instead of "HTML-rapport: [Åpne i nettleser]"
- scripts/lib/report-renderers.mjs: key-stat labels, lede defaults,
  table headers, maturity-ladder descriptions, action-tier labels,
  clean buckets, dry-run/apply copy, and JS comments. Regex
  alternations /^high|^høy/ and /resolution|løsning/i preserved.
- playground/llm-security-playground.html: same renderer changes
  mirrored bit-identical, plus playground-only UI strings (catalog,
  breadcrumb aria-label, theme toggle, builder-modal hint,
  guide-panel "no projects yet", delete confirmation, alert/copy).
  Demo-state fixture content for dft-komplett-demo preserved
  (intentional Norwegian persona).
- agents/skill-scanner-agent.md + agents/mcp-scanner-agent.md:
  Generaliseringsgrense + Parallell Read-strategi sections translated
  to Generalization boundary + Parallel Read strategy.
- README.md: playground architecture prose + Recent versions table
  (v7.5.0 — v7.7.1).
- CLAUDE.md: v7.7.1 highlights translated, new v7.7.2 highlights
  added.
- ../../README.md: llm-security v7.5.0 — v7.7.1 bullets.
- ../../CLAUDE.md: llm-security catalog entry.
- docs/scanner-reference.md: six runnable-examples table cells.
- docs/version-history.md: new v7.7.2 entry. v7.5-v7.7 narrative
  sections left in original language (deferred per operator).
- Version bumped 7.7.1 → 7.7.2 in package.json,
  .claude-plugin/plugin.json, README badge + Recent versions,
  CLAUDE.md header + state, docs/version-history.md, playground
  renderHome hardcoded string, root README + CLAUDE.md llm-security
  entries.

Tests: 1820/1820 green. CLI smoke-test: 18/18 commandIds produce
>138 KB self-contained HTML. Browser-dogfood verified.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-19 06:47:44 +02:00
commit 03b8885b6e
31 changed files with 467 additions and 359 deletions

View file

@ -25,19 +25,21 @@ Your output is a structured security report per MCP server, including trust rati
findings mapped to OWASP categories, and prioritized recommendations. You operate read-only —
never modify files or install packages.
## Step 0: Generaliseringsgrense
## Step 0: Generalization boundary
Opus 4.7 tolker instruks mer literalt enn tidligere modeller. Ikke ekstrapolér fra en
enkelt observasjon til et bredere mønster uten eksplisitt evidens. Rapporter det du
faktisk ser; merk spekulasjon som spekulasjon. Ved tvil: inkludér filsti og linjenummer
som evidens, ikke en generalisering.
Opus 4.7 interprets instructions more literally than earlier models. Do not
extrapolate from a single observation to a broader pattern without explicit
evidence. Report what you actually see; mark speculation as speculation. When
in doubt, cite the filepath and line number as evidence rather than a
generalization.
## Parallell Read-strategi
## Parallel Read strategy
Når du trenger å lese tre eller flere filer som ikke avhenger av hverandre, send alle
Read-kallene i samme melding (parallell), ikke sekvensielt. Dette gjelder spesielt:
knowledge-files i oppstart, og batcher av MCP-server-filer. Sekvensiell Read er
akseptabelt når én fils innhold avgjør hvilken neste skal leses.
When you need to read three or more files that do not depend on each other,
send all the Read calls in the same message (parallel), not sequentially. This
applies especially to knowledge files during startup and to batches of
MCP-server files. Sequential Read is acceptable when one file's contents
determine which file to read next.
Reference knowledge base files before scanning:
- `knowledge/mcp-threat-patterns.md` — 9 threat categories with detection signals (MCP01-MCP10 mapping)

View file

@ -24,19 +24,21 @@ You are invoked by `/security scan` with a target path. Your `tools:` frontmatte
simply does not grant file-modifying tools. Your output is a written security report
— findings, severities, OWASP references, evidence excerpts, and remediation guidance.
## Step 0: Generaliseringsgrense
## Step 0: Generalization boundary
Opus 4.7 tolker instruks mer literalt enn tidligere modeller. Ikke ekstrapolér fra
en enkelt observasjon til et bredere mønster uten eksplisitt evidens. Rapporter det
du faktisk ser; merk spekulasjon som spekulasjon. Ved tvil: inkludér filsti og
linjenummer som evidens, ikke en generalisering.
Opus 4.7 interprets instructions more literally than earlier models. Do not
extrapolate from a single observation to a broader pattern without explicit
evidence. Report what you actually see; mark speculation as speculation. When
in doubt, cite the filepath and line number as evidence rather than a
generalization.
## Parallell Read-strategi
## Parallel Read strategy
Når du trenger å lese tre eller flere filer som ikke avhenger av hverandre, send
alle Read-kallene i samme melding (parallell), ikke sekvensielt. Dette gjelder
spesielt: knowledge-files i oppstart, og batcher av skannede filer. Sekvensiell
Read er akseptabelt når én fils innhold avgjør hvilken neste skal leses.
When you need to read three or more files that do not depend on each other,
send all the Read calls in the same message (parallel), not sequentially. This
applies especially to knowledge files during startup and to batches of scanned
files. Sequential Read is acceptable when one file's contents determine which
file to read next.
You have access to five knowledge base files that ground all your analysis:
- `knowledge/skill-threat-patterns.md` — 7 threat categories with documented attack variants