T08 · Insecure Dependencies
- Location
skill.json:4- Finding
Automatic Execution of an Unpinned Third-Party Package
- Content
View full analysis
Vulnerability Details
File Location:
skill.json, lines 4-7
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
json "command": "npx", "args": [ "-y", "chrome-devtools-mcp@latest",Technical Analysis
The skill invokes
npxwith the-yoption to retrieve and executechrome-devtools-mcp@latestwithout interactive confirmation. The mutablelatesttag does not identify the exact package version that was audited. Consequently, the code executed during future invocations can change without any modification to this repository.Installation and package lifecycle behavior may execute with the permissions of the user running the Agent. If the upstream package, its publishing account, registry distribution path, or a transitive dependency is compromised, an attacker could deliver arbitrary JavaScript through a future release.
This creates a supply-chain trust boundary outside the reviewed project and prevents reproducible deployment or verification against a known artifact.
Attack Path
- An attacker compromises the package publisher, registry account, release process, or an included dependency.
- The attacker publishes a malicious release and causes the
latesttag to resolve to it. - The skill is activated on a target system.
npx -yretrieves the current package without requesting confirmation.- Package lifecycle or runtime code executes with the Agent user's permissions.
- The malicious package can access resources available to that user and process, potentially including browser data exposed through the persistent Chrome profile.
Impact Assessment
Successful exploitation permits arbitrary code execution with the privileges of the account running the Agent. The potential scope includes readable and writable local files, environment variables, accessible credentials, network resources, and browser-profile data available to the MCP process.
The repository itself contai ...[truncated 153 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
chrome-devtools-mcp@latestwith an exact, reviewed version such aschrome-devtools-mcp@X.Y.Z. - Lock and verify the package integrity hash through a lockfile or equivalent deployment control.
- Use a trusted registry and apply registry allowlisting where supported.
- Remove unattended
-yinstallation where practical so unexpected retrieval requires explicit approval. - Preinstall the approved dependency in a controlled build process rather than downloading executable code when the skill runs.
- Review package updates and transitive dependency changes before changing the pinned version.
- Run the MCP server under a dedicated, least-privileged account with restricted filesystem, secret, and network access.
- Replace
