T08 · Insecure Dependencies
- Location
skill.md:7- Finding
Unpinned npm Dependency Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 7-10
Vulnerability Type: Unpinned third-party package installation
Risk Level: Mediumyaml openclaw: { requires: { bins: ["curl"] }, install: [ { id: "node", kind: "node", package: "clawhub", bins: ["clawhub"] } ] }Technical Analysis
The installation configuration specifies the npm package
clawhubwithout an exact version, lockfile, or integrity hash. Consequently, the package content installed at deployment time can differ from the content that was available during review.npm packages can define lifecycle scripts that execute during installation. If the registry package, a maintainer account, or the dependency chain is compromised, malicious code could therefore run under the privileges of the process installing the Skill. The project contains no vendored dependency source or integrity metadata that would allow the resolved artifact to be independently verified.
Attack Path
- An attacker compromises the package publisher, registry entry, or a transitive dependency associated with
clawhub. - The attacker publishes a malicious version under the same package name.
- A user installs or deploys the Skill after the malicious release becomes the version selected by npm.
- The package manager downloads the mutable package and its dependency tree.
- Malicious package code or an npm lifecycle script executes with the privileges of the installer.
Impact Assessment
Successful exploitation could permit arbitrary code execution in the installation environment. The attainable privileges are limited by the account or container performing installation; if installation is performed by a privileged user, the impact could include access to sensitive files, environment variables, credentials, and other projects available to that account. An attacker could also modify local files, install additional payloads, or initiate ou ...[truncated 103 chars]
- An attacker compromises the package publisher, registry entry, or a transitive dependency associated with
- Remediation
View remediation
Remediation Suggestions
- Pin
clawhubto a reviewed, exact version rather than allowing mutable version resolution. - Maintain and verify a lockfile containing package integrity metadata.
- Obtain packages only from an explicitly trusted registry and configure registry scope rules where applicable.
- Review the selected package and its transitive dependency tree before deployment.
- Disable npm lifecycle scripts during installation when they are not required, such as by using
--ignore-scripts. - Run dependency installation in an isolated, least-privileged container or account without access to production credentials.
- Use automated dependency monitoring and require manual security review before updating the pinned version.
- Where supported by the Skill packaging system, verify the package against an approved checksum, signature, or provenance attestation.
- Pin
