Scan Report
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.
Use with caution
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.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Undeclared cross-skill subprocess execution Doc Mismatch | scripts/monitor.py:170 |
| High | Notifier also performs undeclared subprocess execution Doc Mismatch | scripts/notifier.py:48 |
| Medium | Tool permission declarations do not match code capabilities Priv Escalation | SKILL.md:21 |
| Medium | Undeclared hard-coded dependency on cms-meeting-materials skill Supply Chain | scripts/monitor.py:165 |
| Low | Accesses environment variables for credentials Sensitive Access | scripts/monitor.py:40 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | NONE | WRITE | ✗ Violation | scripts/monitor.py:170 — subprocess.run to trigger-pull.py |
| Shell | NONE | WRITE | ✗ Violation | scripts/notifier.py:48 — subprocess to huiji scripts |
| Filesystem | NONE | WRITE | ✗ Violation | scripts/monitor.py:115 — state write to ~/.openclaw/ |
| Skill Invoke | NONE | WRITE | ✗ Violation | monitor.py:170 & notifier.py:48 — cross-skill subprocess to cms-meeting-material… |
File Tree
7 files · 24.9 KB · 767 lines 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
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
cms-meeting-materials | unpinned | cross-skill dependency | No | 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. |
Security Positives
✓ 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