T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned npm Dependency and Inconsistent npx Package Name
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 36, 83–86, 282, and 385
Vulnerability Type: Insecure third-party dependency execution
Risk Level: MediumVulnerable Code
bash # Line 36 npm install -g @iamjameskeane/moltimonbash # Lines 83–86 npm install -g @iamjameskeane/moltimon # Local installation (for library use) npm install @iamjameskeane/moltimonbash # Line 282 npm install -g @iamjameskeane/moltimontext # Line 385 - **CLI not working**: Try `npx moltimon --help` instead of `moltimon --help`Technical Analysis
The installation commands do not pin
@iamjameskeane/moltimonto 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 andnpxresolution 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
- The user exports
MOLTBOOK_API_KEYas instructed by the Skill. - The user installs the unpinned scoped package, or follows the troubleshooting instruction and runs
npx moltimon --help. - npm resolves a future compromised release or, in the
npxcase, potentially resolves the unintended unscoped `mol ...[truncated 968 chars]
- The user exports
- Remediation
View remediation
Remediation Suggestions
-
Replace the unscoped troubleshooting command with an explicitly scoped invocation:
bash npx --package=@iamjameskeane/moltimon@0.1.0 moltimon --help -
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 -
For project-local installations, commit a lockfile and use deterministic installation commands such as
npm ci. -
Verify package provenance, release history, integrity metadata, and lifecycle scripts before recommending execution.
-
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.
-
Keep the scoped package name consistent throughout all documentation and remove any command that may resolve an unintended registry package.
-
