扫描报告
15 /100
purchase_record
采购记录管理 - 自动将采购信息写入 Excel 表格
纯本地 Excel 采购记录工具,无网络请求、无凭证访问,能力与文档基本吻合,仅存在 test.js 对不存在函数的引用瑕疵。
可以安装
可安全使用。建议:修复 test.js 中的错误引用(handlePurchase 不存在于 index.js);统一 Excel 路径变量。
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | test.js 引用不存在的导出函数 文档欺骗 | scripts/test.js:1 |
| 提示 | Excel 路径在不同文件中不一致 权限提升 | scripts/add_purchase.py:13, scripts/add_purchase.js:18:13 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | scripts/record.py:59 wb.save(excel_path); scripts/add_purchase.js:72 await wb.xl… |
| 网络访问 | NONE | NONE | — | 全代码库无任何网络请求(requests/urllib/curl/wget/fetch 均不存在) |
| 命令执行 | NONE | READ | ✓ 一致 | scripts/index.js:4 使用 child_process.exec 调用 python,但仅执行声明范围内的 python 脚本 |
| 环境变量 | NONE | NONE | — | 无 os.environ / process.env 的遍历或敏感键值读取 |
| 技能调用 | NONE | NONE | — | 无动态 skill 调用 |
| 剪贴板 | NONE | NONE | — | 无剪贴板操作 |
| 浏览器 | NONE | NONE | — | 无浏览器相关代码 |
| 数据库 | NONE | NONE | — | 无数据库操作 |
目录结构
10 文件 · 16.7 KB · 569 行 Python 3f · 332L
JavaScript 3f · 175L
Markdown 2f · 60L
JSON 2f · 2L
├─
▾
scripts
│ ├─
add_purchase.js
JavaScript
│ ├─
add_purchase.py
Python
│ ├─
index.js
JavaScript
│ ├─
main.py
Python
│ ├─
record.py
Python
│ └─
test.js
JavaScript
├─
config.json
⚠
JSON
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
openpyxl | 未声明 | pip | 否 | 无 requirements.txt,直接导入。建议添加版本锁定 |
exceljs | 未声明 | npm | 否 | 无 package-lock.json,package.json 中无依赖列表 |
安全亮点
✓ 无任何网络请求,无数据外泄风险
✓ 无凭证收割行为,不访问 ~/.ssh、~/.aws、.env 等敏感路径
✓ 无 base64 编码、eval、shell 管道等可疑代码模式
✓ 依赖 openpyxl 和 exceljs,均为合法且广泛使用的 Excel 操作库
✓ 所有操作均在声明的 Excel 文件范围内,filesystem:WRITE 与功能相符