T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Global Installation of a Third-Party Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–25 and 84–88
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable Code
bash ## Installation ```bash # Check prerequisites node -v # Requires Node.js 18+ npm -v # Install globally npm install -g @tencent-ai/codebuddy-code # Verify codebuddy --versiontext The update instructions repeat the same unpinned installation: ```bash ## Update ```bash npm install -g @tencent-ai/codebuddy-codetext ### Technical Analysis The Skill directs users to install the latest available release of `@tencent-ai/codebuddy-code` globally. It does not specify a reviewed version, integrity hash, lockfile, package provenance check, or trusted registry configuration. Because the package implementation is not included in the audited project, its install-time and runtime behavior cannot be verified from this repository. A global npm installation may execute package lifecycle scripts with the permissions of the invoking user and places executable files in a shared system or user-level npm location. The package scope is consistent with the vendor named by the Skill, and the file does not reference a suspicious registry or download domain. Therefore, this is a supply-chain hardening weakness rather than evidence that the named package is malicious. ### Attack Path 1. An attacker compromises the package publisher account, npm package, release pipeline, or another component in the package's dependency chain. 2. The attacker publishes a malicious or compromised package version under the same package name. 3. A user follows the Skill's installation or update command. 4. npm resolves the command to the latest mutable release because no version is pinned. 5. Malicious lifecycle code or the installed CLI executes with the user's npm and operating-system permissions. 6. The compromised pack ...[truncated 824 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the package to a specific, reviewed version, for example:
bash npm install -g @tencent-ai/codebuddy-code@<reviewed-version> - Document how users can verify the package publisher, registry, provenance attestations, and integrity metadata before installation.
- Prefer a project-local installation with a committed lockfile over a global installation where feasible.
- Disable npm lifecycle scripts during initial inspection when operationally possible, and review required scripts before enabling them.
- Run the CLI in a container or restricted development environment with only the required project directory mounted.
- Avoid running npm or the installed CLI with administrative privileges.
- Establish a controlled update process that reviews release notes, dependency changes, checksums, and provenance before changing the pinned version.
- Pin the package to a specific, reviewed version, for example:
