Back to skill

Security audit

首尾帧视频 即梦 Jimeng First-Tail

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed dLazy video-generation wrapper, but users should understand it installs or runs a third-party npm CLI, stores a dLazy API key locally, and uploads selected media and prompts to dLazy.

Install only if you trust dLazy and the @dlazy/cli npm package. Prefer the npx path or an isolated environment, avoid elevated privileges, pass only files you intend to upload, and rotate the dLazy API key if you later distrust the CLI or host environment.

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
Unverified Third-Party npm Package Download and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5, 51-57` **Mirrored Location**: `SKILL-cn.md:5, 51-57` **Vulnerability Type**: Unverified third-party dependency execution **Risk Level**: Medium ### Complete Code Snippet ```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-i2v-first-tail -h for help."}} ``` ```bash npx @dlazy/cli@1.2.3 <command> ``` ```bash npm install -g @dlazy/cli@1.2.3 ``` ### Technical Analysis The Skill does not include the implementation of the CLI it instructs the Agent to execute. Instead, it retrieves `@dlazy/cli@1.2.3` from the npm registry through either `npx` or a global npm installation. Pinning the version reduces normal dependency drift, but it does not verify the downloaded package against a trusted cryptographic digest. The audited project therefore cannot establish that the registry artifact is identical to reviewed source code. If the package, publisher account, registry artifact, or dependency chain is compromised, npm installation hooks or the invoked CLI may execute attacker-controlled code. The global installation option increases exposure by persisting an executable outside the Skill directory. The documentation recommends source review, but it does not technically enforce artifact verification, lifecycle-script restrictions, sandboxing, or least-privilege execution. ### Attack Path 1. An attacker compromises the npm publisher account, package artifact, registry delivery path, or a transitive dependency used by `@dlazy/cli@1.2.3`. 2. A malicious art ...[truncated 1498 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Include the reviewed CLI implementation in the audited artifact, or otherwise ensure that the exact executable implementation is available for security review. 2. Verify the downloaded npm archive against a trusted, separately distributed cryptographic digest or signed provenance record before execution. 3. Prefer an immutable package source and enforce package-lock or equivalent integrity metadata. 4. Avoid global installation. Use an isolated, temporary execution environment with no persistent global binary placement. 5. Disable npm lifecycle scripts with `--ignore-scripts` where the package remains functional without them. 6. Execute the CLI in a sandbox or container with: - Access only to explicitly selected input and output files. - No access to unrelated home-directory content. - Restricted outbound network access limited to documented endpoints. - No administrative or root privileges. 7. Use a short-lived, task-scoped API credential rather than a broadly reusable credential, and rotate it if dependency compromise is suspected. 8. Audit the exact npm artifact and its full transitive dependency tree, rather than relying only on the linked GitHub repository. 9. Document and enforce a trusted installation procedure that fails closed when artifact integrity or provenance cannot be verified. ]]>
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
91% confidence
Finding
L019 的触发词“过渡视频”缺少产品、模型或操作上下文,属于常见泛化表述,可能匹配大量与该技能无关的普通请求。文档也未提供触发边界或排除示例来说明何时不应激活该技能。

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The manifest and top-level description consistently say this skill generates a video from first and last frames, but the documented output schema declares an output of type "image" with a PNG URL, and the usage examples use a single `--image` flag instead of the documented `--firstFrame` and `--lastFrame` parameters. This is an active contradiction in the skill documentation about what the command actually produces and how it should be invoked.

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.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The manifest and surrounding documentation consistently state that this skill generates a video from first and last frame inputs, but the documented output schema shows `type: "image"`, `mimeType: "image/png"`, and the examples use a singular `--image` flag instead of the documented `--firstFrame`/`--lastFrame` inputs. This is an active contradiction in the skill documentation, not just an omission, and could cause an agent to invoke or interpret the tool incorrectly.

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.