Low Risk — Risk Score 15/100
Last scan:9 hr ago Rescan
15 /100
contract-diff
Compare contract templates with scanned stamped contracts, list all differences
合同比对工具,代码行为与文档声明一致,无恶意行为,仅有依赖管理的轻微瑕疵
Skill Namecontract-diff
Duration35.8s
Enginepi
Safe to install
可安全使用,建议锁定依赖版本以提升供应链安全

Findings 2 items

Severity Finding Location
Low
依赖自动安装未锁定版本 Supply Chain
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
Low
文档与实际工具存在路径差异 Doc Mismatch
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
ResourceDeclaredInferredStatusEvidence
Filesystem READ READ ✓ Aligned SKILL.md声明读取文件
Shell WRITE WRITE ✓ Aligned compare.py:36 使用os.system pip install
Network NONE NONE 无网络请求代码

File Tree

6 files · 41.6 KB · 892 lines
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

Dependencies 4 items

PackageVersionSourceKnown VulnsNotes
python-docx * pip No 无版本锁定
PyMuPDF * pip No 无版本锁定
Pillow * pip No 无版本锁定
pytesseract * pip No 无版本锁定

Security Positives

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