This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+5 more
Affected surfaces
Summary
AI summarySVG sanitizer rewritten to a Cheerio DOM whitelist blocks entity‑encoded XSS and other injection attacks.
Full changelog
Changelog
0.3.0 (2026-04-03)
Security
- SVG sanitizer rewritten: Cheerio DOM whitelist replaces regex blocklist. Blocks entity-encoded XSS,
<style>injection,<foreignObject>, external<use>refs, and unknown elements. - Zod input validation on all 28 tool inputs and all BrandDir YAML/JSON reads. Malformed input returns structured errors, never crashes.
- 10MB asset size limit on writeAsset().
- npm audit clean (0 vulnerabilities).
Added
brand_runtimetool: read compiled brand runtime contract.- Runtime compiler:
brand_compilenow producesbrand-runtime.jsonandinteraction-policy.json. - Interaction policy compiler: enforceable rules from visual anti-patterns, voice constraints, and content claims.
- MCP smoke tests for all 28 tools via InMemoryTransport.
- CI pipeline (GitHub Actions): build + lint + test across Node 20/22.
Improved
- Tool descriptions rewritten for agent clarity.
brand_statusreturns full getting-started guide when no.brand/exists.- README: troubleshooting section, Claude Desktop/Windsurf/Cursor MCP configs.
- 216 tests across 15 files (up from 85 at 0.2.0).
0.1.0 (2026-03-22)
Session 1: Core Identity
brand_start— Onboarding entry point with source menu and interview questionsbrand_init— Directory scaffoldingbrand_extract_web— Website extraction (colors, fonts, inline SVG logos)brand_extract_figma— Figma extraction (plan/ingest modes)brand_compile— DTCG token compilation + VIM generationbrand_clarify— Interactive clarification resolutionbrand_audit— Schema validation (11 checks)brand_status— Progress dashboard with session trackingbrand_report— Portable HTML report with platform-specific setup tabs
Session 2: Visual Identity
brand_deepen_identity— 6-section visual identity interviewbrand_ingest_assets— Asset scanning and manifest generationbrand_preflight— HTML compliance checking against brand rules
Session 3: Core Messaging
brand_extract_messaging— Website voice fingerprint and claims analysisbrand_compile_messaging— Perspective, voice codex, and brand storybrand_write— Content generation context loader
Extraction Improvements
- System font filtering (30+ fonts excluded)
- Luminance-based color role detection
- Primary color promotion by frequency
- Inline SVG logo capture from HTML
- Web/JS/CSS artifact filtering in vocabulary analysis
Security
- Path traversal protection in asset writes
- HTTP response status checks on all fetches
- File read boundary enforcement in preflight
- Top-level error handlers for process stability
- SVG sanitization for XSS prevention
Testing
- 41 tests across 5 test files (css-parser, dtcg-compiler, confidence, report-html, server smoke)
Security Fixes
- SVG sanitizer rewritten: Cheerio DOM whitelist replaces regex blocklist; blocks entity‑encoded XSS, injection attacks, external refs, unknown elements
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Brand-System/brandsystem-mcp
Make your brand machine-readable. Extract brand identity (colors, fonts, logo, voice, visual rules) from any website via static CSS + rendered-page extraction, compile into DTCG tokens, brand runtime contracts, and interaction policies. 34 tools across 4 progressive sessions. Subscribable `brand://runtime` and `brand://policy` MCP resources. Content compliance scoring (0-100), pass/fail gate, and HTML/CSS preflight. Brandcode Studio connector for hosted brand sync.
Beta — feedback welcome: [email protected]