T08 · Insecure Dependencies
- Location
skill.md:27- Finding
Unpinned Global CLI Installation Creates a Supply-Chain Execution Risk
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 27-29
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: HighVulnerable Code
bash npm install -g @orth/cliTechnical Analysis
The installation instructions retrieve the current release of
@orth/clifrom the npm registry without specifying an exact version, validating an integrity digest, or requiring a source review. The-goption installs the package globally, expanding its influence beyond an isolated project environment.npm packages may execute lifecycle scripts during installation. Consequently, a compromised publisher account, registry response, or future malicious release could execute code with the privileges of the user running the installation command. A mutable package name does not guarantee that future users will receive the same code that was available when this Skill was audited.
The CLI is necessary for the documented Orthogonal functionality, but a mutable global installation grants more exposure than the minimum necessary. A local, version-pinned installation would reduce both the supply-chain risk and the scope of filesystem changes.
Attack Path
- An attacker compromises the npm publisher account, package release process, or another relevant supply-chain component for
@orth/cli. - The attacker publishes a malicious version under the legitimate package name.
- A user follows the documented command without specifying a trusted version.
- npm downloads the attacker-controlled release and runs any applicable lifecycle installation scripts.
- Malicious code executes with the installing user's privileges and the CLI is placed in a global executable location.
- The compromised CLI can subsequently intercept credentials, alter API requests, access user-readable files, or execute additional commands whenever it is invoked.
Impact Assessment
Successful exploitation cou ...[truncated 442 chars]
- An attacker compromises the npm publisher account, package release process, or another relevant supply-chain component for
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to an exact, reviewed version, for example
@orth/cli@X.Y.Z. - Publish and verify package integrity hashes or signed provenance before installation.
- Prefer a project-local installation and invoke it through a controlled package script or an explicitly pinned package runner.
- Avoid installation with administrator privileges.
- Document whether npm lifecycle scripts are required. If they are not required, install with lifecycle scripts disabled.
- Maintain a reviewed lockfile or another immutable dependency manifest.
- Establish a version-update process that includes source review, changelog inspection, and security testing before changing the pinned release.
- Pin the CLI to an exact, reviewed version, for example
