Back to skill

Security audit

Baoyu Comic

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent comic-generation workflow, but it can run an unpinned downloaded Bun runtime through npx during normal execution, which users should review before installing.

Review the runtime behavior before installing. Prefer using a trusted local Bun installation, or ask the publisher to pin the npx fallback and dependencies. Also be aware that the ohmsha preset can generate Doraemon-derived characters by default, and that choosing user-scope preferences stores EXTEND.md under your home directory for future projects.

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:114
Finding

Unpinned Runtime Download and Execution via npx

Content
View full analysis
.ts` 3. Replace all `{baseDir}` in this document with the actual path 4. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun ``` ### Technical Analysis The fallback instruction uses `npx -y bun` without specifying an exact package version or validating package integrity. The `-y` option automatically accepts installation and execution, allowing npm to resolve and run the package without additional user confirmation. Consequently, the effective runtime may differ from the version reviewed or previously used. If the upstream package, one of its dependencies, the package registry, or local npm configuration is compromised, attacker-controlled code could run as part of the PDF-generation workflow. The project also imports `pdf-lib` in `scripts/merge-to-pdf.ts`, but the audited directory contains no dependency manifest or committed lockfile. Dependency resolution is therefore not reproducible or integrity-locked within this package. ### Attack Path 1. The user invokes the comic-generation workflow. 2. The workflow reaches the PDF merge stage. 3. A trusted local `bun` executable is unavailable, while `npx` is installed. 4. The Agent follows `SKILL.md` and executes `npx -y bun`. 5. npm resolves and downloads the currently available package and its dependency graph. 6. A compromised or unexpectedly replaced package executes in the Agent's process context. 7. Malicious package code can access resources available to the current operating-system account. This path requires compromise or malicious substitution in the external package supply chain; no evidence ...[truncated 795 chars]
Remediation
View remediation
``` 3. Prefer a trusted, preinstalled Bun executable and verify its version before execution: ```bash bun --version ``` 4. Add a `package.json` declaring exact or tightly constrained dependencies, including `pdf-lib`. 5. Commit the corresponding lockfile and require frozen-lockfile installation so dependency resolution cannot change silently. 6. Where supported, verify package integrity, registry configuration, and provenance before executing downloaded tooling. 7. Avoid unattended package installation during normal Skill execution. Dependency installation should be a separate, explicit setup operation with user approval. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
Findings (29)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says the skill creates original educational/knowledge comics with panel layouts and sequential image generation. The supplied code does not perform any comic generation, layout planning, style control, or educational content creation. Instead, it is a local filesystem CLI tool that finds existing image files matching comic page naming conventions and combines them into a PDF. While this may be part of a comic production pipeline, the primary behavior in this code chunk is PDF assembly from existing files, which is materially different from the declared end-user purpose.

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 220)May include surrounding context.

md
- Read that skill's `SKILL.md` and follow its documented interface rather than calling its scripts directly

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · references/workflow.md (reported line 381)May include surrounding context.

md
**Purpose**: User reviews and confirms prompts before image generation.

**Display prompt summary table**:

| Page | Title | Key Elements |
|------|-------|--------------|

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
| Option | Description |
|--------|-------------|
| `--storyboard-only` | Generate storyboard only, skip prompts and images |
| `--prompts-only` | Generate storyboard + prompts, skip images |
| `--images-only` | Generate images from existing prompts directory |
| `--regenerate N` | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/workflow.md (reported line 239)May include surrounding context.

md
| Option | Description |
|--------|-------------|
| `--storyboard-only` | Generate storyboard only, skip prompts and images |
| `--prompts-only` | Generate storyboard + prompts, skip images |
| `--images-only` | Generate images from existing prompts directory |
| `--regenerate N` | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/workflow.md (reported line 377)May include surrounding context.

md
| Option | Description |
|--------|-------------|
| `--storyboard-only` | Generate storyboard only, skip prompts and images |
| `--prompts-only` | Generate storyboard + prompts, skip images |
| `--images-only` | Generate images from existing prompts directory |
| `--regenerate N` | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill instructs resolving the runtime with npx -y bun, which fetches and executes a package without pinning a specific version. This creates a supply-chain risk: a compromised upstream package, typosquat, or unexpected new release could change execution behavior at runtime and run unreviewed code on the user's system.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The example sets user_language: zh with the note 'From EXTEND.md or detected', which implies the skill may choose a user-facing output language automatically rather than requiring explicit user selection. This can violate language/locale policy expectations when a specific language is imposed without opt-in or a clearly documented regional justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The prompt hard-codes Chinese as the output language unless the source material is in another language, which overrides user language preference and reduces user control. While not a classic security exploit, it is a genuine policy and prompt-safety issue because a skill can silently steer outputs into a language the user did not request, causing confusion, misdelivery, or downstream misuse in multilingual workflows.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

The setup flow instructs the agent to persist user preferences by creating an EXTEND.md file, including an option to save under the user home directory for reuse across projects. This creates session persistence outside the immediate interaction scope, which can unintentionally retain user-provided data and influence future runs across unrelated contexts.

Content

Scanner excerpt · references/config/first-time-setup.md (reported line 33)May include surrounding context.

md
│
        ▼
┌─────────────────────┐
│ Create EXTEND.md    │
└─────────────────────┘
        │
        ▼

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The preset hard-codes Doraemon characters as the default output, which conflicts with the skill's stated purpose of creating original educational comics and can cause the agent to generate copyrighted derivative content without explicit user request. In a content-generation skill, this is a real policy and legal risk because users may unknowingly receive infringing character depictions as the standard behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The preset imposes a specific cultural and character default ('use Doraemon characters') without prior user opt-in, which can override user expectations and reduce neutrality in generated content. While not directly a security exploit, it is a genuine safety and product-quality issue because it silently constrains outputs toward a copyrighted, culturally specific template.

Content

No source excerpt is available for this finding.

YARA rule 'network_reconnaissance': Network reconnaissance and scanning patterns [hacktools]

Medium
Category
YARA Match
Confidence
65% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · references/presets/wuxia.md (reported line 36)May include surrounding context.

md
Type | Visual Treatment |
|-------------|-----------------|
| Internal qi | Glowing aura around character |
| External qi | Visible energy projection |
| Qi clash | Radiating impact waves |
| Qi absorption | Flowing particles toward character |
| Hidden power | Subtle glow in eyes/fists |

### Energy Colors

| Qi Type | Color |
|---------|-------|
| Righteous | Blue (#4299E1), Gold (#FFD700) |
| Fierce | Red (#DC2626), Orange (#EA580C) |
| Evil | Purple (#7C3AED), Green (#16A34A) |
| Pure | White, Silver |
| Ancient | Gold with particles |

### Combat Visual Language

**Impact moments** must include:

1. Speed lines radiating from impact point
2. Flying debris (stone, wood, cloth)
3. Shockwave rings
4. Dust/energy clouds
5. Hair and clothing blown back

### Movement Depiction

| Speed Level | Visual Treatment |
|-------------|-----------------|
| Normal | Standard pose |
| Fast | Motion blur, speed lines |
| Lightning | Afterimages, multiple positions |
| Teleport | Fade effect, parti

YARA rule 'network_reconnaissance': Network reconnaissance and scanning patterns [hacktools]

Medium
Category
YARA Match
Confidence
65% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · references/tones/action.md (reported line 72)May include surrounding context.

md
Type | Visual Treatment |
|-------------|-----------------|
| Internal qi | Glowing aura around character |
| External qi | Visible energy projection |
| Qi clash | Radiating impact waves |
| Qi absorption | Flowing particles toward character |
| Hidden power | Subtle glow in eyes/fists |

### Energy Colors

| Qi Type | Color |
|---------|-------|
| Righteous | Blue (#4299E1), Gold (#FFD700) |
| Fierce | Red (#DC2626), Orange (#EA580C) |
| Evil | Purple (#7C3AED), Green (#16A34A) |
| Pure | White, Silver |
| Ancient | Gold with particles |

### Combat Visual Language

**Impact moments** must include:

1. Speed lines radiating from impact point
2. Flying debris (stone, wood, cloth)
3. Shockwave rings
4. Dust/energy clouds
5. Hair and clothing blown back

### Movement Depiction

| Speed Level | Visual Treatment |
|-------------|-----------------|
| Normal | Standard pose |
| Fast | Motion blur, speed lines |
| Lightning | Afterimages, multiple positions |
| Teleport | Fade effect, parti

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow requires echoing the full local configuration path and preference contents back to the user. Full paths can expose usernames, directory layouts, or environment conventions, and preference summaries may disclose sensitive local configuration details unnecessarily.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The workflow directs creation of a persistent EXTEND.md preferences file in project or home-scoped directories without an explicit safety warning about writing to those locations. This can unexpectedly store user preferences or potentially sensitive metadata in shared or version-controlled paths.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The workflow saves pasted content to local files and renames existing files as backups without an explicit user-facing warning or confirmation at the point of modification. That can cause unintended persistence of sensitive user content on disk and unexpected modification of existing project files.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The workflow explicitly instructs use of canonical Doraemon characters for an educational-comic preset despite the skill claiming to create original comics. This creates an IP/compliance risk and can also mislead users into generating derivative content they may not have rights to use or distribute.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The file uses a Chinese title/label ('水墨画风') as part of the skill description without any indication that users can choose their preferred language or locale. Under the policy rule for language/locale, this can be interpreted as imposing a specific language presentation rather than offering an opt-in or alternative.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The line introduces the style using Chinese text ('写实画风') alongside English content, which suggests a language-specific convention in an otherwise English file. There is no indication that the skill is region-specific or that users can choose their preferred language, so this may violate language/locale policy guidance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This markdown schema includes an example setting language: zh, which specifies a fixed output language. Under the policy for natural-language constraints, forcing a specific language without explicit user choice or region-specific justification can be a policy concern, especially in example configurations that users may copy directly.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file contains a Chinese title/descriptor line ('少女预设') mixed into an otherwise English skill description, which imposes a specific language presentation without any user opt-in or explanation. The policy for natural-language violations applies to all file types and covers language or locale constraints that are not optional or justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The quality marker requires 'Atmospheric backgrounds with Chinese elements' as a mandatory characteristic of the preset output. This is a natural-language locale/cultural constraint presented as unconditional, without offering the user a choice or documenting a justified region-specific limitation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The template includes language: "[zh/en/ja/etc.]" as a required field but does not explain that the language should be selected based on user preference. This can encourage skills built from the template to force a locale or language choice without explicit user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

Line L03 includes a Chinese-language descriptor ("戏剧基调") while the rest of the file is in English, with no indication that language selection is optional or user-configurable. This can violate language/locale policy when a skill or reference enforces a language without explicit opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.