Back to skill

Security audit

绘本生成 Picture Book

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed picture-book generator that uses dLazy services and local HTML assembly, with no evidence of hidden, destructive, or purpose-mismatched behavior.

Install only if you are comfortable using dLazy's hosted service: prompts and reference images are sent to api.dlazy.com/files.dlazy.com, and authentication may store an API key locally. Prefer per-invocation DLAZY_API_KEY on shared systems, review the pinned CLI source/package before use, and keep generated book files in a dedicated output folder.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill advertises itself as a full picture-book generator, but the file mainly provides procedural instructions and delegates core behavior to external CLI tools and a build script. This mismatch can mislead operators about what code is actually trusted and executed, reducing transparency around external dependencies, network use, and where sensitive data or generated content is processed.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 30)May include surrounding context.

md
[English](./SKILL.md) · [中文](./SKILL-cn.md)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The trigger list includes generic phrases such as “睡前故事 / 故事书”, “picture book / storybook”, and the description says to use the skill when a user says “帮我做一本关于……的绘本”. These are broad natural-language cues and the file does not provide negative examples or constraints to distinguish when the skill should not activate, increasing the risk of unintended invocation.

Content

No source excerpt is available for this finding.

Whitespace Padding

Medium
Category
Prompt Injection
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.

Content

Scanner excerpt · SKILL-cn.md (reported line 231)May include surrounding context.

md
## 错误处理

| Code | 错误类型                         | 示例信息                                                                                             |
| ---- | -------------------------------- | ---------------------------------------------------------------------------------------------------- |
| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: "unauthorized", message: "API key is missing or invalid"`                          |
| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                            |

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
83% confidence
Finding

The skill clearly instructs the agent to read and write local files such as book.json, images/*, music/*, and index.html, but it does not declare an explicit tool scope or permissions boundary. That creates unnecessary authority ambiguity: a host agent may grant broader filesystem access than the skill actually needs, increasing the blast radius if the skill is misused or composed with other unsafe behaviors.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 4)May include surrounding context.

md
---
name: dlazy-picture-book
version: 1.3.5
description: "picture book, storybook, children's book, illustrated story, bedtime story book, 绘本——create a complete picture book from a theme: write the paged story, generate style-consistent illustrations page by page with dlazy gpt-image-2, generate matching background music with dlazy elevenlabs-music, then assemble a self-contained HTML book with image-left / text-right spreads, page turning, and background music. Defaults to 10 pages. Use when the user wants a picture book / storybook / children's book / bedtime story, or says 'make me a picture book about ...'."
metadata:
  {
    'clawdbot':

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The authentication guidance encourages storing an API key in persistent local config but does not warn about shared workstations, monitored shells, CI logs, or multi-user systems. This can lead to credential exposure or unintended reuse of the key by other local users or processes, especially because the skill is designed to run CLI commands interactively.

Content

No source excerpt is available for this finding.

Whitespace Padding

Medium
Category
Prompt Injection
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.

Content

Scanner excerpt · SKILL.md (reported line 229)May include surrounding context.

md
## 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`                                                               |

Whitespace Padding

Medium
Category
Prompt Injection
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.

Content

Scanner excerpt · SKILL.md (reported line 234)May include surrounding context.

md
| 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`                                                               |
| 502  | Local file read error              | `Error: Image file not found: C:\path\to\your\file`                                                                      |
| 503  | API request failed (no balance)    | `ok: false, code: "insufficient_balance"`                                                                                |
| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                              |
| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, e.g. "Prompt violates safety policy"}`        |

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file declares lang="zh-CN" and all visible UI text is hard-coded in Chinese, which imposes a specific language/locale on users. The provided rules require flagging language or locale policy violations when a skill forces a locale without user opt-in or clear justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.