Back to skill

Security audit

视频生成 PixVerse C1

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed wrapper for dLazy's cloud video-generation CLI, with normal API-key, upload, and npm-package risks but no evidence of hidden or destructive behavior.

Install only if you are comfortable trusting the dLazy CLI package and service. Prefer npx or an isolated environment if you do not want a persistent global binary, and remember that prompts, selected media files, and the dLazy API key are handled by the external CLI and cloud API.

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 Unreviewed Third-Party npm Package<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5, 50-58`; mirrored in `SKILL-cn.md:5, 50-58` **Vulnerability Type**: Third-party supply-chain exposure through package installation and execution **Risk Level**: Medium ### Vulnerable Code Snippet 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 pixverse-c1 -h for help."}} ``` From `SKILL.md:50-58`: ```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. ``` Equivalent installation instructions appear in `SKILL-cn.md`. ### Technical Analysis The Skill requires downloading and executing `@dlazy/cli@1.2.3` from the npm ecosystem, but the package source and dependency tree are not included in the audited artifact. Consequently, the actual executable behavior cannot be verified from the two submitted documentation files. Pinning the package version reduces the risk of silently receiving a later release, but it does not establish the integrity or safety of the pinned artifact. npm installation may execute package lifecycle scripts, and the installed CLI may execute arbitrary JavaScript with the permissions of the invoking user. Its transitive dependencies also remain outside the reviewed project. The global installation form creates persistent changes in the user's n ...[truncated 2197 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. **Vendor the reviewed implementation** - Include the CLI source or a minimal purpose-built client in the Skill artifact. - Audit all executable code and transitive dependencies before distribution. 2. **Verify artifact integrity** - Record and verify the expected package tarball digest before execution. - Use npm lockfiles with integrity fields where applicable. - Adopt signed releases and verifiable package provenance. - Document the exact commit, package digest, and build process corresponding to version `1.2.3`. 3. **Reduce installation risk** - Prefer a sandboxed, non-global invocation over `npm install -g`. - Run the CLI under a dedicated low-privilege account or isolated container. - Disable npm lifecycle scripts where compatible, for example through an appropriately tested `--ignore-scripts` installation policy. - Use a controlled package registry or approved internal mirror. 4. **Minimize credential and filesystem exposure** - Provide the API key only to the specific process that requires it. - Restrict the CLI's filesystem access to explicitly selected input and output paths. - Prevent access to unrelated home-directory files and environment variables where sandboxing is available. 5. **Constrain network access** - Allow outbound access only to the documented endpoints required for operation, such as `api.dlazy.com` and `files.dlazy.com`. - Monitor unexpected DNS queries or connections to undeclared destinations. 6. **Avoid automatic installation** - Require explicit user approval before downloading or globally installing the package. - Clearly distinguish package installation from normal Skill invocation. - Display the package source, version, and verified digest before execution. 7. **Perform recurring supply-chain review** - Scan the pinned package and dependency tree for known vulnerabilities. - Review package ownership and release provenance. - ...[truncated 111 chars]
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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)

Ae1

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

Natural-Language Policy Violations

Medium
Confidence
81% confidence
Finding
This file presents the skill instructions and agent directives entirely in Chinese, including mandatory operational guidance, without stating that the user can choose another language. That can violate a language/locale policy when the skill behavior is effectively constrained to a specific language without explicit user opt-in or justification.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The trigger keyword "视频生成" is a generic phrase meaning "video generation," which could match many ordinary user requests rather than a narrowly scoped invocation. The file does not provide exclusion conditions or additional constraints to distinguish when this specific skill should activate versus other video-related skills.

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 markdown file explicitly lists 'video generation' as a trigger keyword, but that phrase is generic everyday task language rather than a narrowly scoped invocation. Without additional constraints or negative examples, the skill could be invoked for many unrelated requests about making videos.

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.