低风险 — 风险评分 15/100
上次扫描:2 天前 重新扫描
15 /100
paper-cluster-survey-v2-2
Extract structured paper records from PDFs/URLs, classify papers and write academic survey reviews
学术论文处理技能,shell执行用于PDF工具调用属功能必要但文档未明确声明,整体无恶意行为
技能名称paper-cluster-survey-v2-2
分析耗时31.0s
引擎pi
可以安装
建议在SKILL.md的Bundled Scripts部分补充说明extract-paper-records.mjs会通过subprocess调用本地PDF工具(pdftotext/mutool/pypdf)

安全发现 2 项

严重性 安全发现 位置
低危
subprocess调用未在文档声明
extract-paper-records.mjs使用spawnSync调用pdftotext、mutool、python3等本地工具进行PDF文本提取,这是核心功能但SKILL.md未提及shell执行
const result = runCommand(tool.name, tool.args);
→ 在SKILL.md的Bundled Scripts部分补充说明本地PDF工具依赖
scripts/extract-paper-records.mjs:181
提示
PDF工具链降级处理
脚本按优先级尝试pdftotext→mutool→python3+pypdf→strings,最后回退到strings工具
Fell back to strings-based extraction
→ 无需行动,这是合理的降级策略
scripts/extract-paper-records.mjs:178
资源类型声明权限推断权限状态证据
网络访问 NONE READ ✓ 一致 代码使用fetch()获取URL,SKILL.md声明从URL提取论文
命令执行 NONE WRITE ✗ 越权 extract-paper-records.mjs:181-196 使用spawnSync调用pdftotext/mutool
文件系统 NONE WRITE ✓ 一致 输出JSON到指定文件,与论文处理功能一致
环境变量 NONE NONE 无环境变量访问
1 项发现
🔗
中危 外部 URL 外部 URL
https://arxiv.org/abs/1234.5678
README.md:30

目录结构

10 文件 · 37.6 KB · 1320 行
JavaScript 3f · 792L Markdown 6f · 522L YAML 1f · 6L
├─ 📁 agents
│ └─ 📋 openai.yaml YAML 6L · 360 B
├─ 📁 references
│ ├─ 📝 extraction-pipeline.md Markdown 48L · 1.4 KB
│ ├─ 📝 output-schema.md Markdown 107L · 1.8 KB
│ ├─ 📝 review-paper-style.md Markdown 81L · 2.1 KB
│ └─ 📝 taxonomy-guidelines.md Markdown 35L · 1.1 KB
├─ 📁 scripts
│ ├─ 📜 extract-paper-records.mjs JavaScript 492L · 14.3 KB
│ ├─ 📜 normalize-sources.mjs JavaScript 138L · 3.1 KB
│ └─ 📜 render-formal-review-template.mjs JavaScript 162L · 4.1 KB
├─ 📝 README.md Markdown 99L · 3.1 KB
└─ 📝 SKILL.md Markdown 152L · 6.1 KB

安全亮点

✓ 功能单一明确:纯学术论文提取和综述生成工具
✓ 无凭证访问:无环境变量遍历、无敏感路径访问(~/.ssh等)
✓ 无外传行为:所有HTTP请求都是获取论文内容,无数据外泄
✓ 无远程代码执行:无curl|bash管道、无eval、无base64解码执行
✓ 代码质量高:清晰的模块化设计、完善的错误处理