Repository navigation
fix: security sweep (GH-172, GH-205, GH-196) - #12
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dennisofficial
marked this pull request as ready for review
September 24, 2026 21:25
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Security fix sweep for findings filed against this repo.
packages/design-system/src/fonts/TWKLausanne/, dropped the 16@font-facerules and the./fonts/*npm export map entry, and swapped the--font-sansfamily to the already-declared OFL-licensed@fontsource-variable/plus-jakarta-sansdependency. The published package no longer redistributes a retail typeface under an MIT grant. The weight-mapping utilities (350/400/700 ramp) are kept.ChartStyleinpackages/design-system/src/components/organisms/chart.tsxno longer interpolates consumer-supplied values raw intodangerouslySetInnerHTML: the chartidand config keys must match^[a-zA-Z0-9_-]+$, color values must match a safe CSS-value charset (hex/rgb/hsl,var()/theme(), named colors) and contain no<; anything else is dropped, closing the</style>breakout / HTML injection sink. Addedapps/storybook/tests/Chart.test.tsxcovering the safe render plus key/color/id injection payloads.https://design-system-storybook-swart.vercel.appis served publicly (verified HTTP 200 with no SSO redirect) while other Comp AI*.vercel.appdeployments redirect to SSO. Vercel Deployment Protection is a project setting, not repo code. To fix: Vercel Dashboard → projectdesign-system-storybook→ Settings → Deployment Protection → enable Vercel Authentication (or SSO Protection) for Production (and Preview if desired). If public access is the deliberate choice for this open-source showcase, document that decision instead.Verification
pnpm typecheck— 3/3 tasks passpnpm vitest run --project unit tests/Chart.test.tsx(apps/storybook) — 4/4 passpnpm lintfails only on pre-existing prettier issues inapps/mcp(also failing on unmodified origin/main; untouched by this PR)curl -sI https://design-system-storybook-swart.vercel.appreturnsHTTP/2 200serving the app directly, no 302 to SSOSummary by cubic
Security sweep across the design system: drops commercially licensed font binaries from the published package and closes an HTML injection sink in chart styles.
Bug Fixes
@font-facerules, and the./fonts/*export;--font-sansnow uses the OFL-licensed@fontsource-variable/plus-jakarta-sans.ChartStyleno longer interpolates unsanitized consumer values intodangerouslySetInnerHTML— chartidand config keys must match^[a-zA-Z0-9_-]+$, and colors are limited to a safe CSS charset with no<; invalid values are dropped.apps/storybook/tests/Chart.test.tsxcovering safe rendering and injection payloads for key, color, and id.Migration
design-system-storybookproject in the Vercel dashboard, or document the choice to keep it public.Written for commit 1b8b45f. Summary will update on new commits.