This release includes 2 security fixes for security teams reviewing exposed deployments.
Topics
+5 more
Affected surfaces
ReleasePort's take
Light signalSVG sanitization now restricts external url() references to local fragments only. Generated reports enforce a strict CSP (`default-src 'none'`).
Why it matters: These changes mitigate injection risks in SVG handling and tighten report security; adopt the update if you generate or consume branded reports.
Summary
AI summaryExternal url() references stripped from sanitized SVG and restrictive CSP added to generated reports.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Strips external url() references from sanitized SVG, allowing only local fragments. Strips external url() references from sanitized SVG, allowing only local fragments. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Security | High |
Enforces restrictive CSP (`default-src 'none'`) on generated reports. Enforces restrictive CSP (`default-src 'none'`) on generated reports. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Feature | Low |
Adds real structural validators for blog and CTA benchmark tasks. Adds real structural validators for blog and CTA benchmark tasks. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Feature | Low |
Receipt timestamps now include seconds. Receipt timestamps now include seconds. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Dependency | Low |
Synced SDK to version 1.29.0 and reduced tarball size from 425 to 234 files (source maps excluded). Synced SDK to version 1.29.0 and reduced tarball size from 425 to 234 files (source maps excluded). Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Bugfix | Medium |
Preflight validation caps at WARN when CSS variables are unverifiable. Preflight validation caps at WARN when CSS variables are unverifiable. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Bugfix | Medium |
Token keys now use full hex values to avoid re-collision. Token keys now use full hex values to avoid re-collision. Source: llm_adapter@2026-07-18 Confidence: high |
— |
| Bugfix | Medium |
Publish gate now requires correct palette keys; prevents unsafe "safe to publish" labeling. Publish gate now requires correct palette keys; prevents unsafe "safe to publish" labeling. Source: llm_adapter@2026-07-18 Confidence: low |
— |
Full changelog
Truth-and-security patch from adversarial review of 0.14.1.
Security
- External
url()references stripped from sanitized SVG (local#fragmentsonly) — hostile logos can no longer beacon out from brand-report.html - Restrictive CSP (
default-src 'none') on generated reports
The five 0.14.1 adjacent edges, actually closed (with edge tests)
- Publish gate keys on the open color clarification itself — on-palette-against-a-wrong-palette content can no longer earn "safe to publish"
- Preflight caps at WARN when CSS variables are unverifiable
- Token keys use the full hex (truncated suffix re-collided)
- Blog + CTA benchmark tasks gain real structural validators
- Receipt timestamps include seconds
Hygiene: SDK 1.29.0 lockfile sync • tarball 425 → 234 files (source maps excluded, pack-test enforced) • SECURITY.md "capabilities and why scanners flag them" section • two CodeQL false positives formally dismissed
Full changelog: https://github.com/Brandcode-Studio/brandsystem-mcp/blob/main/CHANGELOG.md
Security Fixes
- External `url()` references stripped from sanitized SVG (only local fragments allowed) — prevents outbound beaconing in brand-report.html
- Restrictive CSP (`default-src 'none'`) applied to generated reports
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.
Related context
Beta — feedback welcome: [email protected]