T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned Third-Party npm Package Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–26
Vulnerability Type: Unpinned and immediately executed third-party dependency
Risk Level: MediumVulnerable Code:
text If `datalens-mcp-call` is not on PATH (e.g. not globally installed), use npx:run_in_terminal: npx datalens-mcp-call <tool_name> '<args_json>'
text ## Prerequisites 1. `datalens-mcp-server` npm package installed: `npm install -g datalens-mcp-server` (or use `npx`).Technical Analysis
The Skill directs the agent to install or execute an npm dependency without specifying a reviewed version, lockfile, or integrity hash. In particular,
npxcan download and immediately execute the version currently resolved by the npm registry. The global installation command likewise retrieves an unpinned package and may run its lifecycle scripts.Consequently, the effective code executed by the Skill can change after the Skill itself has been audited. A compromised publisher account, malicious package release, registry compromise, or dependency-chain compromise could cause arbitrary attacker-controlled code to run locally. The audit found no malicious payload embedded in this project; the risk arises from unsafe dependency acquisition and execution.
Attack Path
- An attacker compromises the referenced npm package, its publisher account, or one of its transitive dependencies.
- The attacker publishes a malicious release or injects malicious lifecycle/runtime code.
- An agent follows
SKILL.mdand invokesnpx datalens-mcp-callor runsnpm install -g datalens-mcp-server. - npm resolves and downloads the unpinned package or compromised dependency.
- Malicious installation or runtime code executes with the permissions and environment of the agent user.
- The payload may access local files, environment variables, browser-related data, or network resources available to that user.
Impact Asses
...[truncated 485 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specific, reviewed version rather than resolving the latest registry release.
- Provide a lockfile and verify package integrity using approved checksums or npm integrity metadata.
- Document and verify the expected npm publisher, package repository, and release provenance.
- Prefer a vetted local installation over automatic
npxretrieval and execution. - Avoid global installation where possible; install into an isolated, least-privileged environment.
- Disable npm lifecycle scripts where compatible with the package and deployment process.
- Apply dependency scanning and review transitive dependencies before updating the pinned version.
- Execute the tooling in a sandbox with restricted filesystem, environment-variable, browser, and network access.
