Skills/ClawHub/zm-image2-ppt-generator

zm-image2-ppt-generator@0.1.0

CAUTION· install only

Publisher claims: "ZM Image2PPT 视觉幻灯片生成。用于根据 Markdown 大纲或 slides_plan.json 生成视觉化幻灯片图片、HTML viewer 和 16:9 PPTX;正式项目需配合 ZM PPT/Deck 正式生产流程使用。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher jerryxn · publishing for 143 daysInstalls 463Last detonated 24 h ago

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-12 and scored it 78/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

HIGH
Access to sensitive file pathsscripts/generate_ppt.py:43 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files4. ~/.claude/skills/gpt-image2-ppt-skills/.env -- default Claude Code installFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall_as_skill.sh:125 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint_info "已备份现有 .env 到 /tmp/gpt-image2-ppt.env.bak"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall_as_skill.sh:122 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 备份用户的 .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsgenerate_ppt.py:63 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint("Warning: No .env file found, using system environment variables")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsgenerate_ppt.py:52 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesPath(__file__).parent / ".env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsAGENTS.md:25 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- 脚本**不会**向上递归读取项目目录的 `.env`,避免误吃无关密钥Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/codex_backend.py:13 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- Pro: no OPENAI_API_KEY needed in this skill's .env; reuses codex auth.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/generate_ppt.py:41 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files2. <script_dir>/.env -- the skill's own .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall_as_skill.sh:7 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 并安装 Python 依赖、引导配置 .env。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsgenerate_ppt.py:53 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesPath.home() / ".claude" / "skills" / "gpt-image2-ppt-skills" / ".env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:104 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files> **安全提示**:脚本只从 `<script_dir>/.env`、`~/.codex/skills/.../.env`、`~/.claude/skills/.../.env`、`~/skills/.../.env` 与显式 `GPT_IMAGE2_PPT_ENV` 加载凭据,**不会**向上递归读取项目目录里的 `.env`,避免误吃无关密钥。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/image_generator.py:23 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# .env 加载由顶层入口(generate_ppt.py 的 find_and_load_env)统一负责。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:84 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 仅当你走 API 直连模式时,再编辑对应目录下的 .env 填入 API_KEYFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall_as_skill.sh:124 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filescp "$SKILL_DIR/.env" "/tmp/gpt-image2-ppt.env.bak"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsagents/openclaw.yaml:7 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# - Reads scoped .env files only (skill dir, ~/.claude/skills/.../, ~/skills/.../)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsgenerate_ppt.py:49 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files3. video_workflow project .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/generate_ppt.py:37 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Load .env from explicit, scoped locations only.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsgenerate_ppt.py:44 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFind and load .env file from multiple locations.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsAGENTS.md:23 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- 默认后端 `openai`,需在 scoped 位置(`<script_dir>/.env`、`~/.codex/skills/.../.env`、`~/.claude/skills/.../.env` 或 `$GPT_IMAGE2_PPT_ENV`)配 `OPENAI_API_KEY`Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/generate_ppt.py:42 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files3. ~/.codex/skills/gpt-image2-ppt-skills/.env -- Codex installFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall_as_skill.sh:123 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesif [ -f "$SKILL_DIR/.env" ]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/image_generator.py:24 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 本模块不调 load_dotenv(),避免 import 时无意识加载父目录 / cwd 的 .env,Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/template_analyzer.py:738 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesPath(__file__).parent / ".env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/render_template.py:117 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/template_analyzer.py:739 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesPath.home() / ".claude/skills/gpt-image2-ppt-skills/.env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/codex_backend.py:127 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/render_template.py:88 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Privileged sudo commandscripts/render_template.py:107 · Privileged sudo command — agent may execute with elevated privileges" 或装本机 libreoffice:sudo apt-get install -y libreoffice"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Python subprocess execution detectedscripts/render_template.py:100 · Python subprocess execution detectedinspect = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/template_analyzer.py:196 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise ValueError("缺少 VISION_BASE_URL(请在 .env 里配置)")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/template_analyzer.py:198 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise ValueError("缺少 VISION_API_KEY(请在 .env 里配置)")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/image_generator.py:88 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise ValueError("缺少 OPENAI_API_KEY,请在 .env 中配置")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandscripts/render_template.py:173 · Privileged sudo command — agent may execute with elevated privileges" - pip install pdf2image && sudo apt-get install -y poppler-utils"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandscripts/render_template.py:137 · Privileged sudo command — agent may execute with elevated privileges" - 本机:sudo apt-get install -y libreoffice\n"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsscripts/image_generator.py:25 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 与 SKILL.md 声明的"scoped .env loading"保持一致。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/template_analyzer.py:736 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 找 .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈3,701 tok
2 files · 33 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

2 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim jerryxn: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  4. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim jerryxnPropose a patch to the maintainer