T08 · Insecure Dependencies
- Location
skill.json:15- Finding
Non-Reproducible and Loosely Constrained Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
skill.json:15-21; related installation instruction atSKILL.md:20-23
Vulnerability Type: Insecure third-party dependency management
Risk Level: MediumEvidence
skill.json:15-21:json "dependencies": [ "openclaw>=2.0.0", "requests>=2.25.0", "beautifulsoup4>=4.9.0", "selenium>=4.0.0", "webdriver-manager>=3.8.0" ],SKILL.md:20-23:bash pip install -r requirements.txtTechnical Analysis
The package declares dependencies using open-ended minimum-version constraints. Consequently, a fresh installation can resolve to versions that were unavailable and unaudited when the skill was published. No lockfile, hash manifest, or exact version constraints are included in the audited artifact.
The installation documentation also directs users to install from
requirements.txt, but that file is absent from the supplied project. The artifact therefore does not provide a reproducible or reviewable dependency set. If a requirements file is later obtained from an external source, its contents would fall outside the audited package.No evidence establishes that any currently named package is malicious. The vulnerability is the unsafe and non-reproducible supply-chain configuration, which increases exposure to compromised releases, unexpected breaking changes, and substituted installation manifests.
Attack Path
- A user follows the documented installation procedure.
- The absent
requirements.txtis retrieved or reconstructed from an external source, or the metadata dependency list is used instead. - Package resolution selects the newest versions satisfying the open-ended minimum constraints.
- A compromised, malicious, or otherwise unsafe future package release is downloaded.
- Package-controlled code may execute during installation or when imported by the skill.
- That code executes with the privile ...[truncated 641 chars]
- Remediation
View remediation
Remediation Suggestions
- Include the referenced
requirements.txtin the project. - Pin every direct dependency to an exact, reviewed version rather than using open-ended minimum constraints.
- Generate and commit a lockfile containing resolved transitive dependency versions.
- Require package hashes, such as with
pip install --require-hashes, to prevent substitution of unexpected distributions. - Install only from explicitly configured trusted package indexes over TLS.
- Review transitive dependencies and continuously scan them for known vulnerabilities and compromised releases.
- Perform installation inside an isolated virtual environment or container under a non-privileged account.
- Document a controlled dependency-update process requiring review and testing before lockfile changes are accepted.
- Include the referenced
