T08 · Insecure Dependencies
- Location
clawhub.json:10- Finding
Unpinned Third-Party SDK Creates a Mutable Supply-Chain Trust Boundary
- Content
View full analysis
Vulnerability Details
File Location:
clawhub.json:10-12,README.md:18-25,scripts/fetch.py:13-19
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumEvidence
clawhub.json:10-12permits any current or future package release at or above version 0.1.3:json "requires": { "env": ["REVEYES_API_KEY"], "pip": ["reveyes>=0.1.3"] },README.md:18-25installs both the project and SDK from mutable sources:bash git clone https://github.com/zhuojiuya/Amazon-Review.git cp -r Amazon-Review/reveyes-skill ~/.openclaw/workspace/skills/amazon-review-reveyesbash pip install reveyesscripts/fetch.py:13-19imports and therefore executes the installed SDK:python try: from reveyes import ReveyesClient from reveyes.exceptions import ( AuthenticationError, BadParamsError, InsufficientCreditsError, )Technical Analysis
The dependency is necessary for the Skill's declared review-retrieval functionality, and there is no evidence that the currently intended package is malicious. However, neither the installation instructions nor the Skill metadata pin the package to an exact audited version or verify its distribution hash.
The constraint
reveyes>=0.1.3accepts future releases that were not part of this audit. Similarly,pip install reveyesresolves the latest compatible package at installation time, while the Git clone command uses the repository's mutable default branch.Python modules can execute arbitrary code during import. The SDK is imported inside the Agent process before the helper performs its own credential checks. Consequently, a compromised future SDK release could run with the process's file-system permissions and access all environment variables available to that process, not only the required
REVEYES_API_KEY.This exceeds the minimum trust boundary required for th ...[truncated 1342 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace the open-ended dependency constraint with an exact, reviewed version, such as:
json "pip": ["reveyes==0.1.3"] -
Maintain a lock file containing cryptographic hashes and install with hash verification, for example using
pip --require-hashes. -
Pin manual installation to a verified release tag or immutable commit rather than the repository's default branch.
-
Verify release signatures or hashes before installation.
-
Run the helper in an isolated environment containing only the required
REVEYES_API_KEY, rather than exposing the Agent's complete environment. -
Restrict outbound network access to the documented Reveyes API hostname where the execution platform supports egress controls.
-
Review dependency updates before changing the pinned version and use automated software-composition analysis to monitor known vulnerabilities.
-
