T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Global Installation of Third-Party npm Packages
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15 and 28-32
Vulnerability Type: Supply-chain risk from unpinned third-party dependencies
Risk Level: MediumVulnerable Code Snippet:
yaml install: - kind: node package: "@kolegaai/clawfinder" bins: - clawfindermarkdown - Install the CLI globally: ``` npm install -g @kolegaai/clawfinder ```The same pattern also appears for optional payment tooling at lines 486-490:
markdown ### Installing lobster.cash - **OpenClaw agents**: install the lobster.cash plugin. - **All other agents**: install via the CLI: [`@crossmint/lobster-cli`](https://www.npmjs.com/package/@crossmint/lobster-cli).Technical Analysis
The Skill instructs users to globally install
@kolegaai/clawfinderwithout selecting an exact, previously audited version or verifying package integrity. It also recommends the unpinned@crossmint/lobster-clipackage for payment operations.An unversioned npm installation normally resolves to the registry's current release. Consequently, the installed code can change after this Skill has been reviewed. npm packages may execute lifecycle scripts during installation with the permissions of the invoking user. A compromised publisher account, malicious package release, registry incident, or transitive dependency compromise could therefore turn the documented installation step into arbitrary local code execution.
Although the document states that the package is built from a public repository, the installation command does not technically enforce a correspondence between the reviewed source and the downloaded artifact. The artifact under audit contains only
SKILL.md, so the packages' implementations and provenance claims could not be independently verified.Attack Path
- An attacker compromises a package publisher, release process, registry entry, or transitive dependenc ...[truncated 1525 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin every npm dependency to an exact audited version, for example:
bash npm install -g @kolegaai/clawfinder@<audited-exact-version> -
Pin
@crossmint/lobster-cliindependently to an exact audited version rather than directing users to an unqualified package name. -
Publish expected package integrity hashes and verify downloaded artifacts against them before installation.
-
Require verifiable npm provenance or signed release artifacts and document how users can validate the package against the referenced source repository.
-
Prefer a project-local or isolated installation over global installation to reduce scope and make dependency state reproducible.
-
Inspect package contents and dependency trees before upgrades. Consider initially downloading with lifecycle scripts disabled, auditing the artifact, and only then permitting required installation behavior.
-
Establish an explicit upgrade process in which each new package version and its transitive dependencies are reviewed before changing the pinned version.
-
Apply additional review and transaction safeguards to the payment CLI because compromise of financial tooling can alter recipients, amounts, signing requests, or reported transaction status.
-
