T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:6
- Finding
- Unpinned Executable Python Dependency## Vulnerability Details **File Location**: `SKILL.md`, line 6 **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium **Complete Code Snippet**: ```yaml metadata: {"clawdbot":{"emoji":"🍎","requires":{"bins":["mlx_whisper"]},"install":[{"id":"pip","kind":"pip","package":"mlx-whisper","bins":["mlx_whisper"],"label":"Install mlx-whisper (pip)"}]}} ``` ### Technical Analysis The installation metadata directs the host to install `mlx-whisper` from a Python package index without specifying an exact dependency version or an artifact integrity hash. The skill's own `version: 1.0.0` does not pin the version of the separately installed Python package. Consequently, installation resolves whichever package release the configured index currently serves. The installed implementation can therefore change after this skill has been reviewed. If the package publisher, distribution account, package index, or dependency chain is compromised, a malicious release could execute code during installation or when the `mlx_whisper` command is invoked. This finding identifies supply-chain exposure rather than evidence that the currently published `mlx-whisper` package is malicious. ### Attack Path 1. An attacker compromises the package publisher, package repository, configured package index, or a dependency used by `mlx-whisper`. 2. The attacker publishes or causes resolution to a malicious package release. 3. A user installs the skill dependency through the unpinned `pip` declaration. 4. The package manager retrieves the attacker-controlled release because no exact version or trusted hash constrains resolution. 5. Malicious code executes during package installation or upon invocation of the installed `mlx_whisper` executable. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the account performing installation or running `mlx_whisper`. The resulting ...[truncated 354 chars]
- Remediation
- ## Remediation Suggestions - Pin `mlx-whisper` to an exact, audited package version rather than accepting the latest available release. - Verify downloaded artifacts using approved cryptographic hashes, such as pip's hash-checking mode with a locked requirements file. - Install only from an explicitly configured and trusted package index. - Use a reproducible lock file that also constrains transitive dependencies. - Review package release provenance and signatures where available. - Run installation and transcription under a least-privileged account or isolated environment. - Keep the skill's own version and the external dependency version documented separately to avoid implying that `version: 1.0.0` constrains the installed package.
