Back to skill

Security audit

图像生成 Nano Banana Pro

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed wrapper around dLazy's image-generation CLI, with normal but real trust and privacy considerations for a cloud image service.

Install this only if you trust dLazy and are comfortable sending prompts and selected local image files to its hosted service. Prefer npx or an isolated environment over global installation when possible, review the linked source/package provenance, and avoid passing private files unless you intend to upload them. Rotate or revoke the dLazy API key if you later lose trust in the installed CLI or account configuration.

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 and Global Installation of an Unverified Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md:5`, `SKILL.md:59`, and `SKILL.md:62` **Vulnerability Type**: Third-party dependency and supply-chain risk **Risk Level**: Medium ### Vulnerable Code Snippets `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 banana-pro -h for help."}} ``` `SKILL.md:59`: ```bash npx @dlazy/cli@1.2.3 <command> ``` `SKILL.md:62`: ```markdown 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. ``` The equivalent installation and execution instructions are also present in `SKILL-cn.md:5`, `SKILL-cn.md:59`, and `SKILL-cn.md:62`. ### Technical Analysis The Skill instructs the host to retrieve and execute `@dlazy/cli@1.2.3` from the npm registry. The executable implementation of that package is not included in the audited project, so its lifecycle scripts, runtime behavior, credential handling, filesystem access, and network activity cannot be verified from the supplied artifact. Pinning the dependency to version `1.2.3` reduces unintended version drift, but it does not provide cryptographic verification of the retrieved package artifact. There is no lockfile, trusted package hash, vendored source, or verified release signature in the project. Both documented installation paths cross a remote code-execution trust boundary: - `npx` downloads and executes package code on demand. ...[truncated 1864 chars]
Remediation
## Remediation Suggestions 1. Vendor the required CLI implementation or include its auditable source in the Skill package rather than downloading executable code at invocation time. 2. Verify the exact npm artifact using a trusted lockfile and integrity hash, and validate the published package against a reviewed source revision. 3. Prefer a reviewed local installation over automatic `npx` execution, which can retrieve code immediately before running it. 4. Avoid global installation. Install the dependency in an isolated project directory or disposable container with minimum privileges. 5. Disable npm lifecycle scripts during installation where compatible, for example by using `npm install --ignore-scripts`, and separately review any scripts that are operationally required. 6. Run the CLI with restricted filesystem and network access. Limit file access to explicitly selected input and output paths and network access to documented service endpoints. 7. Supply API credentials only for the duration of the command. Protect `~/.dlazy/config.json` with user-only permissions and rotate the API key if package compromise is suspected. 8. Maintain dependency provenance records, monitor the pinned release and its transitive dependencies for compromise, and require security review before changing the pinned version.
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

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger keywords include very broad generic phrases such as '生成图片、编辑图片' and '文生图、图生图', which can cause the skill to activate in ordinary image-related conversations rather than only when the user explicitly intends to invoke this specific third-party tool. In this skill, accidental activation is more dangerous because invocation can lead to external API calls, local file upload handling, and use of stored API credentials, increasing the chance of unintended data disclosure or unwanted paid actions.

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
94% confidence
Finding
The trigger keywords are overly broad and include generic phrases like 'generate image' and 'edit image', which can cause the skill to activate in situations far beyond its intended scope. In an agent setting, this increases the chance of unintended tool invocation, potentially sending user prompts or local file references to an external SaaS API without sufficiently specific user intent.

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.

Natural-Language Policy Violations

Low
Confidence
78% confidence
Finding
SQP-3 applies to all file types and covers language or locale policy issues. The file includes a Chinese main heading and bilingual description, but it does not tell the agent to preserve the user's language preference or offer an explicit language choice, which can create avoidable language-selection ambiguity.

Static analysis

No suspicious patterns detected.