Back to skill

Security audit

音乐生成 Suno Music

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed dLazy/Suno music-generation wrapper, but installing it requires trusting an external npm CLI and its saved API-key handling.

Install only if you are comfortable trusting the `@dlazy/cli` npm package and dLazy service with your prompts, selected media files, and API key. Prefer `npx @dlazy/cli@1.2.3` if you do not want a persistent global binary, avoid running it with elevated privileges, and rotate or revoke the dLazy API key if you stop using it.

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 Installation and Execution## Vulnerability Details **File Location**: `SKILL.md:5, 47-54`; duplicated in `SKILL-cn.md:5, 47-54` **Vulnerability Type**: Third-party supply-chain execution without artifact integrity verification **Risk Level**: Medium ### Vulnerable Code From `SKILL.md:5`: ```json 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 suno-music -h for help."}} ``` From `SKILL.md:47-54`: ```bash npx @dlazy/cli@1.2.3 <command> ``` ```bash npm install -g @dlazy/cli@1.2.3 ``` Equivalent installation and execution instructions appear in `SKILL-cn.md`. ### Technical Analysis The Skill installs or directly executes `@dlazy/cli@1.2.3` from the npm registry. The external package implementation is not included in the audited project, and the Skill does not specify or verify an immutable package integrity hash or trusted local artifact. Pinning the package to version `1.2.3` reduces version drift but does not independently establish the integrity or safety of the registry artifact. Both `npm install -g` and `npx` can execute package lifecycle scripts or package-provided executable code with the permissions of the invoking user. The global installation option additionally persists the executable in the user's environment. No evidence establishes that the referenced package is currently malicious. The security issue is the unverified external execution boundary: compromise of the package artifact, publisher account, registry distribution path, or a transitive dependency could turn normal Skill install ...[truncated 1606 chars]
Remediation
## Remediation Suggestions 1. Vendor the required CLI implementation or include its auditable source in the reviewed project. 2. Distribute the dependency through a controlled artifact repository and verify a cryptographic integrity hash before execution. 3. Generate and enforce a lockfile with integrity metadata for the complete dependency graph. 4. Review the package source, lifecycle scripts, and transitive dependencies before approving a release. 5. Prefer ephemeral, sandboxed execution over global installation. 6. Disable npm lifecycle scripts where compatible, such as by using `--ignore-scripts`, and explicitly run only reviewed setup operations. 7. Restrict filesystem and network access for the CLI to the minimum resources required for music generation. 8. Do not expose unrelated environment variables or credentials to the process. 9. Avoid running npm or the CLI with administrator or root privileges. 10. Add package provenance or signature verification to the installation workflow and document how users can verify the expected artifact. 11. Periodically audit the pinned package and all transitive dependencies for compromised releases and known vulnerabilities.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • 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
89% confidence
Finding
The file includes a directive to the agent in Chinese and is itself a Chinese-localized skill document, but it does not offer any user opt-in or alternative language behavior within the instruction section. Per the policy, forcing a specific language without user choice is a natural-language policy violation unless the locale constraint is clearly documented and justified.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The skill is documented throughout as a Suno music generation tool, but the sample JSON output shows `tool: "suno-music"` returning an output of `type: "image"` with `mimeType: "image/png"`. This is an active contradiction in the file's 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.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The manifest and surrounding documentation consistently describe this skill as generating Suno music, but the JSON output example shows an output object with `type: "image"`, a `.png` URL, and `mimeType: "image/png"`. This is an active documentation contradiction about what the tool returns, which can mislead downstream agents or users about the skill’s actual behavior and result handling.

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.