T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md`, line 14 **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown - CLI: `@versatly/bambu` installed globally (`npm i -g @versatly/bambu`) ``` ### Technical Analysis The skill directs users or agents to install `@versatly/bambu` globally from the npm registry without specifying an exact audited version or integrity value. Consequently, npm resolves whichever version is current at installation time, so the effective executable code can change after this skill has been reviewed. npm packages may define lifecycle scripts that execute during installation with the privileges of the invoking user. Global installation also makes the resulting command broadly available in the user's environment. If the package, its maintainer account, one of its transitive dependencies, or the package-distribution channel is compromised, installation could execute attacker-controlled code. The package source and manifest are not included in the audited project, so this audit cannot verify its lifecycle scripts, transitive dependencies, credential handling, or runtime behavior. This finding identifies supply-chain exposure rather than asserting that the named package is currently malicious. ### Attack Path 1. A user or agent follows the prerequisite in `SKILL.md`. 2. It runs `npm i -g @versatly/bambu` without a version constraint or locked dependency graph. 3. npm retrieves the package version and transitive dependencies available at that time. 4. A compromised release or dependency executes malicious lifecycle code during installation or malicious code when the `bambu` command is invoked. 5. The code executes with the invoking user's privileges. 6. It may access user-readable files, network resources, and the printer configuration stored at `~/.bambu/config.json`, including the LAN printer credential described by the skill. ### Impact Assessme ...[truncated 740 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an exact version that has undergone security review, rather than relying on the latest registry release: ```bash npm install --save-exact @versatly/bambu@X.Y.Z ``` 2. Prefer a project-local installation backed by a committed lockfile instead of a global installation. 3. Verify package provenance, publisher identity, release signatures or attestations, and npm integrity metadata before installation. 4. Audit the package's lifecycle scripts and transitive dependency tree. Where compatible with the package, install with lifecycle scripts disabled: ```bash npm install --ignore-scripts ``` 5. Run the CLI under a dedicated, least-privileged account with access limited to the printer and required files. 6. Protect `~/.bambu/config.json` with restrictive filesystem permissions and avoid exposing its contents in logs or command output. 7. Document a trusted source and reproducible installation process so that future installations use the same audited artifact.
