PPT Presenter — 带逐字稿的演讲级PPT生成器

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill mostly does what it claims, but its image-generation helper can write files outside the chosen images folder if given crafted slide names.

Review or patch the helper script before use: ensure prompts.json slide names are safe slugs and keep outputs in a dedicated folder. Provide a Gemini API key only if you want image generation, and avoid including confidential notes in prompts unless sending them to Gemini is acceptable.

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.

What this means

If the prompt file contains a malicious or accidental path-like slide name, the script could overwrite files outside the intended images folder with generated image data.

Why it was flagged

The output filename is taken directly from prompts.json and joined to the output directory without sanitizing absolute paths or path traversal segments.

Skill content
name = slide["name"] ... outpath = os.path.join(args.output_dir, f"{name}.{ext}") ... with open(outpath, "wb") as f:
Recommendation

Sanitize slide names to safe basenames or slugs, reject absolute paths and '..', and write only inside a dedicated output directory.

What this means

Using the skill may consume quota or incur costs on the Gemini account whose key is provided.

Why it was flagged

The helper uses a Gemini API key for the stated image-generation purpose; this is expected, but it is still delegated account access.

Skill content
parser.add_argument("--api-key", default=os.environ.get("GEMINI_API_KEY", ""), help="Gemini API key")
Recommendation

Use a dedicated Gemini API key with appropriate limits, and provide it only when image generation is actually needed.

What this means

Sensitive presentation topics or notes could be shared with the external Gemini provider during image generation.

Why it was flagged

Slide image prompts are sent to Google's Generative Language API, which is disclosed and purpose-aligned but may include content derived from user notes.

Skill content
url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={api_key}" ... "text": f"Generate this image: {prompt}"
Recommendation

Avoid sending confidential material in prompts unless the user approves that provider data flow.

What this means

Opening the generated presentation may contact third-party CDNs, and the presentation depends on those resources being available and trustworthy.

Why it was flagged

The generated presentation template loads reveal.js and related assets from external CDNs; this is common for HTML slides but depends on third-party runtime resources.

Skill content
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.js"></script>
Recommendation

For private or offline presentations, vendor the reveal.js assets locally or add stronger integrity/pinning controls.