Back to skill

Security audit

图片高清放大 Super Resolution

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed dLazy cloud image upscaling skill, with ordinary SaaS and npm-package risks but no artifact-backed evidence of deception or malicious behavior.

Before installing, understand that this uses a third-party npm CLI and a cloud service. Prefer an isolated or on-demand npx run if you do not want a global binary, keep the dLazy API key revocable, and do not pass private files or sensitive upstream outputs through image paths or pipe references.

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 External npm Package Is Downloaded and Executed## Vulnerability Details **File Location**: `SKILL.md:5`, `SKILL-cn.md:5` **Vulnerability Type**: Third-party supply-chain exposure through automatic npm package installation and execution **Risk Level**: Medium ### Vulnerable Code `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 superres -h for help."}} ``` `SKILL-cn.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":"当调用此技能时,可以使用 dlazy superres -h 查看帮助信息。"}} ``` ### Technical Analysis The Skill contains no local executable implementation. Instead, it delegates all substantive behavior to the external npm package `@dlazy/cli@1.2.3`. Both supported installation paths cause code obtained from the npm registry to execute on the local system: - `npm install -g` may execute package lifecycle scripts and installs a persistent executable into the user's global npm environment. - `npx` retrieves and executes package code on demand. Pinning the dependency to version `1.2.3` limits unexpected upgrades, but it does not cryptographically establish that the downloaded artifact is the exact artifact reviewed by the Sk ...[truncated 2461 chars]
Remediation
## Remediation Suggestions 1. **Verify artifact integrity** - Publish and enforce a trusted integrity digest for the exact npm package archive. - Verify npm provenance or cryptographic signatures before execution. - Document how the npm artifact maps reproducibly to a reviewed source commit. 2. **Vendor and audit executable code** - Include the minimal required CLI implementation in the reviewed project, or maintain a separately audited and locked dependency bundle. - Audit direct and transitive dependencies for the pinned release. 3. **Restrict npm lifecycle behavior** - Install with lifecycle scripts disabled where compatible, such as by using `npm install --ignore-scripts`. - Explicitly inspect any required lifecycle scripts before permitting them. - Use a lockfile and integrity-checked installation process rather than relying only on a package name and version. 4. **Avoid global installation** - Prefer an isolated, temporary environment over `npm install -g`. - Do not allow the package to alter globally available tools or shared package directories. 5. **Apply runtime isolation** - Run the CLI under a dedicated low-privilege account or sandbox. - Restrict filesystem access to the specific input and output files required for the operation. - Restrict outbound network access to the documented service endpoints where practical. - Do not expose unrelated environment variables or credentials to the CLI process. 6. **Protect the API key** - Confirm that `~/.dlazy/config.json` is created with user-only permissions. - Use a narrowly scoped, revocable API key. - Rotate the key immediately if dependency compromise is suspected. - Avoid passing the key through command-line arguments, logs, or other observable channels. 7. **Continuously monitor the dependency** - Track security advisories and ownership changes for `@dlazy/cli` and its dependency tree. - ...[truncated 65 chars]
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

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The skill is presented as an image-only super-resolution tool, but the documentation states that local image, video, and audio paths may be uploaded to remote storage and that generic pipe references can feed arbitrary upstream data into flags. This expands the tool’s effective data-handling scope beyond what a user would reasonably expect, creating a meaningful risk of unintended exfiltration of local files or prior step outputs to third-party endpoints.

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
89% confidence
Finding
The agent instruction at L130-L132 requires the assistant to respond with specific Chinese-language guidance ('您必须明确告知用户...') when certain errors occur. This imposes a language choice on the user without opt-in, which matches the locale/language policy violation criteria.

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.

Intent-Code Divergence

Low
Confidence
95% confidence
Finding
The command help for `dlazy superres` lists `--image`, `--dry-run`, `--no-wait`, `--timeout`, and `--save`, but the example uses `--prompt` and the error table says `--prompt` is required. This actively conflicts with the documented command interface and can mislead an agent about what the skill actually does.

Static analysis

No suspicious patterns detected.