Why this conclusion was reached
1/4 dimensions flagged Block Declared vs actual capability 2 undeclared or violating capabilities were inferred.
Review Hidden execution and egress 12 lower-risk artifacts were extracted and still need context.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Pass Dependencies and supply chain hygiene Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
用户视频发送到远程API +10
用户监控视频会上传到远程分析服务器,skill-card.md已声明
凭证本地持久化存储 +5
用户名/token存储在SQLite数据库,无加密保护
自动创建用户身份 +5
系统自动生成User_开头的随机用户名并持久化
Most important evidence
Low Supply Chain
依赖已锁定版本
requirements.txt中所有第三方依赖(pydash, SQLAlchemy, PyYAML)均指定了精确版本号,降低了依赖篡改风险
skills/smyx_analysis/requirements.txt:1 保持当前依赖锁定策略
Low Sensitive Access
用户凭证本地持久化存储
系统自动生成的User_开头的用户名、token、open_token存储在SQLite数据库中(默认smyx-common-claw.db),未加密保护。数据库路径在工作区data目录
skills/smyx_common/scripts/dao.py:89 如需更高安全性,考虑加密存储或使用系统凭证管理器
Low Sensitive Access
读取工作区凭证文件
OpenIdUtil.get_api_key_file_open_id()尝试读取工作区data/smyx-api-key.txt获取预置凭证
skills/smyx_common/scripts/util.py:234 确保该文件权限正确,仅允许必要进程访问
Low Data Exfil
监控视频上传至远程API
用户提供的监控视频会上传到远程API服务器进行分析。skill-card.md中Known Risks已声明此行为
skills/smyx_analysis/scripts/skill.py:87 用户应确认远程服务提供商的隐私政策和数据处理协议
Info Doc Mismatch
subprocess调用已注释
skills/smyx_common/scripts/skill.py中的ai_chat方法虽然定义了subprocess调用openclaw agent,但cmd数组为空且执行代码被注释,不会执行远程命令
skills/smyx_common/scripts/skill.py:36 如不需要此功能,建议完全移除相关代码
Declared capability vs actual capability
Filesystem Pass
Declared READ
→ Inferred READ
SKILL.md声明读取输入视频文件,代码通过open()读取用户指定路径 Network Pass
Declared READ
→ Inferred READ+WRITE
通过requests调用远程API上传视频并接收分析结果 Database Block
Declared NONE
→ Inferred WRITE
skills/smyx_common/scripts/dao.py:89 创建SQLite数据库存储用户凭证 Environment Block
Declared NONE
→ Inferred READ
skills/smyx_common/scripts/config.py:60-65 读取OPENCLAW_SENDER_OPEN_ID等环境变量
Suspicious artifacts and egress
Medium External URL
https://lifeemergence.com/sample.html SKILL.md:35
Medium External URL
https://clawhub.ai/user/18072937735 skill-card.md:9
Medium External URL
https://clawhub.ai/18072937735/skills/smyx-elderly-bed-exit-wandering-monitoring-analysis skill-card.md:42
Medium External URL
http://192.168.1.234:9601/smyx-open-api skills/smyx_common/scripts/config-dev.yaml:2
Medium External URL
http://192.168.1.234:4100 skills/smyx_common/scripts/config-dev.yaml:3
Medium External URL
http://192.168.1.234:7070/jeecg-boot-xzgz skills/smyx_common/scripts/config-dev.yaml:4
Medium External URL
https://livemonitortest.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config-test.yaml:2
Medium External URL
http://livemonitortest.lifeemergence.com skills/smyx_common/scripts/config-test.yaml:3
Medium External URL
https://healthtest.lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config-test.yaml:4
Medium External URL
https://lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config.yaml:4
Medium External URL
https://open.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config.yaml:5
Medium External URL
http://livemonitor.lifeemergence.com skills/smyx_common/scripts/config.yaml:6
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| pydash | 8.0.6 | pip | No | 版本已锁定 |
| SQLAlchemy | 2.0.46 | pip | No | 版本已锁定 |
| PyYAML | 6.0.3 | pip | No | 版本已锁定 |
File composition
30 files · 2667 lines Python 18 files · 2357 linesMarkdown 4 files · 275 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 6
skills/smyx_common/scripts/util.py Python · 718 lines
读取工作区凭证文件
skills/smyx_common/scripts/dao.py Python · 499 lines
用户凭证本地持久化存储
SKILL.md Markdown · 175 lines
https://lifeemergence.com/sample.html
skills/smyx_analysis/scripts/skill.py Python · 175 lines
监控视频上传至远程API
skill-card.md Markdown · 60 lines
https://clawhub.ai/user/18072937735 · https://clawhub.ai/18072937735/skills/smyx-elderly-bed-exit-wandering-monitoring-analysis
skills/smyx_common/scripts/skill.py Python · 85 lines
subprocess调用已注释
Other files · config.py · smyx_analysis.py · elderly_bed_exit_wandering_monitoring_analysis.py · api_service.py · api_service.py · config.py
30 files · 106.8 KB · 2667 lines
Python 18f · 2357LMarkdown 4f · 275LYAML 6f · 29LText 2f · 6L
├─
▾
📁
references
│ └─
📝
api_doc.md
Markdown
21L · 706 B
├─
▾
📁
scripts
│ ├─
🐍
__init__.py
Python
1L · 31 B
│ ├─
🐍
config.py
Python
24L · 683 B
│ ├─
📋
config.yaml
YAML
1L · 3 B
│ ├─
🐍
elderly_bed_exit_wandering_monitoring_analysis.py
Python
96L · 3.2 KB
│ └─
🐍
skill.py
Python
23L · 579 B
├─
▾
📁
skills
│ ├─
▾
📁
smyx_analysis
│ │ ├─
▾
📁
references
│ │ │ └─
📝
api_doc.md
Markdown
19L · 427 B
│ │ ├─
▾
📁
scripts
│ │ │ ├─
🐍
__init__.py
Python
0 B
│ │ │ ├─
🐍
api_service.py
Python
40L · 1.5 KB
│ │ │ ├─
🐍
config.py
Python
39L · 1003 B
│ │ │ ├─
📋
config.yaml
YAML
1L · 3 B
│ │ │ ├─
🐍
skill.py
Python
175L · 6.4 KB
│ │ │ └─
🐍
smyx_analysis.py
Python
115L · 3.7 KB
│ │ ├─
🐍
__init__.py
Python
0 B
│ │ └─
📄
requirements.txt
Text
3L · 45 B
│ └─
▾
📁
smyx_common
│ ├─
▾
📁
scripts
│ │ ├─
🐍
__init__.py
Python
9L · 177 B
│ │ ├─
🐍
api_service.py
Python
101L · 2.6 KB
│ │ ├─
🐍
base.py
Python
33L · 469 B
│ │ ├─
📋
config-dev.yaml
YAML
6L · 214 B
│ │ ├─
📋
config-prod.yaml
YAML
0 B
│ │ ├─
📋
config-test.yaml
YAML
6L · 256 B
│ │ ├─
🐍
config.py
Python
399L · 23.8 KB
│ │ ├─
📋
config.yaml
YAML
15L · 472 B
│ │ ├─
🐍
dao.py
Python
499L · 17.8 KB
│ │ ├─
🐍
skill.py
Python
85L · 2.4 KB
│ │ └─
🐍
util.py
Python
718L · 28.1 KB
│ ├─
🐍
__init__.py
Python
0 B
│ └─
📄
requirements.txt
Text
3L · 47 B
├─
📝
SKILL.md
Markdown
175L · 9.9 KB
└─
📝
skill-card.md
Markdown
60L · 2.5 KB
Security positives
subprocess远程执行代码已注释,不存在RCE风险
文件操作有输入验证(文件存在、可读、格式、大小限制)
依赖版本全部锁定,降低供应链攻击风险
无base64/eval等代码混淆技术
无访问~/.ssh、.env等敏感路径
API端点固定为声明的服务地址
代码注释清晰,无隐藏恶意逻辑