T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Automatic Global Installation of an Unpinned npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17-26
Vulnerability Type: Supply-chain exposure through a mutable, globally installed dependency
Risk Level: MediumVulnerable command:
bash npm install -g @tencentcloud/tmeet@latestThe surrounding instructions state that this command is automatically executed when the
tmeetexecutable is not detected.Technical Analysis
The Skill installs the mutable
latestrelease of@tencentcloud/tmeetglobally. The project provides no exact version constraint, lockfile, package integrity hash, vendored source, or other mechanism that would allow the installed artifact to be verified against the version reviewed during this audit.npm packages can define lifecycle scripts that run during installation. Consequently, a compromised package release, registry account, dependency, or package distribution channel could execute code during installation. Use of the global installation flag also increases the affected scope compared with a project-local, isolated dependency.
The vendor-scoped package name reduces the likelihood of ordinary dependency confusion, but it does not eliminate package-account compromise, malicious dependency updates, registry compromise, or unintended behavior changes in a future
latestrelease.Attack Path
- An attacker compromises the package publisher, registry distribution path, or a transitive dependency used by a future release.
- A malicious or compromised release becomes the version selected by the
latesttag. - The Skill runs on a system where the
tmeetexecutable is absent. - The documented automatic installation invokes
npm install -g @tencentcloud/tmeet@latest. - npm downloads the mutable release and may execute its installation lifecycle scripts.
- Malicious code runs with the privileges of the user or service account operating the Agent.
- The installed executable can subsequently process ...[truncated 857 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact, reviewed version rather than using
@latest. - Commit and enforce an integrity record or lockfile where the installation model permits it.
- Verify the expected npm registry and package integrity before installation.
- Avoid automatic global installation. Prefer a project-local or otherwise isolated installation with minimal filesystem permissions.
- Require explicit user approval before downloading or installing executable third-party components.
- Review the package and its dependency tree, including lifecycle scripts, before approving a release.
- Disable npm lifecycle scripts with
--ignore-scriptsif the package can function without them. - Run the CLI under a dedicated, least-privileged account or sandbox and limit its access to unrelated files and environment variables.
- Establish a controlled upgrade process so that dependency updates are reviewed and tested before deployment.
- Pin the dependency to an exact, reviewed version rather than using
