Back to skill

Security audit

Book Skill Generator

Security checks for vulnerabilities and agentic risk

Overview

The skill’s core behavior matches its stated book-to-skill purpose, but its install instructions rely on an unpinned remote npx installer that users should review before running.

Install only if you are comfortable with a Chinese-language skill that can read book files you provide, search the web for book methodology information, and create installable skill files. Avoid copy-pasting the unpinned `npx skills add` command in sensitive environments unless you first verify the installer package, version, registry, and source repository.

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
README.md:83
Finding

Unpinned Third-Party Package Execution Through npx

Content
View full analysis
for me` - Or use the command: `npx skills add ` ``` From `examples/精益创业/方法论清单.md:147-149`: ```markdown **OpenClaw:** - Conversational installation: `Install for me` - Or use the command: `npx skills add ` ``` ### Technical Analysis The installation instructions execute the `skills` npm package through `npx` without specifying a reviewed version or verifying its integrity. When the package is not already available locally, `npx` can resolve and download it from the configured npm registry before executing it. Because no exact version, integrity hash, lockfile, trusted publisher identity, or registry constraint is provided, the code that runs may differ from the version reviewed when these instructions were written. A compromised package release, registry account, dependency, or registry configuration could therefore introduce arbitrary executable behavior into the installation process. The GitHub repository supplied to the installer is also referenced by a mutable repository URL rather than an immutable commit identifier. The primary issue, however, is the unpinned `npx` package that launches the installation workflow. ### Attack Path 1. An attacker compromises the npm package, its publisher account, one of its transitive dependencies, or a registry used by the victim. 2. The attacker publishes or serves a malicious version of the unpinned `skills` package. 3. A user follows the documented command: ```bash npx skills add htt ...[truncated 1105 chars]
Remediation
View remediation
add https://github.com/CymChad/book-skill-generator ``` 2. Document the expected npm registry, exact package name, publisher, and reviewed version so users can verify package provenance. 3. Use package integrity verification where supported. Publish and document the expected package digest or integrity value. 4. Prefer an installer distributed through a trusted, versioned release process rather than executing the latest mutable registry release. 5. Reference an immutable Git commit or signed release tag for the Skill source instead of only a mutable repository URL. 6. Apply the corrected command consistently in: - `README.md` - `examples/精益创业/README.md` - `examples/精益创业/方法论清单.md` 7. Advise users to inspect the resolved package and installation source before execution and to run installation with the minimum necessary privileges. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (15)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The installation instructions tell users to invoke the skill with a Chinese-only phrase ("帮我安装下 ..."), and the rest of the skill description/examples are also written exclusively in Chinese. This creates a language/locale constraint without offering users an explicit choice or documenting that the skill is intentionally region-specific.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 91)May include surrounding context.

bash
git clone https://github.com/CymChad/book-skill-generator.git
mkdir -p ~/.claude/skills/
cp -r book-skill-generator ~/.claude/skills/

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 · README.md (reported line 91)May include surrounding context.

bash
git clone https://github.com/CymChad/book-skill-generator.git
mkdir -p ~/.claude/skills/
cp -r book-skill-generator ~/.claude/skills/

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The activation description is broad enough to match a wide range of ordinary user requests about books, methodology extraction, or skill generation, which can cause the wrong skill to activate unexpectedly. In an agent setting, overbroad routing can lead to unintended file reading, web searches, or packaging actions being initiated in contexts the user did not clearly intend.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest and the entire operating instructions are written as if the skill should operate in Chinese, but there is no opt-in, fallback, or statement that the skill is intentionally limited to Chinese-speaking users. This can violate language or locale policy when users expect responses in their own language.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README suggests the colloquial installation trigger 帮我安装下 <skill-path>, which is a broad natural-language phrase rather than a narrowly scoped invocation. Because it resembles everyday speech and does not include constraints or negative examples, it could cause unintended activation in conversational contexts.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The README instructs users to run npx skills add <skill-path> without pinning a specific package version. This can cause execution of whatever package version is current at install time, increasing supply-chain risk if a malicious or compromised release is published. The documentation context makes this actionable because it is an installation command users may copy and execute directly.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown skill presents all descriptive and instructional content in Chinese and does not indicate that the user can choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown skill file consistently requires Chinese-language interaction by presenting the name, description, and all procedural guidance only in Chinese. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The phrase 帮我安装下 <skill-path> is broad and conversational, so it may overlap with ordinary user language and trigger installation behavior when the user did not intend a privileged action. In a skill-installation context, accidental invocation is more dangerous because it can lead directly to adding and trusting new code or prompts.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The documentation tells users to run npx skills add <skill-path> without pinning a version or constraining the package source. That can cause users to fetch and execute whatever skills package is current at install time, creating a supply-chain risk if the package is updated maliciously, typosquatted, or otherwise compromised.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The natural-language description is written as a Chinese-only instruction/value and indicates the skill generates AI skills from books in that locale without mentioning any language choice. Under the policy, locale or language constraints should not be imposed unless the skill offers opt-in or clearly documents 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
87% confidence
Finding

This markdown file contains user-facing natural language entirely in Chinese across the feature descriptions, but it does not state that the skill is Chinese-only or offer a language choice. That can conflict with a language/locale policy requiring user opt-in before forcing a specific language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This markdown skill specifies its behavior and output format only in Chinese, and does not provide any user opt-in or alternative language guidance. Under the policy, forcing a specific language without user choice can be a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.