T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned Third-Party Package Installed Globally
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–23
Vulnerability Type: Unpinned global npm dependency installation
Risk Level: MediumVulnerable Code:
markdown ### 1. Install from npm ```bash npm install -g dataforseo-clitext ### Technical Analysis The setup instructions install `dataforseo-cli` globally from the npm registry without pinning an exact version or verifying an integrity hash. Consequently, the package contents installed by a user may differ from those that existed when this skill was reviewed. npm packages can run lifecycle scripts during installation. A malicious or compromised future package release could therefore execute code with the privileges of the user running npm. Global installation also exposes the command system-wide for that user and increases the likelihood that other workflows will invoke the installed executable. The audited project does not contain the dependency's source code, a lockfile, a checksum, or provenance verification material. This finding identifies an unsafe supply-chain installation practice; it does not establish that the current npm package is malicious. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or its release pipeline. 2. The attacker publishes a malicious release under the legitimate package name. 3. A user follows the skill instructions and runs `npm install -g dataforseo-cli`. 4. npm resolves the mutable current release because no exact version is specified. 5. Malicious installation lifecycle code or executable code runs with the installing user's privileges. 6. The globally installed command remains available and may execute again when invoked by the user or an agent. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing user's account. Accessible resources could include that user's files, environment variables, API credentials ...[truncated 240 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specifically reviewed version, such as
dataforseo-cli@1.0.6, rather than resolving the latest release. - Prefer a project-local installation over
-gto reduce exposure and isolate the package. - Commit and enforce a lockfile containing integrity metadata.
- Verify npm package provenance, publisher identity, release signatures, and registry source before installation.
- Review the package's source code and lifecycle scripts for the pinned release.
- Where compatible with the package, install with lifecycle scripts disabled and run only reviewed entry points.
- Avoid executing npm installation commands with administrator or root privileges.
- Establish a controlled update process in which newer versions are reviewed before changing the pin.
- Pin the dependency to a specifically reviewed version, such as
