安全决策报告

study-analysis

学习行为分析技能,具有未声明的本地SQLite凭证存储和自动登录功能,但未发现恶意数据外泄行为

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

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

阴影功能:本地SQLite存储凭证 +15

dao.py创建smyx-common-claw.db存储token/open_token等敏感信息,SKILL.md未声明

阴影功能:读取平台内部环境变量 +10

AgentContextUtil读取OPENCLAW_SENDER_OPEN_ID、FEISHU_OPEN_ID等平台内部变量

最关键的证据

中危 敏感访问

本地数据库存储用户凭证

dao.py创建本地SQLite数据库smyx-common-claw.db,存储sys_user表包含username、token、open_token等敏感凭证,SKILL.md未声明

skills/smyx_common/scripts/dao.py:91
在SKILL.md中声明需要本地存储用户凭证以支持自动登录功能
低危 文档欺骗

平台内部环境变量读取

OpenIdUtil和ConstantEnum读取OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID等平台内部环境变量,用于身份关联,SKILL.md未提及

skills/smyx_common/scripts/util.py:299
补充文档说明技能与平台的身份关联机制
低危 敏感访问

自动登录API调用

RequestUtil.http_request自动调用/sys/phoneLogin接口进行静默登录,传入open_id参数,代码注释掉的默认值ou_86fdd8e0d5f116c18a9dd550abefe6d2未在文档说明

skills/smyx_common/scripts/util.py:214
明确自动登录机制的作用范围和隐私影响

声明能力 vs 实际能力

文件系统 阻止
声明 READ
→
推断 WRITE
dao.py:91 创建SQLite数据库文件
网络访问 通过
声明 READ
→
推断 READ
api_service.py HTTP请求到lifeemergence.com
命令执行 通过
声明 NONE
→
推断 NONE
无subprocess调用
环境变量 阻止
声明 NONE
→
推断 READ
util.py:299-301 读取OPENCLAW_SENDER_OPEN_ID等
数据库 阻止
声明 NONE
→
推断 WRITE
dao.py:91 create_engine创建本地SQLite

可疑产物与外联

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

SKILL.md:36

中危 外部 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 个文件 · 2781 行
Python 18 个文件 · 2499 行Markdown 3 个文件 · 247 行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 · 207 行
https://lifeemergence.com/sample.html
其他文件 · config.py · study_analysis.py · skill.py · smyx_analysis.py · api_service.py · skill.py +3

安全亮点

依赖包版本锁定:pydash、SQLAlchemy、PyYAML均指定版本
无远程代码执行或shell管道
无base64编码或eval混淆
API通信目标明确为官方域名
无访问~/.ssh、~/.aws等敏感路径