安全决策报告

elderly-bed-exit-wandering-monitoring-analysis

合法的养老监护AI技能,功能与声明一致,存在轻微数据处理瑕疵(用户视频发送到远程API、凭证本地存储),但无恶意行为证据。

安装决策优先 来源: ClawHub 扫描时间: 2026/8/22
文件 30
IOC 12
越权项 2
发现 5

为什么得出这个结论

1/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 12 个一般风险产物,需要结合上下文判断。

通过
攻击链与高危发现

没有形成明确的恶意路径。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

风险分是怎么被拉高的

用户视频发送到远程API +10

用户监控视频会上传到远程分析服务器,skill-card.md已声明

凭证本地持久化存储 +5

用户名/token存储在SQLite数据库,无加密保护

自动创建用户身份 +5

系统自动生成User_开头的随机用户名并持久化

最关键的证据

低危 供应链

依赖已锁定版本

requirements.txt中所有第三方依赖(pydash, SQLAlchemy, PyYAML)均指定了精确版本号,降低了依赖篡改风险

skills/smyx_analysis/requirements.txt:1
保持当前依赖锁定策略
低危 敏感访问

用户凭证本地持久化存储

系统自动生成的User_开头的用户名、token、open_token存储在SQLite数据库中(默认smyx-common-claw.db),未加密保护。数据库路径在工作区data目录

skills/smyx_common/scripts/dao.py:89
如需更高安全性,考虑加密存储或使用系统凭证管理器
低危 敏感访问

读取工作区凭证文件

OpenIdUtil.get_api_key_file_open_id()尝试读取工作区data/smyx-api-key.txt获取预置凭证

skills/smyx_common/scripts/util.py:234
确保该文件权限正确,仅允许必要进程访问
低危 数据外泄

监控视频上传至远程API

用户提供的监控视频会上传到远程API服务器进行分析。skill-card.md中Known Risks已声明此行为

skills/smyx_analysis/scripts/skill.py:87
用户应确认远程服务提供商的隐私政策和数据处理协议
提示 文档欺骗

subprocess调用已注释

skills/smyx_common/scripts/skill.py中的ai_chat方法虽然定义了subprocess调用openclaw agent,但cmd数组为空且执行代码被注释,不会执行远程命令

skills/smyx_common/scripts/skill.py:36
如不需要此功能,建议完全移除相关代码

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
SKILL.md声明读取输入视频文件,代码通过open()读取用户指定路径
网络访问 通过
声明 READ
→
推断 READ+WRITE
通过requests调用远程API上传视频并接收分析结果
数据库 阻止
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/dao.py:89 创建SQLite数据库存储用户凭证
环境变量 阻止
声明 NONE
→
推断 READ
skills/smyx_common/scripts/config.py:60-65 读取OPENCLAW_SENDER_OPEN_ID等环境变量

可疑产物与外联

中危 外部 URL
https://lifeemergence.com/sample.html

SKILL.md:35

中危 外部 URL
https://clawhub.ai/user/18072937735

skill-card.md:9

中危 外部 URL
https://clawhub.ai/18072937735/skills/smyx-elderly-bed-exit-wandering-monitoring-analysis

skill-card.md:42

中危 外部 URL
http://192.168.1.234:9601/smyx-open-api

skills/smyx_common/scripts/config-dev.yaml:2

中危 外部 URL
http://192.168.1.234:4100

skills/smyx_common/scripts/config-dev.yaml:3

中危 外部 URL
http://192.168.1.234:7070/jeecg-boot-xzgz

skills/smyx_common/scripts/config-dev.yaml:4

中危 外部 URL
https://livemonitortest.lifeemergence.com/smyx-open-api

skills/smyx_common/scripts/config-test.yaml:2

中危 外部 URL
http://livemonitortest.lifeemergence.com

skills/smyx_common/scripts/config-test.yaml:3

中危 外部 URL
https://healthtest.lifeemergence.com/jeecg-boot-xzgz

skills/smyx_common/scripts/config-test.yaml:4

中危 外部 URL
https://lifeemergence.com/jeecg-boot-xzgz

skills/smyx_common/scripts/config.yaml:4

中危 外部 URL
https://open.lifeemergence.com/smyx-open-api

skills/smyx_common/scripts/config.yaml:5

中危 外部 URL
http://livemonitor.lifeemergence.com

skills/smyx_common/scripts/config.yaml:6

依赖与供应链

包名版本来源漏洞备注
pydash 8.0.6 pip 否 版本已锁定
SQLAlchemy 2.0.46 pip 否 版本已锁定
PyYAML 6.0.3 pip 否 版本已锁定

文件构成

30 个文件 · 2667 行
Python 18 个文件 · 2357 行Markdown 4 个文件 · 275 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 6
skills/smyx_common/scripts/util.py Python · 718 行
读取工作区凭证文件
skills/smyx_common/scripts/dao.py Python · 499 行
用户凭证本地持久化存储
SKILL.md Markdown · 175 行
https://lifeemergence.com/sample.html
skills/smyx_analysis/scripts/skill.py Python · 175 行
监控视频上传至远程API
skill-card.md Markdown · 60 行
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 行
subprocess调用已注释
其他文件 · config.py · smyx_analysis.py · elderly_bed_exit_wandering_monitoring_analysis.py · api_service.py · api_service.py · config.py

安全亮点

subprocess远程执行代码已注释,不存在RCE风险
文件操作有输入验证(文件存在、可读、格式、大小限制)
依赖版本全部锁定,降低供应链攻击风险
无base64/eval等代码混淆技术
无访问~/.ssh、.env等敏感路径
API端点固定为声明的服务地址
代码注释清晰,无隐藏恶意逻辑