Low Risk — Risk Score 20/100
Last scan:2 days ago Rescan
20 /100
work-mail-notifier
QQ邮箱工作邮件监控与标注已读
Legitimate QQ邮箱邮件监控工具,使用himalaya CLI读取和标记邮件,SKILL.md未声明subprocess使用但无恶意行为。
Skill Namework-mail-notifier
Duration30.7s
Enginepi
Safe to install
建议在SKILL.md中明确声明subprocess调用himalaya CLI的使用方式,以便用户了解实际执行的命令。

Findings 3 items

Severity Finding Location
Low
SKILL.md未声明subprocess/shell执行
脚本使用subprocess.run调用himalaya CLI工具执行邮件操作,但SKILL.md未明确声明此行为。虽然这是本地合法CLI工具,但应向用户透明说明实际执行的命令。
文档仅描述了使用方式,未说明底层通过subprocess调用himalaya CLI
→ 在SKILL.md的'核心脚本'部分添加说明:'底层通过himalaya CLI工具执行操作'
SKILL.md:1
Info
硬编码路径限制可移植性
状态文件路径硬编码为/home/ubuntu/.openclaw/workspace/data/,假设特定用户环境
STATE_PATH = "/home/ubuntu/.openclaw/workspace/data/work_mail_notifier_state.json"
→ 考虑使用os.path.expanduser或环境变量增强可移植性
scripts/work_mail_notifier.py:17
Info
硬编码QQ邮箱账号
使用硬编码的QQ邮箱账号配置,适用于特定企业邮箱场景
FOLDERS = ["其他文件夹/Sent", "其他文件夹/CodeReview", ...]
→ 这是企业自用场景的合理设计,无需修改
scripts/work_mail_notifier.py:16
ResourceDeclaredInferredStatusEvidence
Filesystem NONE READ ✓ Aligned scripts/work_mail_notifier.py:103 读取STATE_PATH JSON文件; scripts/mark_read.py:17 读…
Filesystem NONE WRITE ✓ Aligned scripts/work_mail_notifier.py:107 写入STATE_PATH; scripts/work_mail_notifier.py:13…
Shell NONE WRITE ✓ Aligned scripts/work_mail_notifier.py:52 使用subprocess.run执行himalaya命令; scripts/mark_read…
Network NONE NONE 无直接网络请求,仅通过本地himalaya CLI工具访问邮件
Environment NONE NONE 未访问os.environ,仅使用硬编码账户配置
1 findings
📧
Info Email 邮箱地址
[email protected]
scripts/work_mail_notifier.py:18

File Tree

3 files · 10.0 KB · 348 lines
Python 2f · 295L Markdown 1f · 53L
├─ 📁 scripts
│ ├─ 🐍 mark_read.py Python 67L · 1.7 KB
│ └─ 🐍 work_mail_notifier.py Python 228L · 6.9 KB
└─ 📝 SKILL.md Markdown 53L · 1.5 KB

Security Positives

✓ 无远程代码执行风险,所有操作通过本地himalaya CLI工具执行
✓ 无凭证采集或数据外泄行为
✓ 无访问敏感路径(~/.ssh, ~/.aws, .env等)
✓ 使用anchor机制避免重复通知,设计合理
✓ 通知分组逻辑清晰,状态持久化设计完善
✓ 所有文件操作为本地JSON状态文件,无网络传输敏感数据
✓ 重试机制设计合理(指数退避)
✓ 使用正则解析CLI输出,相对安全