Low Risk — Risk Score 15/100
Last scan:2 days ago Rescan
15 /100
paper-cluster-survey-v2-2
Extract structured paper records from PDFs/URLs, classify papers and write academic survey reviews
学术论文处理技能,shell执行用于PDF工具调用属功能必要但文档未明确声明,整体无恶意行为
Skill Namepaper-cluster-survey-v2-2
Duration31.0s
Enginepi
Safe to install
建议在SKILL.md的Bundled Scripts部分补充说明extract-paper-records.mjs会通过subprocess调用本地PDF工具(pdftotext/mutool/pypdf)

Findings 2 items

Severity Finding Location
Low
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
Info
PDF工具链降级处理
脚本按优先级尝试pdftotext→mutool→python3+pypdf→strings,最后回退到strings工具
Fell back to strings-based extraction
→ 无需行动,这是合理的降级策略
scripts/extract-paper-records.mjs:178
ResourceDeclaredInferredStatusEvidence
Network NONE READ ✓ Aligned 代码使用fetch()获取URL,SKILL.md声明从URL提取论文
Shell NONE WRITE ✗ Violation extract-paper-records.mjs:181-196 使用spawnSync调用pdftotext/mutool
Filesystem NONE WRITE ✓ Aligned 输出JSON到指定文件,与论文处理功能一致
Environment NONE NONE 无环境变量访问
1 findings
🔗
Medium External URL 外部 URL
https://arxiv.org/abs/1234.5678
README.md:30

File Tree

10 files · 37.6 KB · 1320 lines
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

Security Positives

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