扫描报告
32 /100
cms-meeting-monitor
从 CMS AI慧记 拉取会议内容,支持字幕模式和静默模式两种监控方式
Cross-skill subprocess invocation via undeclared `subprocess.run` calls is the primary concern—neither the SKILL.md nor the tool declarations (monitor:read, notifier:write) accurately reflect the exec/shell:WRITE nature of the code.
谨慎使用
1) Add explicit `subprocess` or `shell:WRITE` declaration in SKILL.md if cross-skill triggers are intentional; 2) Reclassify tool categories from 'exec' to reflect actual capability footprint; 3) Audit the cms-meeting-materials dependency before production use; 4) Pin `cms-meeting-materials` skill version to avoid supply-chain drift.
安全发现 5 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 高危 | Undeclared cross-skill subprocess execution 文档欺骗 | scripts/monitor.py:170 |
| 高危 | Notifier also performs undeclared subprocess execution 文档欺骗 | scripts/notifier.py:48 |
| 中危 | Tool permission declarations do not match code capabilities 权限提升 | SKILL.md:21 |
| 中危 | Undeclared hard-coded dependency on cms-meeting-materials skill 供应链 | scripts/monitor.py:165 |
| 低危 | Accesses environment variables for credentials 敏感访问 | scripts/monitor.py:40 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/monitor.py:170 — subprocess.run to trigger-pull.py |
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/notifier.py:48 — subprocess to huiji scripts |
| 文件系统 | NONE | WRITE | ✗ 越权 | scripts/monitor.py:115 — state write to ~/.openclaw/ |
| 技能调用 | NONE | WRITE | ✗ 越权 | monitor.py:170 & notifier.py:48 — cross-skill subprocess to cms-meeting-material… |
目录结构
7 文件 · 24.9 KB · 767 行 Python 2f · 582L
Markdown 4f · 183L
Text 1f · 2L
├─
▾
design
│ ├─
DESIGN.md
Markdown
│ ├─
DISCUSSION-LOG.md
Markdown
│ └─
LEARNING-LOOP.md
Markdown
├─
▾
scripts
│ ├─
monitor.py
Python
│ └─
notifier.py
Python
├─
requirements.txt
Text
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
cms-meeting-materials | unpinned | cross-skill dependency | 否 | External skill dependency; scripts/huiji/trigger-pull.py is invoked via subprocess. No version pinning, no integrity check. The security posture of this skill is inherited. |
安全亮点
✓ SKILL.md explicitly declares the XG_BIZ_API_KEY environment variable dependency
✓ No hardcoded credentials or API keys found in source code
✓ No obfuscation techniques (no base64, no eval, no atob patterns)
✓ No direct IP network requests or C2-style communication
✓ subprocess calls include timeout=60 and error handling
✓ State file writes use atomic replace (tmp + replace pattern)
✓ No access to ~/.ssh, ~/.aws, or other credential paths
✓ No cron/scheduled task self-installation
✓ No data exfiltration — all data stays local to ~/.openclaw