T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:10andSKILL.md:18
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable Code
yaml install: npm install -g ondeckllmThe installation instruction is repeated in the prerequisites:
bash npm install -g ondeckllmTechnical Analysis
The skill directs users or agents to install the latest available release of the external
ondeckllmnpm package without an exact version, lockfile, or integrity constraint. Consequently, the code installed at execution time may differ from the code that existed when this skill was reviewed.npm packages can define lifecycle scripts that execute during installation with the permissions of the invoking user. The
-goption installs the package globally, increasing its influence over the user's executable environment compared with a project-local installation. The external package source and its transitive dependencies are not included in this project, so their behavior could not be verified as part of this audit.This finding does not establish that the named package is currently malicious. The vulnerability is the unsafe, mutable supply-chain trust model used by the installation instructions.
Attack Path
- An attacker compromises the npm package, a maintainer account, or one of its transitive dependencies and publishes a malicious release.
- A user or agent follows the skill instruction and runs
npm install -g ondeckllm. - npm resolves the unpinned package name to the compromised current release.
- Malicious package contents or lifecycle scripts execute with the invoking user's permissions.
- The installed global executable can subsequently run attacker-controlled logic whenever
ondeckllmis invoked.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user performing the installation. ...[truncated 485 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed exact version, for example
ondeckllm@X.Y.Z, rather than resolving the latest release. - Prefer a project-local dependency managed through
package.jsonand a committed lockfile instead of a global installation. - Verify package integrity using an approved registry, lockfile integrity metadata, provenance attestations, or a documented package checksum.
- Audit the selected package release and its transitive dependencies before recommending installation.
- Disable npm lifecycle scripts with
--ignore-scriptswhen they are not required; otherwise, explicitly document and review every required installation script. - Avoid administrator or root privileges and run the package under a least-privileged account.
- Keep automated dependency monitoring in place and require review before updating the pinned version.
- Pin the dependency to a reviewed exact version, for example
