Skip to content

Commit 7fdeb27

Browse files
authored
chore(deps): bump test-fixture deps + close dependabot coverage gaps (#1188)
* chore(tests): bump hono/fast-uri in fixture lockfiles to clear Dependabot alerts Ten Dependabot alerts (5 per fixture) flagged fast-uri and hono transitive deps in tests/echo-rugpull-server and tests/malicious-mcp-server. Both are local-only npm fixtures for the quarantine/TPA scanner test suite: never published, never shipped, bound to localhost, spawned only from test tooling. Real-world exposure is effectively zero; this is alert-noise hygiene, not a security fix. Bump fast-uri 3.1.4 -> 3.1.5 and hono 4.12.32 -> 4.12.34 in both package-lock.json files, keeping the two fixtures on identical versions. Both are transitive deps of @modelcontextprotocol/sdk (hono) and ajv (fast-uri) and stay within their existing semver ranges, so package.json is untouched. Verified both fixtures still work after the bump: MCP initialize/tools-list/ tools-call round-trips succeed over stdio, and a real mcpproxy instance connects to both and indexes their tools (echo-rugpull: 2 tools, malicious: 3 tools). * chore(ci): close dependabot coverage gaps across npm/docker manifests .github/dependabot.yml covered gomod:/, github-actions:/, npm:/frontend and npm:/website only. It never watched tests/echo-rugpull-server or tests/malicious-mcp-server, which is exactly why ten alerts (5 identical per fixture, for fast-uri and hono) sat unfixed: nothing was ever going to open a PR for them. Add both, grouped, with a low open-pull-requests-limit and a distinct "chore(deps-fixtures)" commit prefix so fixture noise never crowds out real dependency PRs in review. Swept the rest of the repo for manifests the config also missed: - npm: e2e/playwright, e2e/web-ui-sweep — real CI tooling (OAuth E2E, web-ui-sweep gate), not fixtures; added like frontend/website. - npm: bench/tscg — deliberately NOT added. It pins @tscg/core to an exact version for discovery-profiler benchmark reproducibility (spec 083); auto-bumping would silently invalidate published numbers, same rationale as the existing mcp-go ignore rule. Documented inline instead of an ignore-only entry that would never produce a PR anyway (zero-dep shim). - docker: root Dockerfile (the shipped server-edition image) plus the five docker/scanners/* wrappers (cisco, proximity, ramparts, snyk, trivy) that scanner-images.yml builds and pushes to ghcr.io/smart-mcp-proxy/scanner-* — real, shipped, security-relevant base images that had zero Dependabot coverage. cmd/mcpfixture is `FROM scratch` and has nothing to track, so it's documented as excluded rather than given a no-op entry. - go.mod: single module at repo root, already covered.
1 parent d084172 commit 7fdeb27

3 files changed

Lines changed: 118 additions & 12 deletions

File tree

‎.github/dependabot.yml‎

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,109 @@ updates:
6060
website-dependencies:
6161
patterns:
6262
- "*"
63+
- package-ecosystem: npm
64+
directory: "/e2e/playwright"
65+
schedule:
66+
interval: weekly
67+
open-pull-requests-limit: 5
68+
commit-message:
69+
prefix: "chore(deps)"
70+
groups:
71+
e2e-playwright-dependencies:
72+
patterns:
73+
- "*"
74+
- package-ecosystem: npm
75+
directory: "/e2e/web-ui-sweep"
76+
schedule:
77+
interval: weekly
78+
open-pull-requests-limit: 5
79+
commit-message:
80+
prefix: "chore(deps)"
81+
groups:
82+
e2e-web-ui-sweep-dependencies:
83+
patterns:
84+
- "*"
85+
# tests/echo-rugpull-server and tests/malicious-mcp-server are local-only
86+
# npm fixtures for the quarantine/TPA scanner test suite (tests/README.md):
87+
# never published, never shipped, spawned only from test tooling and bound
88+
# to localhost. A vulnerable transitive dep here is alert noise, not a real
89+
# exposure — but Dependabot previously had NO entry for either directory,
90+
# so ten open alerts (5 per fixture, identical) sat unfixed because nothing
91+
# ever opened a PR for them. Low limit + own commit prefix keep fixture
92+
# bumps from competing with real dependency PRs for review attention.
93+
- package-ecosystem: npm
94+
directory: "/tests/echo-rugpull-server"
95+
schedule:
96+
interval: weekly
97+
open-pull-requests-limit: 3
98+
commit-message:
99+
prefix: "chore(deps-fixtures)"
100+
groups:
101+
echo-rugpull-fixture-dependencies:
102+
patterns:
103+
- "*"
104+
- package-ecosystem: npm
105+
directory: "/tests/malicious-mcp-server"
106+
schedule:
107+
interval: weekly
108+
open-pull-requests-limit: 3
109+
commit-message:
110+
prefix: "chore(deps-fixtures)"
111+
groups:
112+
malicious-mcp-fixture-dependencies:
113+
patterns:
114+
- "*"
115+
# bench/tscg pins @tscg/core to an exact version (1.4.3) on purpose: the
116+
# discovery-profiler benchmark (spec 083) reports figures — e.g. "TSCG
117+
# (-23.8%)" in specs/085-compact-router/spec.md — that are only comparable
118+
# run-to-run if the shim's encoding behavior doesn't drift. Auto-bumping it
119+
# would silently invalidate published numbers, the same reason
120+
# github.com/mark3labs/mcp-go is excluded from the gomod group above. No
121+
# dependabot entry for bench/tscg; re-pin it manually, in its own reviewed
122+
# commit, if a bump is ever warranted.
123+
#
124+
# cmd/mcpfixture/Dockerfile is `FROM scratch` (see the file's own header
125+
# comment) — there is no base image for the docker ecosystem to track, so
126+
# it has no entry below either.
127+
- package-ecosystem: docker
128+
directory: "/"
129+
schedule:
130+
interval: weekly
131+
open-pull-requests-limit: 5
132+
commit-message:
133+
prefix: "chore(deps)"
134+
- package-ecosystem: docker
135+
directory: "/docker/scanners/cisco"
136+
schedule:
137+
interval: weekly
138+
open-pull-requests-limit: 5
139+
commit-message:
140+
prefix: "chore(deps-scanners)"
141+
- package-ecosystem: docker
142+
directory: "/docker/scanners/proximity"
143+
schedule:
144+
interval: weekly
145+
open-pull-requests-limit: 5
146+
commit-message:
147+
prefix: "chore(deps-scanners)"
148+
- package-ecosystem: docker
149+
directory: "/docker/scanners/ramparts"
150+
schedule:
151+
interval: weekly
152+
open-pull-requests-limit: 5
153+
commit-message:
154+
prefix: "chore(deps-scanners)"
155+
- package-ecosystem: docker
156+
directory: "/docker/scanners/snyk"
157+
schedule:
158+
interval: weekly
159+
open-pull-requests-limit: 5
160+
commit-message:
161+
prefix: "chore(deps-scanners)"
162+
- package-ecosystem: docker
163+
directory: "/docker/scanners/trivy"
164+
schedule:
165+
interval: weekly
166+
open-pull-requests-limit: 5
167+
commit-message:
168+
prefix: "chore(deps-scanners)"

‎tests/echo-rugpull-server/package-lock.json‎

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/malicious-mcp-server/package-lock.json‎

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)