低风险 — 风险评分 15/100
上次扫描:11 小时前 重新扫描
15 /100
contract-diff
Compare contract templates with scanned stamped contracts, list all differences
合同比对工具,代码行为与文档声明一致,无恶意行为,仅有依赖管理的轻微瑕疵
技能名称contract-diff
分析耗时35.8s
引擎pi
可以安装
可安全使用,建议锁定依赖版本以提升供应链安全

安全发现 2 项

严重性 安全发现 位置
低危
依赖自动安装未锁定版本 供应链
compare.py的try_import函数在导入失败时执行os.system('pip install {pkg} -q'),未指定版本号,可能安装不兼容或被篡改的版本
def try_import(*packages):
    for pkg in packages:
        try:
            __import__(pkg)
        except ImportError:
            os.system(f'pip install {pkg} -q')
→ 建议使用requirements.txt锁定版本:pip install python-docx==0.8.11 PyMuPDF==1.23.0 pillow==10.0.0 pytesseract==0.3.10
scripts/compare.py:35
低危
文档与实际工具存在路径差异 文档欺骗
SKILL.md展示的命令行用法与detail_compare.py中的硬编码路径不一致,后者直接读取C:\Users\yangy\.openclaw\workspace
input_dir = r'C:\Users\yangy\.openclaw\workspace\contract-diff\input'
→ 建议统一为命令行参数方式,与SKILL.md声明一致
scripts/detail_compare.py:13
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 SKILL.md声明读取文件
命令执行 WRITE WRITE ✓ 一致 compare.py:36 使用os.system pip install
网络访问 NONE NONE 无网络请求代码

目录结构

6 文件 · 41.6 KB · 892 行
Python 3f · 551L Markdown 3f · 341L
├─ 📁 output
│ ├─ 📝 report.md Markdown 19L · 7.7 KB
│ └─ 📝 详细比对报告.md Markdown 183L · 10.5 KB
├─ 📁 scripts
│ ├─ 🐍 compare.py Python 444L · 16.5 KB
│ └─ 🐍 detail_compare.py Python 82L · 2.1 KB
├─ 🐍 list_files.py Python 25L · 830 B
└─ 📝 SKILL.md Markdown 139L · 3.9 KB

依赖分析 4 项

包名版本来源已知漏洞备注
python-docx * pip 无版本锁定
PyMuPDF * pip 无版本锁定
Pillow * pip 无版本锁定
pytesseract * pip 无版本锁定

安全亮点

✓ 无网络数据外泄行为
✓ 无凭证窃取或敏感路径访问
✓ 无代码混淆或恶意Payload
✓ 无提示词注入风险
✓ 核心功能(合同比对)与文档描述完全一致