T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–22
Vulnerability Type: Unpinned and mutable third-party dependency installation
Risk Level: MediumVulnerable Code
json { "id": "pip-mlx-whisper", "kind": "exec", "command": "pip3", "args": ["install", "mlx-whisper"], "label": "Install mlx-whisper (Apple Silicon)", }The same unpinned installation command is repeated at
SKILL.md:45:bash pip3 install mlx-whisperTechnical Analysis
The Skill directs
pip3to installmlx-whisperwithout specifying a reviewed version, locking its transitive dependencies, or validating package integrity with cryptographic hashes. Consequently, installation resolves whatever package versions the configured Python package index serves at execution time.This makes the installed code mutable after the Skill has been reviewed. If the upstream package, one of its dependencies, its maintainer account, or the package-index delivery path is compromised, a malicious release could execute code during installation or later when the package is imported for transcription. The global or user-level
pip3invocation also lacks explicit environment isolation, increasing the possibility of dependency conflicts and expanding the effect on the user's Python environment.Attack Path
- An attacker compromises the
mlx-whisperdistribution, a transitive dependency, or an associated package-maintainer account. - The attacker publishes a malicious version that remains compatible with the unrestricted package requirement.
- A user installs the Skill or follows its setup instructions.
- The command
pip3 install mlx-whisperresolves and downloads the malicious release because no approved version or hash is enforced. - Malicious package code executes during installation or when OpenClaw invokes the transcription workflow.
- The payload gains the permissions of the account runni ...[truncated 763 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mlx-whisperto a specific version that has been reviewed, for example:bash python3 -m pip install "mlx-whisper==<reviewed-version>" - Generate a lock file containing exact versions for all transitive dependencies.
- Require cryptographic hashes during installation, such as with a hash-pinned requirements file and:
bash python3 -m pip install --require-hashes -r requirements.txt - Install the package in a dedicated virtual environment rather than the user's shared Python environment.
- Use a trusted package index and document the expected package publisher and artifact hashes.
- Add automated dependency monitoring and repeat the security review before updating any pinned version or hash.
- Include the referenced
bin/mlx-whisper-transcribe.shin the distributed project so its input handling, model retrieval, command construction, and runtime behavior can be audited before release.
- Pin
