安全决策报告

smyx-elderly-night-bed-exit-wandering-analysis

合法的养老院夜间离床监测技能,调用远程API分析视频,无恶意行为。subprocess代码被注释但仍存风险隐患,依赖无版本锁定存在供应链风险。

安装决策优先 来源: ClawHub 扫描时间: 24 天前
文件 30
IOC 12
越权项 0
发现 3

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

subprocess 存在注释代码 +10

AgentSkill.ai_chat 中存在被注释的 subprocess 调用代码,存在潜在执行能力但未激活

依赖无版本锁定 +10

requirements.txt 使用 requests>=2.28.0 通配版本,存在供应链风险

本地存储敏感凭证 +2

SQLite 数据库存储 token/open_token,但属于 API 调用必要凭证,非窃取行为

最关键的证据

中危 供应链

依赖包无版本锁定

requirements.txt 中 requests>=2.28.0 使用通配版本,未锁定具体版本号,可能引入恶意版本

skills/smyx_analysis/requirements.txt:1
建议锁定具体版本:requests==2.31.0
低危 代码执行

subprocess代码存在但被注释

AgentSkill.ai_chat 方法包含完整的subprocess调用代码(已注释),虽然未执行但表明技能具备远程命令执行能力

skills/smyx_common/scripts/skill.py:61
确认 AgentSkill 类是否必需,如不使用建议删除注释代码
低危 敏感访问

读取环境变量用于用户身份识别

代码读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等环境变量用于内部用户身份管理

skills/smyx_common/scripts/config.py:155
确认环境变量来源,确保不被恶意注入

声明能力 vs 实际能力

网络访问 通过
声明 READ
→
推断 READ
SKILL.md:声明调用远程API,代码仅使用 requests 发送HTTP请求
文件系统 通过
声明 WRITE
→
推断 WRITE
SKILL.md:声明保存附件/输出结果,代码写本地文件
数据库 通过
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/dao.py:49 创建SQLite数据库存储用户信息
命令执行 通过
声明 NONE
→
推断 NONE
skills/smyx_common/scripts/skill.py:26 注释的subprocess调用

可疑产物与外联

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

SKILL.md:34

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

skill-card.md:9

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

skill-card.md:39

中危 外部 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

依赖与供应链

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

文件构成

30 个文件 · 2704 行
Python 18 个文件 · 2363 行Markdown 4 个文件 · 306 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 4
skills/smyx_common/scripts/config.py Python · 399 行
读取环境变量用于用户身份识别
SKILL.md Markdown · 178 行
https://lifeemergence.com/sample.html
skills/smyx_common/scripts/skill.py Python · 85 行
subprocess代码存在但被注释
skill-card.md Markdown · 58 行
https://clawhub.ai/user/18072937735 · https://clawhub.ai/18072937735/skills/smyx-elderly-night-bed-exit-wandering-analysis
其他文件 · util.py · dao.py · skill.py · smyx_analysis.py · smyx_elderly_night_bed_exit_wandering_analysis.py · api_service.py +2

安全亮点

无恶意代码:无反向shell、C2通信、数据窃取等恶意行为
功能合法:视频分析API集成,用途明确(老年人夜间监测)
声明-行为一致:SKILL.md描述的功能与实际代码实现相符
敏感信息本地存储:token存储在SQLite用于API调用,非外泄凭证
无隐藏功能:代码未发现文档未声明的敏感操作