T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Mutable and Unverified Global CLI Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-29
Vulnerability Type: Mutable third-party dependency without integrity verification
Risk Level: MediumVulnerable Code
yaml install: kind: tarball url: https://vefaas-cli.tos-cn-beijing.volces.com/volcengine-vefaas-latest.tgz bin: vefaasbash npm i -g https://vefaas-cli.tos-cn-beijing.volces.com/volcengine-vefaas-latest.tgzTechnical Analysis
The Skill globally installs a tarball identified by the mutable name
volcengine-vefaas-latest.tgz. The documentation does not pin an immutable version or require validation through a checksum, package integrity value, or cryptographic signature.Although the source is described as Volcengine's official distribution channel and HTTPS protects data in transit, it does not guarantee that the retrieved package remains identical to the package originally reviewed. The effective executable payload can change whenever the remote
latestartifact is replaced.A globally installed npm package may also execute package lifecycle scripts during installation. After installation, the CLI operates with access to declared Volcengine credentials and local project files. This creates a significant supply-chain trust boundary.
Attack Path
- An attacker compromises the distribution endpoint, publishing process, DNS infrastructure, or credentials used to update the remote tarball.
- The attacker replaces
volcengine-vefaas-latest.tgzwith a modified package. - A user or AI agent follows the documented global installation command.
- Malicious package lifecycle code or modified CLI code executes with the privileges of the installing user.
- The package accesses available Volcengine credentials, local deployment source, or build artifacts.
- The compromised CLI can exfiltrate data, alter cloud deployments, or perform unauthorized cloud operations within the credentials' permissions.
...[truncated 695 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the mutable
latestURL with an immutable, explicitly versioned release artifact. - Publish a SHA-256 or stronger checksum through a separately protected release channel and verify it before installation.
- Prefer a signed package and require cryptographic signature verification against a pinned publisher key.
- If the CLI is distributed through a package registry, use an exact version and validated package integrity metadata.
- Disable or carefully review npm lifecycle scripts where operationally possible.
- Avoid automatic global installation. Install the CLI in an isolated environment with minimum filesystem and network privileges.
- Document a controlled update procedure in which every new CLI release is reviewed before the pinned version and integrity value are changed.
- Limit the Volcengine identity used by the CLI to the minimum permissions required for the intended deployment operation.
- Replace the mutable
