T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Global Installation of a Third-Party CLI Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–24
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
markdown Before doing anything else, verify `pb` is installed:pb --version
text If the command is not found, ask the user to install it:npm install -g phonebase-cli
text Do not run the install command yourself — the user runs it.Technical Analysis
The installation guidance uses an unpinned npm package name and performs a global installation. It does not specify a trusted registry, exact version, integrity digest, signature-verification procedure, or validated publisher identity.
Although the skill explicitly tells the agent not to execute the installation command, the user is still instructed to run it. npm package installation can execute package lifecycle scripts on the local host. Consequently, compromise of the package, its publisher account, or its distribution channel could turn the documented setup procedure into local code execution.
Attack Path
- An attacker compromises the
phonebase-clipublisher account, package release pipeline, or another relevant supply-chain component. - The attacker publishes a malicious version under the package name referenced by the skill.
- A user without
pbfollows the documented command, which does not constrain the selected version or verify integrity. - npm downloads the malicious release and may execute its lifecycle scripts during global installation.
- The payload executes locally with the permissions of the user running npm.
This path depends on compromise of the referenced package or its distribution chain; the audited file does not itself contain an executable payload.
Impact Assessment
Successful exploitation could execute arbitrary code on the user's local machine with the installing user's privileges. Potential effects include access to that user's ...[truncated 313 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed exact version rather than resolving the latest available release.
- Identify the official package registry and verified publisher explicitly.
- Publish and verify a cryptographic integrity digest or signed release artifact.
- Prefer a project-local or isolated installation over a global installation where practical.
- Disable lifecycle scripts during installation when they are not required, then document any necessary post-installation steps separately.
- Provide a trusted download and verification procedure and require re-verification when the pinned version changes.
- Warn users not to run the installation with elevated privileges.
