Back to skill

Security audit

mlx-whisper

Security checks for vulnerabilities and agentic risk

Overview

This skill is for local voice transcription, but it enables automatic processing of private messaging audio with incomplete privacy, retention, and dependency controls.

Before installing, confirm you are comfortable with OpenClaw automatically downloading and transcribing voice notes from Telegram or WhatsApp and passing transcripts into the agent. Prefer a pinned, isolated mlx-whisper install, verify the missing wrapper script before use, and review where OpenClaw stores downloaded media and transcripts so you can delete or disable them if needed.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:18
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 18–22 **Vulnerability Type**: Unpinned and mutable third-party dependency installation **Risk Level**: Medium ### Vulnerable 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-whisper ``` ### Technical Analysis The Skill directs `pip3` to install `mlx-whisper` without 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 `pip3` invocation also lacks explicit environment isolation, increasing the possibility of dependency conflicts and expanding the effect on the user's Python environment. ### Attack Path 1. An attacker compromises the `mlx-whisper` distribution, a transitive dependency, or an associated package-maintainer account. 2. The attacker publishes a malicious version that remains compatible with the unrestricted package requirement. 3. A user installs the Skill or follows its setup instructions. 4. The command `pip3 install mlx-whisper` resolves and downloads the malicious release because no approved version or hash is enforced. 5. Malicious package code executes during installation or when OpenClaw invokes the transcription workflow. 6. The payload gains the permissions of the account runni ...[truncated 763 chars]
Remediation
## Remediation Suggestions 1. Pin `mlx-whisper` to a specific version that has been reviewed, for example: ```bash python3 -m pip install "mlx-whisper==<reviewed-version>" ``` 2. Generate a lock file containing exact versions for all transitive dependencies. 3. Require cryptographic hashes during installation, such as with a hash-pinned requirements file and: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 4. Install the package in a dedicated virtual environment rather than the user's shared Python environment. 5. Use a trusted package index and document the expected package publisher and artifact hashes. 6. Add automated dependency monitoring and repeat the security review before updating any pinned version or hash. 7. Include the referenced `bin/mlx-whisper-transcribe.sh` in the distributed project so its input handling, model retrieval, command construction, and runtime behavior can be audited before release.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill explicitly enables automatic downloading and transcription of voice notes, including from Telegram and WhatsApp, but does not provide a clear privacy notice or explain how audio files and transcripts are handled. Because voice notes can contain sensitive personal or business information, silently enabling this workflow can lead to unexpected collection, local storage, or further processing of sensitive data.

Static analysis

No suspicious patterns detected.