T08 · Insecure Dependencies
- Location
SKILL.md:22- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:22-33, 40-50;references/usage-patterns.md:3-11, 27-35, 109-113;scripts/validate.sh:44-54, 126-128
Vulnerability Type: Mutable, automatically executed third-party dependency
Risk Level: HighVulnerable Code
From
SKILL.md:22-33:markdown - Raw package form from official docs: - `npx chrome-devtools-mcp@latest` - Reliable non-interactive form: - `npx -y chrome-devtools-mcp@latest` - Default live-browser endpoint for this skill: - `npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics` - Explicit browser-url endpoint: - `npx -y chrome-devtools-mcp@latest --browserUrl http://127.0.0.1:9222 --no-usage-statistics` - Fallback isolated endpoint: - `npx -y chrome-devtools-mcp@latest --headless --isolated --no-usage-statistics`From
SKILL.md:40-50:markdown 3. Use a fixed link command by default: - `command -v chrome-devtools-mcp-cli` - If missing, create it: - `uxc link chrome-devtools-mcp-cli "npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics"` - Optional explicit browser-url link: - `command -v chrome-devtools-mcp-port` - `uxc link chrome-devtools-mcp-port "npx -y chrome-devtools-mcp@latest --browserUrl http://127.0.0.1:9222 --no-usage-statistics"` - Optional isolated fallback link: - `command -v chrome-devtools-mcp-isolated` - `uxc link chrome-devtools-mcp-isolated "npx -y chrome-devtools-mcp@latest --headless --isolated --no-usage-statistics"`From
references/usage-patterns.md:3-11:markdown This skill defaults to a live-browser stdio endpoint: `npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics` This skill defaults to the fixed link command `chrome-devtools-mcp-cli`. Create it when missing: ```bash command -v chrome-devtools-mcp-cli uxc link chrome-devtools-mcp-cli "npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics"text The validation scr ...[truncated 3487 chars]- Remediation
View remediation
Remediation Suggestions
-
Replace every
chrome-devtools-mcp@latestreference with an exact, reviewed version, for example:bash npx --yes --package chrome-devtools-mcp@X.Y.Z chrome-devtools-mcp --autoConnect --no-usage-statisticsThe actual version must be selected after review rather than copied from this placeholder.
-
Record and verify dependency integrity using a committed lockfile, npm integrity metadata, a trusted internal registry, or an equivalent immutable artifact mechanism.
-
Update the UXC links to reference the same exact audited version. Do not retain
@latestin reusable command definitions. -
Modify
scripts/validate.shso that it rejects@latestand verifies the approved exact version instead of requiring a mutable dependency selector. -
Establish a controlled upgrade process:
- Review upstream release notes and source changes.
- Verify publisher and package provenance.
- Run security and behavioral tests in isolation.
- Update the approved version and integrity metadata only after review.
-
Prefer installing the reviewed dependency in a controlled environment before execution. Where operationally feasible, avoid automatic installation acceptance and require explicit approval for dependency changes.
-
Run the MCP process with least privilege and isolate it from unrelated credentials and files. Use the isolated browser mode unless access to a live authenticated browser is specifically required.
-
