T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Automatically Installed Node.js Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"emoji":"hammer","requires":{"bins":["clawhub","git"]},"install":[{"kind":"node","package":"clawhub","bins":["clawhub"],"label":"Install ClawHub CLI"}]}}Technical Analysis
The installation metadata requests the
clawhubNode.js package without specifying an exact version or integrity constraint. Consequently, the package resolved during installation may change over time and differ from the release originally reviewed.Node.js package installation may execute lifecycle scripts belonging to the package or its transitive dependencies. The project provides no lockfile, cryptographic checksum, provenance requirement, registry restriction, or vendored artifact with which to authenticate the code that will be installed. This creates a supply-chain exposure if a future package version, package maintainer account, distribution registry, or transitive dependency is compromised.
The audit did not establish that the current
clawhubpackage is malicious. The finding concerns the unsafe and non-reproducible dependency declaration.Attack Path
- An attacker compromises the published
clawhubpackage, its maintainer account, or a transitive dependency and releases a malicious version. - A user installs the skill after that release.
- Because no exact version or integrity value is declared, the package manager resolves the attacker-controlled version.
- Malicious package code or an installation lifecycle script executes during installation.
- The payload operates with the privileges of the user or process performing the installation.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the installer’s privileges. Depending on that account’s access, the payload could read or modify user files, access environment variables ...[truncated 279 chars]
- An attacker compromises the published
- Remediation
View remediation
Remediation Suggestions
- Pin
clawhubto a reviewed, exact version rather than relying on an implicitly current release. - Record and verify the package’s registry integrity hash or equivalent cryptographic digest.
- Use a lockfile or other supported mechanism to pin all transitive dependencies.
- Restrict dependency resolution to an explicitly trusted package registry.
- Require package provenance or signature verification where supported.
- Review installation lifecycle scripts and install dependencies with scripts disabled when they are unnecessary.
- Perform installation under a minimally privileged, sandboxed account with restricted filesystem, credential, and network access.
- Establish an update process in which new dependency versions are audited before the pin and integrity metadata are changed.
- Pin
