T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Automatically Installed npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 6
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
yaml metadata: { "openclaw": { "emoji": "🚀", "requires": { "bins": ["node"], "env": [{ "name": "ARTIDROP_API_KEY", "optional": true, "description": "API key for authenticated features (higher rate limits, update/delete/list). Not required for anonymous publishing." }] }, "install": [{ "kind": "node", "package": "artidrop", "bins": ["artidrop"], "label": "Install Artidrop CLI (npm)" }] } }Technical Analysis
The skill installation metadata requests installation of the third-party
artidropnpm package without specifying an exact version or integrity hash. Consequently, installation may resolve to whichever package release is current at that time rather than to a release whose contents were reviewed.The audited project contains only
SKILL.mdandREADME.md; it does not include the CLI source, a package lockfile, or integrity metadata. The effective executable behavior of the installed dependency therefore cannot be verified from this repository. If a future package version or its publishing account is compromised, malicious package lifecycle logic or CLI behavior could run with the permissions available to the OpenClaw environment.This finding concerns the unsafe dependency-resolution mechanism. The audit found no evidence that the current external package is malicious.
Attack Path
- An attacker compromises the npm package publisher account, package distribution process, or a future release of
artidrop. - The attacker publishes a malicious version under the same package name.
- OpenClaw processes the skill's installation specification and resolves
artidropwithout an exact version constraint. - The malicious package is installed instead of a previously reviewed release.
- Package installation logic or the installed
artidropexecutable runs in the agent environment. 6 ...[truncated 760 chars]
- An attacker compromises the npm package publisher account, package distribution process, or a future release of
- Remediation
View remediation
Remediation Suggestions
- Pin
artidropto an exact, independently reviewed version rather than resolving an unspecified release. - Verify the package using a trusted integrity digest or equivalent provenance mechanism.
- Use a committed lockfile where the skill installation system supports one.
- Review the package source, transitive dependencies, lifecycle scripts, and published-package provenance before approval.
- Disable npm lifecycle scripts during installation where operationally feasible, or explicitly audit every required lifecycle script.
- Run installation and invocation in a restricted sandbox with minimal filesystem access, limited network destinations, and no unrelated secrets.
- Provide
ARTIDROP_API_KEYonly when authenticated functionality is required and scope the key to the minimum available permissions. - Establish dependency monitoring and repeat the review before changing the pinned version.
- Pin
