T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:48
- Finding
- Mutable Unpinned CLI Dependency Installed Globally<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 48-54 **Vulnerability Type**: Supply-chain exposure through a mutable package version **Risk Level**: Medium ### Vulnerable Code ```bash ## Install CLI ```bash npm install -g edgeone@latest ``` Verify: `edgeone -v` must output `1.2.30` or higher. If not, retry installation. ``` ### Technical Analysis The skill instructs the agent to install `edgeone@latest` globally. The `latest` npm distribution tag is mutable, so the package installed in the future may differ from the version reviewed when this skill was published. An npm installation can execute package lifecycle scripts. Because the package is installed globally, those scripts run with the permissions available to the npm process and can modify globally installed tooling or access data available to the invoking user. Merely checking that the resulting version is at least `1.2.30` does not verify package integrity, provenance, or whether the installed release is trusted. This is an unsafe dependency acquisition pattern rather than evidence that the current EdgeOne package is malicious. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or the release pipeline controlling the `latest` tag. 2. The attacker publishes a malicious release and assigns it to `latest`. 3. A user invokes this skill after the compromised release becomes current. 4. The agent executes `npm install -g edgeone@latest`. 5. Malicious package code or lifecycle scripts execute with the permissions of the npm process. 6. The compromised CLI can subsequently access project files, deployment credentials, and source code supplied during deployment. ### Impact Assessment Successful exploitation could execute arbitrary code with the invoking user's privileges, modify globally installed Node.js tooling, access readable project files, and capture credentials later supplied to the CLI. The scope is limited by the operating-system privile ...[truncated 127 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Replace the mutable tag with an explicitly reviewed version, for example: ```bash npm install -g edgeone@1.2.30 ``` - Validate package provenance and integrity before installation. - Prefer a project-local or isolated installation rather than a global installation where operationally possible. - Upgrade only through an explicit, reviewed version change. - Use a lockfile and integrity hashes if the CLI is incorporated into a managed project dependency set. - Disable npm lifecycle scripts when feasible, or verify that the audited package requires no installation scripts before doing so. ]]>
