T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:33
- Finding
- Unpinned Global Installation of a Privileged Third-Party CLI## Vulnerability Details **File Location**: `SKILL.md`, line 33 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Complete Code Snippet**: ```sh npm install -g @fetchproxy/cli # provides `fpx` ``` ### Technical Analysis The setup command globally installs the latest available release of `@fetchproxy/cli` without pinning an exact version or verifying package integrity. npm packages may execute lifecycle scripts during installation, so this creates a mutable supply-chain execution path with the privileges of the user running the command. The installed CLI is subsequently paired with a browser extension and used to issue same-origin requests from a signed-in AllTrails browser tab. As a result, compromise of a future package release could affect both the local environment and authenticated browser-mediated operations. The audit found no evidence that the currently referenced package is malicious; the vulnerability is the unsafe, unpinned installation practice. ### Attack Path 1. An attacker compromises the npm package, a maintainer account, or a future package release. 2. A user follows the documented setup command after the compromised release becomes current. 3. npm downloads the mutable latest version and may execute its installation lifecycle scripts. 4. The compromised package obtains code execution with the installing user's privileges. 5. When paired and used, it may also abuse its role in the browser bridge to observe or manipulate authenticated requests and returned data. ### Impact Assessment Successful exploitation could execute arbitrary code under the installing user's account. This may expose user-accessible files, environment variables, and other local credentials. Because the CLI participates in requests through a signed-in browser tab, it could potentially misuse browser-mediated access within the permissions granted to the associated extension and profile. ...[truncated 166 chars]
- Remediation
- ## Remediation Suggestions - Pin `@fetchproxy/cli` to an exact, reviewed version rather than installing the latest release. - Record and verify the expected package integrity hash and official package provenance. - Prefer a project-local installation with a lockfile over a global installation. - Avoid running npm or the CLI with administrative privileges. - Use `--ignore-scripts` during installation unless lifecycle scripts are demonstrably required and have been audited. - Document a controlled upgrade process that reviews package changes before updating the pinned version. - Grant the paired extension and profile only the minimum required domain access.
