T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:36
- Finding
- Unpinned npm Dependency and Inconsistent npx Package Name## Vulnerability Details **File Location**: `SKILL.md`, lines 36, 83–86, 282, and 385 **Vulnerability Type**: Insecure third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```bash # Line 36 npm install -g @iamjameskeane/moltimon ``` ```bash # Lines 83–86 npm install -g @iamjameskeane/moltimon # Local installation (for library use) npm install @iamjameskeane/moltimon ``` ```bash # Line 282 npm install -g @iamjameskeane/moltimon ``` ```text # Line 385 - **CLI not working**: Try `npx moltimon --help` instead of `moltimon --help` ``` ### Technical Analysis The installation commands do not pin `@iamjameskeane/moltimon` to an audited version. npm therefore resolves the latest package release at installation time, allowing the effective executable content to change independently of this reviewed Skill. The troubleshooting instruction is additionally inconsistent with the documented dependency: it invokes the unscoped package name `moltimon`, whereas the intended package is consistently identified elsewhere as `@iamjameskeane/moltimon`. Depending on npm and `npx` resolution behavior and the local environment, this command may download and execute a distinct unscoped registry package. npm package lifecycle scripts and CLI entry points execute with the invoking user's operating-system privileges. The Skill also instructs users to export `MOLTBOOK_API_KEY`; consequently, package-controlled code launched from the same environment may be able to read that credential. The repository contains only `SKILL.md`, so the implementation and integrity of the referenced npm package cannot be verified within the audited artifact. ### Attack Path 1. The user exports `MOLTBOOK_API_KEY` as instructed by the Skill. 2. The user installs the unpinned scoped package, or follows the troubleshooting instruction and runs `npx moltimon --help`. 3. npm resolves a future compromised release or, in the `npx` case, potentially resolves the unintended unscoped `mol ...[truncated 968 chars]
- Remediation
- ## Remediation Suggestions 1. Replace the unscoped troubleshooting command with an explicitly scoped invocation: ```bash npx --package=@iamjameskeane/moltimon@0.1.0 moltimon --help ``` 2. Pin all installation examples to a specific reviewed version: ```bash npm install -g @iamjameskeane/moltimon@0.1.0 npm install @iamjameskeane/moltimon@0.1.0 ``` 3. For project-local installations, commit a lockfile and use deterministic installation commands such as `npm ci`. 4. Verify package provenance, release history, integrity metadata, and lifecycle scripts before recommending execution. 5. Avoid exposing long-lived API credentials to package installation processes. Export the credential only when running the reviewed application, use a short-lived or narrowly scoped credential where supported, and rotate it after suspected package compromise. 6. Keep the scoped package name consistent throughout all documentation and remove any command that may resolve an unintended registry package.
