T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned Third-Party Package Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 7-11 and 34-40
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumCode Snippet:
yaml metadata: { "openclaw": { "emoji": "🎙️", "requires": { "bins": ["python3", "ffmpeg"] }, "install": ["pip install whisperx"], }, }bash # Install WhisperX pip install whisperx # or using uvx: uvx whisperxTechnical Analysis
The skill instructs OpenClaw and users to resolve
whisperxfrom a third-party package repository without an exact version, lockfile, or integrity hash. Consequently, installation is not reproducible, and the installed implementation can change after this skill has been reviewed.The
uvx whisperxalternative is particularly sensitive because it resolves and executes the package without providing an opportunity to verify a pinned artifact in the documented workflow. Although the audited skill contains no malicious executable code and there is no evidence that the currentwhisperxpackage is malicious, compromise of the package, its distribution account, package index, or a transitive dependency could turn this installation step into arbitrary code execution.Attack Path
- An attacker compromises the upstream
whisperxrelease process, distribution account, package source, or one of its unpinned transitive dependencies. - The attacker publishes a package release containing malicious installation or runtime behavior.
- A user or OpenClaw follows the skill metadata or installation documentation and runs
pip install whisperxoruvx whisperx. - The package resolver retrieves the attacker-controlled release because the skill does not constrain the version or verify an artifact hash.
- Installation or execution runs the malicious code with the privileges and environmental access of the invoking user.
Impact A
...[truncated 562 chars]
- An attacker compromises the upstream
- Remediation
View remediation
Remediation Suggestions
- Pin
whisperxto an exact, reviewed version rather than resolving the latest release. - Maintain a dependency lockfile that also constrains transitive dependencies.
- Require cryptographic hashes for downloaded distributions, such as with a hash-locked requirements file and
pip --require-hashes. - Retrieve packages only from an explicitly configured and trusted package index.
- Replace the unpinned
uvx whisperxexample with execution of an exact reviewed version in an isolated environment. - Run transcription with least privilege and restrict filesystem, credential, and network access where practical.
- Establish a controlled update process that reviews and tests dependency changes before updating pins and hashes.
- Pin
