安全决策报告

smyx-aggressive-behavior-detection-analysis

畜禽争斗行为识别技能,包含未激活的 subprocess 远程执行代码(已注释)和环境变量读取逻辑,声明-行为存在偏差但无直接恶意证据。

安装决策优先 来源: ClawHub 扫描时间: 2026/9/18
文件 29
IOC 10
越权项 4
发现 5
最直接的威胁证据
01
用户安装技能,读取 SKILL.md 了解功能 初始入口 · SKILL.md
02
技能读取环境变量 OPENCLAW_SENDER_OPEN_ID 获取身份 权限提升 · skills/smyx_common/scripts/config.py
03
技能创建本地 SQLite 数据库存储 token 权限提升 · skills/smyx_common/scripts/dao.py

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 0 项高危或严重发现。

通过
依赖与供应链卫生

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

攻击链

01
用户安装技能,读取 SKILL.md 了解功能

初始入口 · SKILL.md:1

02
技能读取环境变量 OPENCLAW_SENDER_OPEN_ID 获取身份

权限提升 · skills/smyx_common/scripts/config.py:77

03
技能创建本地 SQLite 数据库存储 token

权限提升 · skills/smyx_common/scripts/dao.py:88

04
通过 HTTP POST 上传视频文件到 lifeemergence.com API

最终危害 · skills/smyx_analysis/scripts/skill.py:85

风险分是怎么被拉高的

未激活的远程执行代码 +20

skills/smyx_common/scripts/skill.py 包含已注释的 subprocess.run(openclaw agent) 调用,虽未激活但代码存在

环境变量遍历读取 +15

config.py 读取 OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID 等环境变量

自动用户创建机制 +10

OpenIdUtil 自动生成 User_ 前缀用户并通过 /sys/phoneLogin API 注册

最关键的证据

中危 代码执行

已注释的 subprocess 远程执行代码

skills/smyx_common/scripts/skill.py 中存在已注释的 subprocess.run(['openclaw', 'agent', ...]) 调用,可执行外部命令。虽当前未激活,但代码存在即构成风险。

skills/smyx_common/scripts/skill.py:37
删除此类危险代码,或在 SKILL.md 中明确声明此功能的存在和用途
中危 凭证窃取

环境变量敏感信息读取

config.py 读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等环境变量,用于身份解析。未在 SKILL.md 中声明。

skills/smyx_common/scripts/config.py:77
在 SKILL.md 的 declared permissions 中声明 environment:READ
低危 敏感访问

本地 SQLite 数据库存储用户凭证

dao.py 在工作区 data 目录创建 smyx-common-claw.db 数据库,存储 username、token、open_token 等敏感信息。

skills/smyx_common/scripts/dao.py:88
确保数据库文件路径隔离,不泄露到工作区外部
低危 文档欺骗

网络能力声明与实际不符

SKILL.md 声明 'analysis requests through server-side API',未明确说明文件上传(HTTP POST with multipart/form-data)和自动注册用户的网络写操作。

SKILL.md:1
补充声明文件上传和网络写操作能力
低危 权限提升

自动用户创建机制

OpenIdUtil 在 resolve_current_open_id() 中自动通过 /sys/phoneLogin API 创建用户,可能绕过身份验证流程。

skills/smyx_common/scripts/util.py:298
限制自动注册仅在首次调用时执行,添加开关控制

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
SKILL.md:脚本仅读取视频文件,无写操作
网络访问 阻止
声明 READ
→
推断 WRITE
skills/smyx_common/scripts/util.py:298 通过 HTTP POST 上传文件到 API
命令执行 阻止
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/skill.py:37 存在已注释的 subprocess.run(openclaw agent)
环境变量 阻止
声明 NONE
→
推断 READ
skills/smyx_common/scripts/config.py:77-82 读取 OPENCLAW_SENDER_OPEN_ID 等变量
数据库 阻止
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/dao.py 本地 SQLite 存储用户凭证

可疑产物与外联

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

SKILL.md:29

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

文件构成

29 个文件 · 2698 行
Python 18 个文件 · 2363 行Markdown 3 个文件 · 300 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 5
skills/smyx_common/scripts/util.py Python · 718 行
自动用户创建机制
skills/smyx_common/scripts/config.py Python · 399 行
环境变量敏感信息读取
skills/smyx_common/scripts/dao.py Python · 499 行
本地 SQLite 数据库存储用户凭证
SKILL.md Markdown · 261 行
网络能力声明与实际不符 · https://lifeemergence.com/sample.html
skills/smyx_common/scripts/skill.py Python · 85 行
已注释的 subprocess 远程执行代码
其他文件 · skill.py · smyx_analysis.py · smyx_aggressive_behavior_detection_analysis.py · api_service.py · api_service.py · config.py +1

安全亮点

代码结构清晰,依赖版本已锁定(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3)
网络请求仅指向预定义的 lifeemergence.com 域名,无外部 IP 或可疑 C2 通信
subprocess 代码处于注释状态,当前无法执行
数据库路径强制重定向到工作区 data 目录,不会污染外部路径