Repository navigation
fix(security): resolve code-scanning and Dependabot alerts - #567
Conversation
- Pin every GitHub Action to a full commit SHA (Scorecard PinnedDependencies) - Pin go install / npm / pip commands to exact versions or hashed lockfiles - Add read-only top-level permissions to all workflows; scope write permissions to the jobs that need them (TokenPermissions, CodeQL actions/missing-workflow-permissions) - Validate blog slugs and build links via blogPostHref() (CodeQL js/stored-xss) - Pin Dockerfile base images by digest; add HEALTHCHECK NONE (Trivy DS-0026) - Untrack accidentally committed examples/cmd/cmd binary - Bump otel to v1.47.0, edwards25519 to v1.1.1, x/sys to v0.49.0 (Trivy CVEs) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1rUqknXo3RVxa3jGASwDq
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @ajitpratap0's task in 32s —— View job Review of PR #567: code-scanning alertsI read the diff for the Dockerfile, the blog changes, the Overall the change is sound and well scoped. The permissions model is correct: a read-only top level, with write access only on the jobs that need it. I found nothing blocking. These are the points I'd check before merging. Things to verify
Code and Docker
Process notes
|
Go: - buger/jsonparser v1.1.1 -> v1.6.1 (GHSA-6g7g-w4f8-9c9x) - testcontainers-go v0.41.0 -> v0.44.0, which drops github.com/docker/docker (4 advisories with no patched docker/docker release) for moby/moby modules website: - next 16.1.7 -> 16.3.8 (all next advisories incl. 2 critical) - @sentry/nextjs ^10.43.0 -> ^10.76.2 (patched @opentelemetry/* instrumentations) - override postcss-selector-parser ^7.1.6 under @tailwindcss/typography - npm audit fix for transitive deps (sharp, fast-uri, nanoid, postcss, ...) vscode-extension (dev-only): - npm audit fix (undici, fast-uri, js-yaml, markdown-it, lodash, ...) - override serialize-javascript ^7.0.5 and eslint's nested minimatch ^9.0.9 .github/tools/vercel: - same-major overrides for tar, path-to-regexp, smol-toml, js-yaml, ajv, minimatch, undici, @tootallnate/once bundled by Vercel CLI 60.1.3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1rUqknXo3RVxa3jGASwDq
|
Claude finished @ajitpratap0's task in 22s —— View job Review of PR #567: code-scanning alertsI found nothing blocking. I could not verify the SHAs, run CI or run the tests, because I had no network access. Things to verify before merge
Code
Test coverageNo Go code changed, so no new Go tests are needed. The CLAUDE.md |
Resolve the conflict with #543, which removed the token-based Deploy Website workflow in favour of Vercel building the playground WASM: keep the deletion of .github/workflows/website.yml and drop .github/tools/vercel/, whose pinned Vercel CLI only served that workflow. This also removes the vulnerable @fastify/busboy 2.1.1 and braces 3.0.3 it pulled in (Trivy / Dependency Review failures). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Claude finished @ajitpratap0's task in 17s —— View job Review of PR #567: code-scanning and Dependabot alertsI found nothing blocking. I read the pinned Things to check before merge
Code
|
The Next.js 16.3.8 bump moves sharp to 0.35.5, so dependency review re-evaluates its prebuilt @img/sharp-* platform packages and rejects their LGPL-3.0-or-later license. main already ships the same packages (sharp 0.34.5); only the version changed. They are dynamically linked, used solely for website image optimisation, and never part of the Go SDK, so allow exactly these packages (any version) via allow-dependencies-licenses instead of adding LGPL repo-wide. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Claude finished @ajitpratap0's task in 17s —— View job Review of PR #567: code-scanning and Dependabot alertsI found nothing blocking. I read the To check before merge
Code
|
Type of Change
Performance Impact
Testing
go test ./...)task checkrunstest:race)tscandnext build.Summary
Fixes 126 of the 134 open code-scanning alerts. The other 8 can't be fixed in code (see below).
uses:in all 17 workflows is pinned to a full commit SHA with a version comment. Each SHA is the commit the old floating tag pointed to, so the action code is unchanged.@latest. The Sentry pip install uses.github/scripts/requirements-sentry.txtwith hashes. Thevsceand Vercel CLI installs runnpm cifrom lockfiles.permissions:. Write access is set only on the jobs that need it (security scans, release, glama-sync, sentry sync, stale, labeler).website/src/lib/blog-slug.ts). The sitemap is fixed too.HEALTHCHECK NONEbecause the distroless image has no shell or curl.examples/cmd/cmduntracked and added to.gitignore.edwards25519v1.1.1,x/sysv0.49.0.Still open:
x/crypto): no fixed release exists yet.gosqlx.wasm): kept in the repo because Vercel's build doesn't produce them.Test Plan
task check(fmt, vet, lint, race tests) passes.go buildandgo test -racepass inintegrations/opentelemetry.tsc --noEmitpasses inwebsite/, andnext buildgenerates all pages. All 17 existing blog slugs match the new pattern.uses:left without a SHA pin.Breaking Changes
None for library users. CI changes:
vsceand Vercel CLI versions are now fixed (3.7.1 and 60.1.3) instead of the newest release.vscode-extensionfolder..github/tools/vercel/), so they need entries in.github/dependabot.ymlor manual updates.Dependabot alerts (commit 907b9d7)
Fixes 129 of the 131 open Dependabot alerts.
go.modbuger/jsonparserv1.6.1.testcontainers-gov0.44.0, which replacesgithub.com/docker/docker(no patched release) with themoby/mobymodules.website/next16.1.7 → 16.3.8 (2 critical),@sentry/nextjs→ ^10.76.2 (patched OpenTelemetry instrumentations),npm audit fix, and apostcss-selector-parser^7.1.6 override under@tailwindcss/typography.vscode-extension/(dev only)npm audit fix, plus overrides forserialize-javascript^7.0.5 and ESLint's nestedminimatch^9.0.9.Still open: #142
sprintf-js(viagray-matter→js-yaml@3→argparse@1) has no patched release.gray-matterdoesn't use the affected code path, butargparsestill loadssprintf-js.Vercel CLI lockfile (new in this PR): Vercel CLI pins its own dependencies, and even the newest release (63.1.2) has 33 known vulnerabilities. I added same-major overrides for
tar,path-to-regexp,smol-toml,js-yaml,ajv,minimatch,undiciand@tootallnate/once.@fastify/busboy(fixed only in a new major) andbraces(no fix) remain, so Dependabot will raise new alerts for those. Before this PR, the same packages were installed unpinned withnpm install -gand just weren't visible.Dependabot testing:
go build ./..., and the race tests inpkg/schema/...andpkg/mcpcompile and pass. The container tests probably skipped locally without Docker.tsc --noEmitandnext buildpass for the website, and the prose styles are still in the built CSS.vscode-extensioncompiles. Its 12 lint errors already exist onmain.--versionand--help.vercel buildandvercel deploywith the overrides only run onmain, so the first deploy after merge is the real test.🤖 Generated with Claude Code
https://claude.ai/code/session_01A1rUqknXo3RVxa3jGASwDq