安全决策报告

smyx-fish-color-brightness-assessment-analysis

合法的观赏鱼体色鲜艳度评估技能,存在被注释的阴影功能代码但无实际执行风险,依赖版本基本锁定,整体安全可用

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

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

阴影功能代码残留 +10

skills/smyx_common/scripts/skill.py 中保留了 ai_chat 方法调用 subprocess 的注释代码,但已被注释不会执行

依赖版本未完全锁定 +5

smyx_analysis 的 requirements.txt 中 requests>=2.28.0 使用范围版本

文档未声明本地存储 +5

SKILL.md 未说明使用本地 SQLite 数据库存储用户身份信息

最关键的证据

低危 文档欺骗

阴影功能代码残留

skills/smyx_common/scripts/skill.py 中存在 ai_chat 方法,包含通过 subprocess 调用 openclaw agent 的代码逻辑,虽然已被注释但代码结构完整,暗示存在未声明的远程命令执行能力

skills/smyx_common/scripts/skill.py:35
确认为调试遗留代码后删除,或明确在 SKILL.md 中声明此功能的用途和触发条件
低危 供应链

依赖版本未完全锁定

smyx_analysis/requirements.txt 中 requests>=2.28.0 使用范围版本,存在潜在供应链风险

skills/smyx_analysis/requirements.txt:1
建议锁定具体版本如 requests==2.31.0
低危 敏感访问

本地数据库存储用户身份

使用本地 SQLite 数据库存储用户身份信息(username, token, open_token),但 SKILL.md 未声明此本地存储行为

skills/smyx_common/scripts/dao.py:1
在 SKILL.md 的数据处理部分补充说明本地数据库存储机制

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
smyx_analysis.py:61-68 读取本地图像文件上传到API
网络访问 通过
声明 READ
→
推断 READ
util.py:322-365 HTTP请求到外部API服务
数据库 通过
声明 NONE
→
推断 WRITE
dao.py 本地SQLite存储用户身份,但SKILL.md未声明

可疑产物与外联

中危 外部 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 个文件 · 2745 行
Python 18 个文件 · 2364 行Markdown 3 个文件 · 346 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 3
SKILL.md Markdown · 205 行
https://lifeemergence.com/sample.html
skills/smyx_common/scripts/dao.py Python · 499 行
本地数据库存储用户身份
skills/smyx_common/scripts/skill.py Python · 85 行
阴影功能代码残留
其他文件 · util.py · config.py · api_doc.md · skill.py · smyx_analysis.py · smyx_fish_color_brightness_assessment_analysis.py +3

安全亮点

核心功能代码结构清晰,API调用逻辑正常
smyx_common 依赖版本完全锁定(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3)
数据库路径强制重定向到工作区共享 data 目录,防止污染
使用环境变量读取身份信息(OPENCLAW_SENDER_OPEN_ID等),不硬编码凭证
HTTP请求包含超时设置(DEFAULT__REQUEST_TIMEOUT=120s)
无明显的凭证收割、远程代码执行或数据外泄行为