T08 · Insecure Dependencies
Warning
- Location
- INSTALL.md:3
- Finding
- Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `INSTALL.md:3-7` **Additional Location**: `SKILL.md:13-17` **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g @foresigxt/foresigxt-cli-memory ``` ### Technical Analysis The installation documentation directs users to globally install `@foresigxt/foresigxt-cli-memory` without specifying an exact version or verifying package integrity. Consequently, the package manager resolves the dependency to whichever release is current when the command is run. The executable source of this package is not included in the audited artifact, so its installation scripts and runtime behavior could not be independently reviewed. A compromised npm package, maintainer account, publishing token, or future release could introduce attacker-controlled installation or runtime code after this Skill has already been reviewed. The global installation scope increases exposure by placing the executable in the user's global command environment. The command does not itself request elevated privileges, so the resulting privileges ordinarily remain those of the invoking user. ### Attack Path 1. An attacker compromises the package publisher, npm account, publishing token, or upstream release process. 2. The attacker publishes a malicious version under the existing package name. 3. A user follows the Skill documentation and runs the unpinned installation command. 4. npm resolves the package to the malicious current release. 5. Package lifecycle scripts may execute during installation, or malicious behavior may execute when the user invokes `fsxmemory`. 6. The malicious package operates with the invoking user's permissions and may access files available to that account, including configured memory vaults and workspace data. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the privileges of the user performing the inst ...[truncated 568 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the package to an explicitly reviewed version: ```bash npm install -g @foresigxt/foresigxt-cli-memory@1.3.1 ``` 2. Publish and document expected package integrity hashes or signed release provenance. 3. Verify npm provenance and maintain reproducible release artifacts. 4. Prefer project-local installation over global installation: ```bash npm install --save-exact @foresigxt/foresigxt-cli-memory@1.3.1 ``` 5. Commit an appropriate lockfile when distributing the dependency through a project. 6. Disable lifecycle scripts during initial inspection where practical: ```bash npm install --ignore-scripts --save-exact @foresigxt/foresigxt-cli-memory@1.3.1 ``` 7. Audit lifecycle scripts and executable source before enabling or invoking the package. 8. Run the CLI under least privilege and restrict its vault path to data that it legitimately requires.
