安全决策报告

smyx-aquarium-plant-health-monitor-analysis

水族箱水草健康监测技能,功能正常且无恶意行为,但存在多处文档-代码差异(数据库操作、凭证存储)属于轻微瑕疵

安装决策优先 来源: ClawHub 扫描时间: 2026/9/23
文件 29
IOC 10
越权项 2
发现 4

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

文档未声明数据库操作 +10

代码使用 SQLite 本地数据库存储用户信息/token,但 SKILL.md 未提及数据库访问

文档未声明凭证管理 +5

代码读取 smyx-api-key.txt 和环境变量获取凭证,但未在声明中说明

文档未声明 API 登录流程 +5

代码包含 /sys/phoneLogin 登录接口调用,涉及用户凭证处理,但文档未说明

最关键的证据

低危 文档欺骗

数据库操作未声明

技能使用 SQLite 本地数据库存储用户信息(username、token、open_token 等),但 SKILL.md 完全未提及数据库访问能力

skills/smyx_common/scripts/dao.py:51
在 SKILL.md 前置准备部分补充说明:本技能使用本地 SQLite 数据库存储用户身份信息
低危 文档欺骗

凭证文件读取未声明

技能读取工作区 data/smyx-api-key.txt 获取 API 凭证,但 SKILL.md 未声明此文件访问行为

skills/smyx_common/scripts/util.py:193
在 SKILL.md 前置准备部分说明凭证文件用途
低危 文档欺骗

API 登录接口未声明

代码调用 /sys/phoneLogin 接口进行静默注册/登录,涉及用户凭证处理,但 SKILL.md 未提及此后台行为

skills/smyx_common/scripts/util.py:235
在 SKILL.md 透明度说明部分补充 API 服务登录机制
低危 供应链

pydash 依赖存在复杂度风险

pydash 库提供 100+ 工具函数,包含深层属性访问、动态代码执行等复杂功能,攻击面较大

skills/smyx_analysis/requirements.txt:1
评估是否可以使用标准库替代 pydash,减少依赖风险

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
scripts/smyx_analysis.py:56-65 读取本地文件
网络访问 通过
声明 READ
→
推断 WRITE
scripts/util.py:261-268 携带 token/凭证 POST 请求
数据库 阻止
声明 NONE
→
推断 WRITE
scripts/dao.py:51-53 创建 SQLite 数据库存储用户信息
环境变量 阻止
声明 NONE
→
推断 READ
scripts/config.py:64-70 读取 OPENCLAW/FEISHU 环境变量

可疑产物与外联

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

SKILL.md:34

中危 外部 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 否 版本已锁定,安全

文件构成

29 个文件 · 2686 行
Python 18 个文件 · 2360 行Markdown 3 个文件 · 291 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 3
skills/smyx_common/scripts/util.py Python · 718 行
凭证文件读取未声明 · API 登录接口未声明
skills/smyx_common/scripts/dao.py Python · 499 行
数据库操作未声明
SKILL.md Markdown · 252 行
https://lifeemergence.com/sample.html
其他文件 · config.py · skill.py · smyx_analysis.py · smyx_aquarium_plant_health_monitor_analysis.py · api_service.py · skill.py +3

安全亮点

核心功能(水草图像分析)实现清晰,无混淆代码
未发现反向 shell、Base64 执行等高危攻击模式
未发现凭证外传、敏感文件遍历等恶意行为
API 调用逻辑正常,token 处理符合规范
数据库路径强制解析到工作区共享目录,有防护机制
依赖版本已锁定,无 pip install * 风险