低风险 — 风险评分 20/100
上次扫描:1 天前 重新扫描
20 /100
web-to-pdf
Convert a web page to PDF, especially web-based slide decks and presentations
A legitimate web-to-PDF conversion tool with minor security concerns around shell quoting in the PNG-to-PDF assembly step.
技能名称web-to-pdf
分析耗时32.3s
引擎pi
可以安装
Accept for use with standard precautions. Consider hardening the execSync call to use argument arrays instead of shell interpolation.

安全发现 2 项

严重性 安全发现 位置
低危
Shell interpolation in PNG-to-PDF assembly 代码执行
execSync uses shell interpolation with JSON-stringified paths and user-controlled output path. While JSON.stringify adds quoting, special characters in file paths could potentially cause issues.
execSync(`python3 "${scriptPath}" '${JSON.stringify(pngPaths)}' "${outputPath}" ${opts.width} ${opts.height}`)
→ Pass arguments as an array to execSync/spawn to avoid shell interpretation entirely.
scripts/capture.mjs:271
低危
Temp file cleanup with error suppression 敏感访问
Cleanup of temporary files uses try/catch with empty handlers, silently ignoring errors. Could leave artifacts in tmpdir.
try { unlinkSync(scriptPath); } catch {}
→ Log cleanup failures or use a dedicated temp directory with auto-cleanup.
scripts/capture.mjs:277
资源类型声明权限推断权限状态证据
文件系统 WRITE WRITE ✓ 一致 SKILL.md declares output PDF writing; capture.mjs:271 writes to outputPath
网络访问 READ READ ✓ 一致 SKILL.md declares URL fetching; capture.mjs:249 navigates to opts.url
命令执行 WRITE WRITE ✓ 一致 SKILL.md declares npm/pip installation; capture.mjs:18 imports execSync; capture…
环境变量 NONE NONE No environment variable access observed

目录结构

4 文件 · 16.8 KB · 512 行
JavaScript 1f · 356L Markdown 2f · 147L JSON 1f · 9L
├─ 📁 scripts
│ ├─ 📜 capture.mjs JavaScript 356L · 11.3 KB
│ └─ 📋 package.json JSON 9L · 149 B
├─ 📝 README.md Markdown 70L · 2.0 KB
└─ 📝 SKILL.md Markdown 77L · 3.3 KB

依赖分析 2 项

包名版本来源已知漏洞备注
playwright ^1.50.0 npm Pinned to major version
Pillow * pip Version not pinned in SKILL.md

安全亮点

✓ SKILL.md accurately describes the tool's functionality with no documentation deception
✓ No credential harvesting or sensitive data access observed
✓ No obfuscation techniques (base64, eval, etc.) detected
✓ Dependencies are pinned to major version ranges (playwright ^1.50.0)
✓ No network exfiltration or C2 communication patterns
✓ URL navigation is limited to user-provided URLs only
✓ No persistence mechanisms (no cron, startup scripts, or backdoors)
✓ No supply chain risks identified beyond standard npm package usage