T08 · Insecure Dependencies
- Location
SKILL.md:62- Finding
Unpinned Global Installation of a Mutable CLI Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 62–65
Vulnerability Type: Supply-chain risk from an unpinned npm dependency
Risk Level: MediumVulnerable Code
markdown 2. 若不存在,说明缺少腾讯会议 CLI,并在用户确认后安装: ```bash npm install -g @tencentcloud/tmeet@latesttext ### Technical Analysis The Skill instructs the Agent to install `@tencentcloud/tmeet` globally using the mutable `latest` npm tag. It does not pin a reviewed version, verify package integrity, constrain the registry, or validate the installed artifact. As a result, the code ultimately installed and executed can differ from the version assessed when this Skill was reviewed. An npm package installation may also execute lifecycle scripts with the privileges of the user running the Agent. User confirmation reduces the chance of an unnoticed installation, but it does not verify the safety or identity of the package version selected by `latest`. This is a supply-chain weakness rather than evidence that the named package is currently malicious. ### Attack Path 1. An attacker compromises the package publisher, npm account, package distribution channel, or a future release selected by the `latest` tag. 2. The attacker publishes package code or lifecycle scripts under a version resolved by `@tencentcloud/tmeet@latest`. 3. The target system does not already have the `tmeet` command. 4. The Skill recommends the documented global installation, and the user approves it. 5. npm downloads the mutable package release and may execute its lifecycle scripts. 6. Malicious code runs with the permissions of the user operating the Agent. 7. The installed CLI may subsequently access local files, environment variables, OAuth state, and meeting data available in that execution context. ### Impact Assessment Successful exploitation could provide code execution under the installing user's account. The reachable scope may include: - Files and environment variables accessible to the Agent ...[truncated 636 chars]- Remediation
View remediation
Remediation Suggestions
-
Replace
@latestwith an exact, reviewed version:bash npm install -g @tencentcloud/tmeet@<reviewed-exact-version> -
Document an explicit upgrade process that includes security review before changing the pinned version.
-
Verify that npm resolves the package from the expected registry and publisher namespace.
-
Record and verify the expected package integrity or provenance where the installation mechanism supports it.
-
Prefer a project-local or isolated installation over a global installation to reduce scope and simplify removal.
-
Disable npm lifecycle scripts during installation if the package can function without them:
bash npm install --ignore-scripts --save-exact @tencentcloud/tmeet@<reviewed-exact-version> -
If lifecycle scripts are required, inspect them before installation and run the installation with the least-privileged account available.
-
After installation, verify the executable path and version before authentication or access to sensitive meeting data.
-
