Back to skill

Security audit

Qwen3 Tts Mlx

Security checks for vulnerabilities and agentic risk

Overview

Review advised: the skill is a coherent local TTS tool, but it enables voice cloning from reference audio without consent, impersonation, or privacy safeguards.

Install only if you are comfortable managing a local ML audio stack and its dependency/model download risks. Use voice cloning only with the speaker's informed permission, avoid sensitive reference audio or transcripts, and review output directories because batch input JSON is copied there.

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:30
Finding

Unpinned Third-Party Dependencies and Mutable Remote Model Artifacts

Content
View full analysis
Remediation
View remediation
soundfile== numpy== transformers== ``` 2. Generate and commit a lock file containing all transitive dependencies. Use integrity hashes, such as pip's `--require-hashes`, to prevent silent artifact substitution. 3. Install dependencies from a controlled package index or trusted internal mirror where feasible. 4. Record and verify the expected FFmpeg version. For reproducible deployment, use a controlled binary artifact with a published checksum rather than resolving an unconstrained current Homebrew formula. 5. Pin each remote model to an immutable repository commit or revision instead of relying only on its mutable repository name. 6. Publish and verify cryptographic checksums for all downloaded model files before loading them. 7. Cache approved model artifacts in a trusted, access-controlled location and configure the application to operate offline after provisioning. 8. Document that the first execution performs network retrieval and identify the exact package registries and model hosts contacted. 9. Run installation and inference under a dedicated, non-privileged account with restricted filesystem and network access to reduce the impact of a compromised dependency. 10. Add automated dependency and artifact verification to continuous integration, including vulnerability scanning and alerts for unexpected lock-file or model-hash changes. ]]>
Vulnerability Patterns
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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
Findings (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding

The skill documents commands and scripts that read local files, write output audio, and may access environment-dependent tooling, but it does not declare any explicit tool scope or permission boundaries. This creates an avoidable trust gap where an agent or user may invoke file-capable behavior without clear least-privilege constraints, increasing the chance of unintended file access or writes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill prominently advertises voice cloning from short audio samples but provides no warning about consent, impersonation, or misuse of third-party voices. In a TTS skill, this omission materially increases abuse risk because users are being enabled to create convincing synthetic speech for fraud, harassment, or non-consensual impersonation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation instructs users to supply reference audio and exact transcripts for voice cloning without any privacy notice about handling biometric voice data or sensitive speech content. Because voice samples and transcripts can contain personally identifiable and biometric information, the lack of guidance increases the risk of collecting, storing, or sharing sensitive data insecurely.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This code accepts a reference audio file and transcript to clone a voice, which is a safety-sensitive operation involving biometric-style voice data and potential impersonation risk. While the CLI describes how to supply the inputs, it provides no confirmation prompt, warning comment, or user-facing disclosure about consent or responsible use.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown file states that lang defaults to Chinese, making one locale the implicit default behavior. Under the policy rule, forcing a specific language without offering an explicit user choice or justification is a natural-language locale policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This code performs an additional file write by copying the full input script into the output directory. Although the script logs other output generation steps, there is no visible disclosure that the input file itself will also be copied, which may surprise users if the JSON contains sensitive text or metadata.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.