T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned External Plugin Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20–26
Vulnerability Type: Unpinned executable dependency
Risk Level: MediumVulnerable Code
bash openclaw plugins install clawhub:@xquik/tweetclawtext OpenClaw tracks the verified ClawHub package. Use `openclaw plugins install npm:@xquik/tweetclaw` for the npm fallback.Technical Analysis
The default and fallback installation instructions resolve
@xquik/tweetclawwithout an immutable version, artifact digest, or integrity hash. The project being audited contains only documentation, evaluations, and scan records; it does not include the plugin's executable source.The externally installed plugin is expected to receive substantial capabilities, including injected Xquik authentication, network access, private X/Twitter reads, selected-media uploads, account writes, recurring monitor polling, and paid operations. Because the executable artifact is resolved after this Skill has been reviewed, its implementation can differ from the behavior described in
SKILL.md.Although lines 34–38 recommend pinning production installations, this does not secure the primary installation command. A version pin alone also does not provide the same immutability as a verified digest or signed artifact.
The static pre-scan's sensitive-network pattern is consistent with the declared functionality: the service must send user-requested X/Twitter data to Xquik. No covert transfer to an unrelated destination was identified in the available files. However, the absent runtime source prevents verification of the claimed endpoint restrictions, credential isolation, approval enforcement, and filesystem boundaries.
Attack Path
- An attacker compromises the relevant ClawHub/npm publisher, registry artifact, release process, or transitive dependency.
- A user follows the documented unpinned installation command.
- OpenClaw resolves and installs the currently published, attacker-controlle ...[truncated 1374 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the default installation command with a reviewed, explicitly pinned release.
- Bind the installed artifact to an immutable integrity digest, not only a mutable package version.
- Publish and verify a signed artifact manifest before the plugin is loaded.
- Include the exact executable plugin source and dependency lockfile in the security-review scope.
- Require integrity verification for the npm fallback, or remove that fallback from production guidance.
- Pin all transitive dependencies through a lockfile and enforce frozen or reproducible installation.
- Verify at runtime that the plugin can contact only the documented HTTPS origins and
/api/v1/route catalog. - Test credential non-disclosure, route blocking, approval gates, filesystem denial, private-data minimization, and payment limits against the exact pinned artifact.
- Update the packaged scan evidence so that its reviewed component list matches the files actually shipped.
