Skip to content

fix(deps): resolve dependabot security alerts - #1933

Merged
davidsneighbour merged 5 commits into
mainfrom
fix-dependabot-alerts
Sep 10, 2026
Merged

fix(deps): resolve dependabot security alerts#1933
davidsneighbour merged 5 commits into
mainfrom
fix-dependabot-alerts

Conversation

@davidsneighbour

Copy link
Copy Markdown
Owner

Summary

  • Resolves the 7 open GitHub Dependabot alerts (4 high, 3 moderate) via npm audit fix (svgo → 4.1.0) plus new overrides pins for transitive js-yaml and smol-toml versions used by gray-matter and markdownlint-cli2.
  • hono was already pulled up to a patched version transitively by the svgo fix's lockfile refresh.

Fixes

  • GHSA (svgo, high): removeScripts allows executable links through namespace/control-character bypasses — fixed via svgo 4.0.2 → 4.1.0
  • GHSA (svgo, moderate): removeScripts incompletely sanitizes executable HTML in foreignObject — fixed via svgo 4.1.0
  • GHSA (js-yaml, high) x2: maxTotalMergeKeys CPU exhaustion — fixed via js-yaml override bump (gray-matter: 3.15.1 → 3.15.2)
  • GHSA (smol-toml, high): DoS via malformed TOML — fixed via smol-toml override (markdownlint-cli2: → 1.7.1)
  • GHSA (hono, moderate) x2 — resolved transitively (hono 4.13.1 → 4.13.7)

Test plan

  • npm install resolves cleanly
  • npm run test — 101 files / 448 tests passing
  • npx astro check — 0 errors
  • npm audit — 0 Dependabot-tracked advisories remaining for these packages

Bumps svgo (via npm audit fix), and overrides transitive js-yaml
and smol-toml pins to their patched versions, resolving GitHub
Dependabot alerts #432-#441 (svgo, js-yaml, smol-toml, hono).

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 60ed1acfb5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread package.json Outdated
Runs nanny update-package to pull dependency version bumps back into
the src/packages fragments that own them, and manually syncs the
overrides block (js-yaml, smol-toml) which nanny doesn't cover.

Also removes a stale Hugo lint:templates wireit script that no
longer has a matching binary, and adds twitter-text to
tools/social-media.jsonc so it's no longer an untracked root
dependency.

Documents the package.json/src/packages relationship in AGENTS.md
for future edits.
Fix genuine typos and American-English spellings found in prose, add a
cspell ignoreRegExpList to stop YouTube/Unsplash ID fragments in
frontmatter from being spell-checked, exclude gitignored Playwright
test-log artifacts from linting, and add ~550 legitimate proper nouns,
brand names, and technical terms to the custom dictionary.

Closes #1931

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 498ca1a90b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/config/cspell/dnb.dict.txt Outdated
The earlier fix-deps commits only added npm overrides to package.json
and never ran npm install, so package-lock.json still resolved the
vulnerable svgo/js-yaml/smol-toml/gray-matter versions despite the PR
description claiming otherwise. Also syncs src/packages/site/astro.jsonc
and src/packages/linting/markdownlint.jsonc so a future
`nanny generate-package` run won't revert these overrides again.

While auditing, also found and fixed a critical Astro RCE
(GHSA-26w7-cxv4-gfx2, needs >=7.2.8) that isn't covered by any
Dependabot alert yet, plus three moderate Hono advisories pulled in
transitively via @humanwhocodes/crosspost -> @modelcontextprotocol/sdk.

npm audit now reports 0 critical/high for all six packages touched
here (svgo, js-yaml, smol-toml, gray-matter, astro, hono).
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Issac, hasslefree, and chromotography were typo corrections in this
same branch (Isaac, hassle-free, chromatography) but had also been
added to the dictionary allowlist, which would let the misspelling
pass lint:spell silently if it ever recurred.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@davidsneighbour

Copy link
Copy Markdown
Owner Author

Fixed both review findings:

  • P1 (persist security pins): src/packages/site/astro.jsonc and src/packages/linting/markdownlint.jsonc now carry the patched js-yaml/smol-toml/svgo overrides, and package-lock.json has actually been regenerated this time (the earlier commits only touched package.json and never ran npm install, so the lockfile was still resolving the vulnerable versions). npm audit now shows 0 critical/high for svgo, js-yaml, smol-toml, gray-matter, astro, and hono.
  • P2 (typo dictionary entries): removed Issac, hasslefree, and chromotography from dnb.dict.txt — they were fixed in prose in this branch and shouldn't have been allow-listed too.

@davidsneighbour
davidsneighbour merged commit d9f0b81 into main Sep 10, 2026
6 checks passed
@davidsneighbour
davidsneighbour deleted the fix-dependabot-alerts branch September 10, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant