Back to skill

Security audit

声音克隆 Vidu Audio Clone

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed voice-cloning skill that runs a pinned third-party dLazy CLI, with notable consent and supply-chain cautions but no artifact-backed malicious behavior.

Install only if you trust the dLazy CLI package and are comfortable sending selected voice/audio files to dLazy services. Use only voices you own or have clear permission to clone, avoid impersonation or identity-check bypass, review the package/source before use, and do not run npm installation with elevated privileges.

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:5
Finding
Execution of an External npm Package Outside the Audited Codebase<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5`, `SKILL.md:61-67`, and `SKILL.md:80-81`. The same installation configuration and execution behavior are mirrored in `SKILL-cn.md:5`, `SKILL-cn.md:61-67`, and `SKILL-cn.md:80-81`. **Vulnerability Type**: Third-party dependency and supply-chain risk **Risk Level**: Medium ### Vulnerable Code From `SKILL.md:5`: ```yaml metadata: {"clawdbot":{"emoji":"🤖","requires":{"bins":["npm","npx"]},"install":"npm install -g @dlazy/cli@1.2.3","installAlternative":"npx @dlazy/cli@1.2.3","homepage":"https://github.com/dlazy-ai/cli","source":"https://github.com/dlazy-ai/cli","author":"dlazyai","license":"see-repo","npm":"https://www.npmjs.com/package/@dlazy/cli","configLocation":"~/.dlazy/config.json","apiEndpoints":["api.dlazy.com","files.dlazy.com"]},"openclaw":{"systemPrompt":"When invoking this skill, use dlazy vidu-audio-clone -h for help."}} ``` From `SKILL.md:61-67`: ```markdown You can install on demand without persisting a global binary by running: ```bash npx @dlazy/cli@1.2.3 <command> ``` Or, if you prefer a global install, the skill's `metadata.clawdbot.install` field declares the exact pinned version (`npm install -g @dlazy/cli@1.2.3`). Review the GitHub source before installing. ``` From `SKILL.md:80-81`: ```markdown **CRITICAL INSTRUCTION FOR AGENT**: Run the `dlazy vidu-audio-clone` command to get results. ``` ### Technical Analysis The Skill directs the agent to install or execute `@dlazy/cli@1.2.3` from the npm registry. However, the audited project contains only two Markdown files and does not include the CLI implementation, a package lockfile, a cryptographic integrity digest, a signed artifact, or vendored source code. Consequently, the behavior of the executable dependency cannot be verified from this project. Pinning the dependency to version `1.2.3` reduces unintentional version drift, but it does not independently authenticate the retrieved package or protect against a compromis ...[truncated 2481 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Vendor the exact CLI source or executable artifact into a reviewable, version-controlled release so the code being executed can be audited together with the Skill. 2. Publish and verify a cryptographic integrity digest or signed provenance record for the npm package and all transitive dependencies. 3. Use a lockfile with integrity fields where installation architecture permits it, rather than relying only on a package version. 4. Review npm lifecycle scripts and disable them with `--ignore-scripts` when they are not required. If lifecycle scripts are necessary, document and audit each one. 5. Execute the CLI in a sandbox or container with: - Access only to explicitly selected input files. - A read-only filesystem wherever possible. - No access to unrelated home-directory files. - Restricted outbound network access limited to documented service endpoints. - No administrative or root privileges. 6. Require explicit user approval before installing the package, transmitting local media, or executing an unaudited external binary. 7. Store API credentials using an operating-system credential manager where possible, and provide only short-lived, narrowly scoped credentials to the isolated process. 8. Independently audit the exact `@dlazy/cli@1.2.3` package artifact and its transitive dependencies before treating the Skill as trusted. 9. Keep the English and Chinese Skill definitions synchronized so both enforce the same dependency verification and sandboxing requirements. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Ae1

High
Category
analysis-evasion
Content
[English](./SKILL.md) · [中文](./SKILL-cn.md)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Missing User Warnings

Medium
Confidence
88% confidence
Finding
This skill enables voice cloning from reference audio but does not warn about consent, authorization, impersonation, or identity misuse risks. In this context, omission is security-relevant because voice cloning can facilitate fraud, social engineering, harassment, and creation of deceptive media using a third party's voice without permission.

Vague Triggers

Medium
Confidence
95% confidence
Finding
该 markdown 文件定义了技能触发关键词,其中“克隆声音”“定制语音”属于较宽泛的自然语言短语,缺少上下文约束,可能在一般讨论配音、TTS 或音色编辑时也触发该技能。文档也未提供排除条件或负例来说明何时不应激活技能。

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The manifest and surrounding documentation describe a voice-cloning/audio-generation skill, but the example output shows an `image` result with `image/png` hosted at a `.png` URL. This is an active contradiction in the documentation about what the command produces, not merely an omitted detail.

Whitespace Padding

Medium
Category
Prompt Injection
Content
## 错误处理

| Code | 错误类型                         | 示例信息                                                                                                                 |
| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: "unauthorized", message: "API key is missing or invalid"`                                                              |
| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The trigger list includes generic phrases such as "clone voice" and "custom speech," which are broad natural-language requests rather than narrowly scoped invocation phrases. Without stronger constraints or exclusion examples, these phrases could cause unintended activation for unrelated conversations about speech or voice generation.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The manifest and usage describe a voice-cloning/text-to-speech skill that should generate audio, but the documented JSON output shows `type: "image"`, a `.png` URL, and `image/png` MIME type. This is an active contradiction in the file's documentation rather than a mere omission, and it can mislead users or agents about what the command actually returns.

Whitespace Padding

Medium
Category
Prompt Injection
Content
## Error Handling

| Code | Error Type                         | Example Message                                                                                                          |
| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| 401  | Unauthorized (No API Key)          | `ok: false, code: "unauthorized", message: "API key is missing or invalid"`                                                              |
| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Natural-Language Policy Violations

Low
Confidence
81% confidence
Finding
The manifest description forces bilingual output in English and Chinese in a single description string, but does not indicate that language presentation is optional or based on user preference. This can conflict with language/locale policies that require respecting the user's chosen language unless a justified locale constraint is documented.

Static analysis

No suspicious patterns detected.