You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#669 touches cmd/dockhand/**, which triggers a full catalog rebuild. That rebuild ran the Grype gate against every server for the first time in a while and 11 build-containers jobs failed: 10 on Run Grype vulnerability scanner, and browserbase-mcp-server additionally on Build and push Docker image.
These are not caused by #669. For any spec without overrides/constraints the injection is a strict no-op: the generated Dockerfile is byte-identical between that branch and main. The full rebuild simply re-scanned images whose vulnerabilities had accrued since their last build.
That is the underlying dynamic worth noting: a server is only rebuilt when its own spec.yaml changes (or cmd/dockhand, go.mod, or the workflow), so newly published advisories against an already-built image go unnoticed until something unrelated forces a rebuild. The published images on GHCR carry these findings today.
Findings by server
Server
High/Critical findings
npx/brightdata-mcp
@modelcontextprotocol/sdk x3 (high)
npx/astra-db-mcp
undici x3 (high)
npx/browserbase-mcp-server
sharp (high), plus a separate build failure
npx/mcp-server-neon
~34 across next (1 critical), axios, lodash, postcss, sharp, @modelcontextprotocol/sdk
npx/onchain-mcp
@modelcontextprotocol/sdk x2 (high)
npx/mcp-jetbrains
fails the gate; specific packages need reading from the run's SARIF (no code-scanning alerts landed for this category)
uvx/chroma-mcp
mcp x5 (high)
uvx/mcp-neo4j-cypher
fastmcp (1 critical, 1 high)
uvx/mcp-neo4j-aura-manager
fastmcp (1 critical, 1 high)
uvx/mcp-neo4j-memory
fastmcp (1 critical, 1 high)
uvx/adb-mysql-mcp-server also fails, split out as #828 since it is unblocked by #669 directly.
chroma-mcp hard-pins mcp[cli]==1.6.0, while its 5 high findings are fixed across 1.9.4, 1.10.0, 1.23.0, 1.27.2, and 1.28.1. An exact pin excluding every fix, so an override candidate.
Different shape, likely not override territory:
mcp-server-neon has ~34 high/critical across a broad dependency tree. That reads as a badly stale upstream release rather than one cap, and probably wants an upstream bump or a version reassessment.
browserbase-mcp-server has a genuine build failure that needs fixing before its sharp finding matters.
Context
#669 touches
cmd/dockhand/**, which triggers a full catalog rebuild. That rebuild ran the Grype gate against every server for the first time in a while and 11build-containersjobs failed: 10 onRun Grype vulnerability scanner, andbrowserbase-mcp-serveradditionally onBuild and push Docker image.These are not caused by #669. For any spec without
overrides/constraintsthe injection is a strict no-op: the generated Dockerfile is byte-identical between that branch andmain. The full rebuild simply re-scanned images whose vulnerabilities had accrued since their last build.That is the underlying dynamic worth noting: a server is only rebuilt when its own
spec.yamlchanges (orcmd/dockhand,go.mod, or the workflow), so newly published advisories against an already-built image go unnoticed until something unrelated forces a rebuild. The published images on GHCR carry these findings today.Findings by server
npx/brightdata-mcp@modelcontextprotocol/sdkx3 (high)npx/astra-db-mcpundicix3 (high)npx/browserbase-mcp-serversharp(high), plus a separate build failurenpx/mcp-server-neonnext(1 critical),axios,lodash,postcss,sharp,@modelcontextprotocol/sdknpx/onchain-mcp@modelcontextprotocol/sdkx2 (high)npx/mcp-jetbrainsuvx/chroma-mcpmcpx5 (high)uvx/mcp-neo4j-cypherfastmcp(1 critical, 1 high)uvx/mcp-neo4j-aura-managerfastmcp(1 critical, 1 high)uvx/mcp-neo4j-memoryfastmcp(1 critical, 1 high)uvx/adb-mysql-mcp-serveralso fails, split out as #828 since it is unblocked by #669 directly.Relationship to #668
Two of these are the original cases #668 was opened for:
brightdata-mcpis the chore(deps): update dependency @brightdata/mcp to v2.11.1 #469 case:@modelcontextprotocol/sdkhard-pinned to 1.21.2, fixes at >=1.24. Confirmed still 3 high findings.mcp-neo4j-cypheris the chore(deps): update dependency mcp-neo4j-cypher to v0.6.0 #528 case:fastmcpcapped below the fixed version.Two refinements to what #668 recorded:
fastmcpcap affects all three neo4j servers (cypher,aura-manager,memory), not justcypher.mcp-clickhouse(chore(deps): update dependency mcp-clickhouse to v0.4.1 #527) currently passes, becausemainstill ships 0.2.0. It regresses the moment that renovate bump lands, which is what chore(deps): update dependency mcp-clickhouse to v0.4.1 #527 was blocked on.Newly identified as the same shape:
chroma-mcphard-pinsmcp[cli]==1.6.0, while its 5 high findings are fixed across 1.9.4, 1.10.0, 1.23.0, 1.27.2, and 1.28.1. An exact pin excluding every fix, so an override candidate.Different shape, likely not override territory:
mcp-server-neonhas ~34 high/critical across a broad dependency tree. That reads as a badly stale upstream release rather than one cap, and probably wants an upstream bump or a version reassessment.browserbase-mcp-serverhas a genuine build failure that needs fixing before itssharpfinding matters.Proposed work
spec.constraints/spec.overridesfrom feat(dockhand): support transitive dependency overrides/constraints in spec.yaml #669) or whether the server needs an upstream version bump.docs/adding-servers.mdand functionally test, especially when forcing across a major boundary.The weekly
periodic-security-scanworkflow was supposed to be the safety net here, but its critical-finding alerting is broken. Tracked in #829.