Back to skill

Security audit

数字人视频 即梦 OmniHuman 1.5

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed wrapper for the dLazy CLI and hosted API, with the main risk being trust in the external npm package and service.

Install only if you are comfortable running the pinned @dlazy/cli npm package and sending prompts, selected media files, and a dLazy API key to dLazy endpoints. Prefer npx or another ephemeral use pattern over a global install when possible, review the linked CLI source/package, and rotate the API key if you suspect exposure.

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 Unbundled Third-Party npm Package<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:5, 60-63` - `SKILL-cn.md:5, 60-63` **Vulnerability Type**: Third-party dependency and supply-chain execution risk **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md`: ```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 jimeng-omnihuman-1.5 -h for help."}} ``` ```bash npx @dlazy/cli@1.2.3 <command> ``` ```text 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. ``` `SKILL-cn.md` contains the equivalent dependency declarations and commands: ```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":"当调用此技能时,可以使用 dlazy jimeng-omnihuman-1.5 -h 查看帮助信息。"}} ``` ```bash npx @dlazy/cli@1.2.3 <command> ``` ```text 如选择全局安装,技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。 ``` ### Technical Analysis The Skill relies on `@dlazy/cli@1.2.3`, but the implementation of that package is not included in the audited project. Both `npx` execution and global npm installation re ...[truncated 2606 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Vendor the exact CLI source or executable into a controlled build process and perform a security review before distribution. 2. Publish and verify a trusted cryptographic digest or signature for the exact package artifact, rather than relying only on a version pin. 3. Add a lockfile with integrity metadata and audit all transitive dependencies. 4. Use an approved registry with namespace controls and package provenance verification. 5. Disable npm lifecycle scripts where compatible, for example by installing with `--ignore-scripts`, and explicitly review any lifecycle behavior that is required. 6. Prefer an ephemeral, non-global installation over `npm install -g` to avoid leaving a persistent executable in the user's environment. 7. Run the CLI in a restricted sandbox or container with: - A dedicated unprivileged user. - Access only to explicitly selected input and output files. - A minimal environment that does not expose unrelated credentials. - Network access limited to documented service endpoints. 8. Store the API key using an operating-system credential manager where possible, and ensure it can be promptly rotated or revoked. 9. Document the package verification procedure and the exact reviewed source commit corresponding to version `1.2.3`. ]]>
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 (6)

Ae1

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

Vague Triggers

Medium
Confidence
89% confidence
Finding
该 markdown 文件适用 SQP-1。触发词列表包含“数字人”“生成数字人视频”等较宽泛表述,但未说明明确的触发边界、限定场景或负例,容易在一般讨论数字人内容时被误触发。

Intent-Code Divergence

Medium
Confidence
93% confidence
Finding
The manifest and surrounding documentation consistently state this skill generates digital human broadcast videos from portrait images and audio/text. However, the JSON output example documents an output object with `type: "image"`, `url: "...result.png"`, and `mimeType: "image/png"`, which contradicts the stated video-generating behavior rather than merely omitting 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.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
SQP-3 适用于所有文件类型。这里的“您必须明确告知用户……”以中文固定了代理的响应语言,但该文件未说明这是仅限中文用户场景的约束,也未要求先征得用户语言偏好,因此构成语言/locale 策略风险。

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.

Static analysis

No suspicious patterns detected.