T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party Runtime Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code:
yaml metadata: {"openclaw":{"emoji":"🔧","requires":{"bins":["python"]},"install":[{"id":"pip","kind":"uv","packages":["fastapi","uvicorn","pydantic"]}]}}Technical Analysis
The installation metadata requests
fastapi,uvicorn, andpydanticwithout exact versions, a reviewed lockfile, package hashes, or equivalent integrity constraints. Consequently, separate installations may resolve to different package versions and transitive dependency sets.This is a supply-chain weakness rather than evidence that any currently named package is malicious. If a package publisher account, package release, dependency, or configured package index is compromised, installation could retrieve attacker-controlled code without any change to this project. Unrestricted upgrades can also introduce incompatible or newly vulnerable releases.
Attack Path
- An attacker compromises a declared package, one of its transitive dependencies, a publisher account, or the package index used by the installer.
- The attacker publishes a malicious version that satisfies the unconstrained dependency request.
- A user installs the Skill after that release becomes eligible for dependency resolution.
- The installer resolves and downloads the attacker-controlled release because no version or artifact hash is enforced.
- Malicious code may run during installation or when the dependency is imported or used by the API.
Exploitation depends on an upstream supply-chain compromise or untrusted package source; the audited repository itself does not contain a demonstrated malicious payload.
Impact Assessment
Successful exploitation could execute code with the privileges of the account installing or running the Skill. This may permit access to that account's files, environment ...[truncated 185 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an exact, reviewed version rather than permitting unconstrained resolution.
- Generate and commit a reproducible lockfile that also fixes transitive dependency versions.
- Require cryptographic hashes for resolved artifacts where the package-management workflow supports them.
- Install packages only from an authenticated, trusted package index and prevent unintended fallback to untrusted indexes.
- Use automated dependency scanning and update pinned versions through a review and testing process.
- Run installation and the API service with least privilege and isolate them from unnecessary credentials and sensitive files.
