安全决策报告

smyx-adaptive-pet-drying-temperature-analysis

宠物烘干温度推荐技能,代码实现与声称功能基本一致,存在轻微文档-行为差异(数据库操作、身份管理未声明),但属于框架正常需求,无恶意行为发现。

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

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

影子功能-数据库操作 +10

创建SQLite数据库存储用户信息,SKILL.md未声明

影子功能-身份管理 +8

OpenIdUtil自动生成/复用User_*身份,文档未提及

敏感凭证存储 +5

数据库存储token/open_token等敏感信息,但有合理业务用途

Agent工作区感知 +2

AgentContextUtil检测Agent工作区,框架正常功能

最关键的证据

低危 文档欺骗

数据库操作未声明

代码创建SQLite数据库(smyx-common-claw.db)存储用户凭证和token信息,SKILL.md完全未提及数据库相关操作

skills/smyx_common/scripts/dao.py:47
在SKILL.md中补充数据库存储说明,明确数据用途和保留策略
低危 文档欺骗

自动身份管理未声明

OpenIdUtil类实现自动身份生成(User_XXXXXX格式)、存储和复用逻辑,用户无法感知或控制

skills/smyx_common/scripts/util.py:180
在SKILL.md中明确说明内部身份机制,确保用户知情同意
低危 敏感访问

环境变量读取

从环境变量读取OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID等身份信息

skills/smyx_common/scripts/config.py:85
确认环境变量来源可信,限制读取范围
提示 供应链

依赖版本锁定良好

所有依赖包均指定了精确版本(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3),无版本锁定风险

skills/smyx_common/requirements.txt:1
当前依赖管理规范良好,保持此做法
提示 文档欺骗

注释代码暗示潜在RCE风险

skills/smyx_common/scripts/skill.py中包含subprocess调用openclaw agent的注释代码(已注释),虽无实际执行但暗示潜在远程命令执行能力

skills/smyx_common/scripts/skill.py:40
删除注释代码或明确说明为何保留

声明能力 vs 实际能力

文件系统 通过
声明 NONE
→
推断 WRITE
scripts/smyx_adaptive_pet_drying_temperature_analysis.py:52-56 写入分析结果
网络访问 通过
声明 READ
→
推断 READ
调用服务端API处理图像,行为一致
数据库 阻止
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/dao.py:47 创建smyx-common-claw.db
环境变量 通过
声明 NONE
→
推断 READ
skills/smyx_common/scripts/config.py:85-88 读取OPENCLAW/FEISHU环境变量

可疑产物与外联

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

SKILL.md:39

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

skill-card.md:9

中危 外部 URL
https://clawhub.ai/18072937735/skills/smyx-adaptive-pet-drying-temperature-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

依赖与供应链

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

文件构成

31 个文件 · 2702 行
Python 18 个文件 · 2363 行Markdown 4 个文件 · 294 行YAML 6 个文件 · 29 行JSON 1 个文件 · 10 行Text 2 个文件 · 6 行
需关注文件 · 6
skills/smyx_common/scripts/util.py Python · 718 行
自动身份管理未声明
skills/smyx_common/scripts/config.py Python · 399 行
环境变量读取
skills/smyx_common/scripts/dao.py Python · 499 行
数据库操作未声明
SKILL.md Markdown · 190 行
https://lifeemergence.com/sample.html
skill-card.md Markdown · 60 行
https://clawhub.ai/user/18072937735 · https://clawhub.ai/18072937735/skills/smyx-adaptive-pet-drying-temperature-analysis
skills/smyx_common/scripts/skill.py Python · 85 行
注释代码暗示潜在RCE风险
其他文件 · skill.py · smyx_analysis.py · smyx_adaptive_pet_drying_temperature_analysis.py · api_service.py · api_service.py · config.py

安全亮点

依赖版本精确锁定(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3),无供应链风险
API端点使用HTTPS加密传输(lifeemergence.com)
数据库隔离在工作区共享目录,避免污染系统路径
Agent工作区感知机制防止跨Agent数据污染
敏感token不在输出中暴露(日志中截断显示)
功能实现逻辑清晰,无明显混淆或恶意编码模式