T08 · Insecure Dependencies
- Location
README.md:32- Finding
Unpinned External Package Installation Exposes Users to Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
README.md:32-38,SKILL.md:14-16, andpackage.json:6-13
Vulnerability Type: Unpinned and unverifiable third-party runtime package
Risk Level: MediumThe installation documentation instructs users to install
openclaw-task-watchdogwithout specifying an exact version or integrity value:bash # Via OpenClaw plugin install openclaw plugin install openclaw-task-watchdog # Via npm npm install openclaw-task-watchdogThe abbreviated skill documentation contains the same unpinned installation instruction:
bash openclaw plugin install openclaw-task-watchdogThe package manifest identifies a compiled runtime entry point:
json "exports": { ".": { "import": "./dist/index.mjs" } }, "main": "./dist/index.mjs", "types": "./dist/index.d.mts", "files": [ "dist/", "openclaw.plugin.json" ],However, the reviewed project contains neither the referenced
dist/index.mjsartifact nor the configuredsrc/source tree. The executable plugin implementation therefore could not be inspected or compared with the documented behavior.Technical Analysis
Installing a package without an explicit version generally resolves the registry's current distribution tag. The effective code installed by a user may consequently differ from the package version or documentation that was reviewed. No package-lock file, integrity hash, signed artifact, or reproducible-build verification data is included to bind installation to a particular runtime artifact.
This concern is amplified because the manifest activates the plugin at startup and the documentation states that it observes subagent and tool events, requests heartbeat activity, and injects messages into parent sessions. Those capabilities place the unavailable runtime implementation in a sensitive execution context.
The finding does not establish that the currently published npm p ...[truncated 1709 chars]
- Remediation
View remediation
Remediation Suggestions
- Include the complete
src/implementation and the generateddist/index.mjsartifact in the repository or audit submission. - Pin installation documentation to an exact reviewed package version rather than relying on a mutable current distribution tag.
- Publish and verify package integrity hashes or signed provenance attestations for release artifacts.
- Add a lockfile where applicable and use deterministic, reproducible builds.
- Ensure CI builds
dist/index.mjsexclusively from the reviewed source and compares the resulting artifact with the published npm package. - Protect publisher accounts with phishing-resistant multi-factor authentication and restrict release permissions.
- Document the plugin permissions and minimize its access to files, network resources, session data, and privileged OpenClaw APIs.
- Require security review whenever the pinned package version or compiled runtime artifact changes.
- Include the complete
