Book-PDF:书籍级PDF手册生成器

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

该技能用途清楚,但随附的本地脚本存在可被特制标题或更新说明触发的意外代码执行和越界写文件风险。

Before installing or using this skill, fix or review the local scripts: do not pass untrusted text to update.sh, sanitize book titles before building, and install Playwright/Chromium only from trusted sources. The overall PDF-generation workflow is coherent, but the script hardening issues make it worth careful review.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

ConcernHigh Confidence
ASI05: Unexpected Code Execution
What this means

If the agent or user passes an unsafe update message, local code could run under the user's account.

Why it was flagged

The free-form update message is inserted directly into JavaScript passed to node -e. A crafted message containing a quote can terminate the string and execute arbitrary Node.js code when the script runs.

Skill content
MESSAGE="${2:-无描述}" ... const entry = '\n## [$NEW_VERSION] $TODAY — $MESSAGE\n\n- $MESSAGE\n';
Recommendation

Treat update messages as data: pass them via process.argv or an environment variable and use JSON.stringify/escaping before writing the changelog.

What this means

A malformed or adversarial book title could overwrite or create files in unexpected local locations.

Why it was flagged

The title from version.json is used directly in the output path. If it contains path separators or '..', the generated HTML can be written outside the intended output directory.

Skill content
const OUTPUT_FILE = path.join(OUTPUT_DIR, `${versionData.title}-v${versionData.version}.html`); ... fs.writeFileSync(OUTPUT_FILE, html, 'utf-8');
Recommendation

Sanitize titles into safe filenames, reject path separators and '..', and verify resolved output paths remain inside the project output/versions directories.

What this means

Installing the dependency downloads executable browser components onto the local machine.

Why it was flagged

The skill requires a user-directed npm package install and Chromium download. This is expected for Playwright PDF rendering, but it is not represented as an install spec or pinned dependency.

Skill content
Playwright:`npm install playwright && npx playwright install chromium`
Recommendation

Install Playwright from trusted npm sources, consider pinning versions, and review dependency changes before use.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

The task may consume more agent activity and create multiple research/content files in the chosen project directory.

Why it was flagged

The workflow explicitly uses multiple background agents for research and writing. This is purpose-aligned for a large manual, but users should be aware of autonomous parallel sub-tasks and file creation.

Skill content
启动多个background agent并行调研,每份保存到 `{项目目录}/research/YYYY-MM-{关键词}.md`
Recommendation

Confirm the topic scope, project directory, and source boundaries before allowing parallel background work.