安全决策报告

smyx-pet-litter-box-waste-analysis

宠物猫砂盆排泄物性状识别技能,代码结构清晰,核心功能为视频分析+API调用,无恶意行为,仅存在文档声明不完整的中等风险。

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

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

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

风险分是怎么被拉高的

文档声明不完整 +10

SKILL.md未声明网络请求和本地文件读取能力,但代码确实执行了这些操作

注释代码残留 +5

smyx_common/scripts/skill.py:26-35 存在注释掉的 subprocess.run 代码,存在未来激活的风险

凭证明文配置 +5

config.yaml 中硬编码 app-id 等凭证,虽为服务所需但建议使用环境变量

最关键的证据

中危 文档欺骗

文档声明与实际能力不一致

SKILL.md 未声明网络请求和本地文件读取能力。技能通过 requests 库调用远程 API (lifeemergence.com),并读取本地视频文件进行上传分析。

skills/smyx_analysis/scripts/skill.py:86
在 SKILL.md 能力范围中补充声明:文件读取 (本地视频)、网络请求 (调用服务端API)
低危 代码执行

注释代码残留潜在风险

smyx_common/scripts/skill.py 中存在注释掉的 subprocess.run 代码,该代码原本用于调用 openclaw agent 命令。虽然当前不会执行,但代码框架存在未来被激活的风险。

skills/smyx_common/scripts/skill.py:26
如果该功能不需要,建议彻底删除此段代码,而非注释保留
低危 敏感访问

环境变量读取敏感信息

代码读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等环境变量作为身份标识。

skills/smyx_common/scripts/config.py:65
这是正常的身份传递机制,建议在文档中说明身份参数由系统自动处理
提示 供应链

依赖版本锁定

requirements.txt 中 requests>=2.28.0 使用了版本下限约束,无已知漏洞。

skills/smyx_analysis/requirements.txt:1
可考虑锁定精确版本以提高可重复性

声明能力 vs 实际能力

文件系统 阻止
声明 NONE
→
推断 READ
smyx_analysis/scripts/skill.py:86 open()
网络访问 阻止
声明 NONE
→
推断 READ
smyx_common/scripts/util.py:280 requests.request()
数据库 阻止
声明 NONE
→
推断 WRITE
smyx_common/scripts/dao.py:88 session.add()
命令执行 通过
声明 NONE
→
推断 NONE
smyx_common/scripts/skill.py:33 subprocess.run (注释状态,无风险)

可疑产物与外联

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

SKILL.md:30

中危 外部 URL
https://clawhub.ai/user/smyx-sunjinhui

skill-card.md:9

中危 外部 URL
https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-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 * pip 否 可选依赖,有 fallback

文件构成

30 个文件 · 2667 行
Python 18 个文件 · 2363 行Markdown 4 个文件 · 269 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 5
skills/smyx_common/scripts/config.py Python · 399 行
环境变量读取敏感信息
SKILL.md Markdown · 170 行
https://lifeemergence.com/sample.html
skills/smyx_analysis/scripts/skill.py Python · 175 行
文档声明与实际能力不一致
skill-card.md Markdown · 60 行
https://clawhub.ai/user/smyx-sunjinhui · https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis
skills/smyx_common/scripts/skill.py Python · 85 行
注释代码残留潜在风险
其他文件 · util.py · dao.py · smyx_analysis.py · smyx_pet_litter_box_waste_analysis.py · api_service.py · api_service.py +1

安全亮点

技能功能明确,代码结构清晰,逻辑简单
无 base64 编码、eval()、裸 IP 网络请求等高危模式
无敏感路径遍历(如 ~/.ssh、~/.aws)
API 凭证仅用于连接指定服务端,不会外传
subprocess.run 代码已被注释,不会执行
使用 SQLite 本地存储用户数据,不涉及凭证外泄