smyx-family-conflict-aftercare-suggest-analysis
该技能存在多个未声明的敏感行为:本地SQLite数据库存储用户凭证、自动创建用户账户、将token/open_token/username等凭证外发到外部API服务器,且SKILL.md完全未提及这些行为,构成严重文档欺骗。
代码通过SQLAlchemy创建本地SQLite数据库(smyx-common-claw.db),存储用户的username、token、open_token等敏感凭证。SKILL.md完全未提及此本地存储行为,用户无法知晓凭证被持久化到本地文件系统。
skills/smyx_common/scripts/dao.py:72 Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
12 lower-risk artifacts were extracted and still need context.
The report includes 4 attack-chain steps and 5 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
Entry · skills/smyx_common/scripts/util.py:269
Escalation · skills/smyx_common/scripts/dao.py:72
Escalation · skills/smyx_common/scripts/util.py:263
Impact · skills/smyx_common/scripts/util.py:217
What drove the risk score up
SQLite数据库(smyx-common-claw.db)存储username/token/open_token等敏感凭证,SKILL.md完全未提及
通过RequestUtil.http_request将X-Access-Token/X-Api-Key/Authorization等凭证header发送至外部API服务器
OpenIdUtil自动生成User_xxxxxx格式用户并通过/sys/phoneLogin注册到云端
硬编码App ID(x1a3s4nwy1s2r4se)和多个外部API端点(https://lifeemergence.com等)
util.py:157存在注释掉的username包含ou_前缀,可能是测试凭证
Most important evidence
未声明的本地凭证数据库存储
代码通过SQLAlchemy创建本地SQLite数据库(smyx-common-claw.db),存储用户的username、token、open_token等敏感凭证。SKILL.md完全未提及此本地存储行为,用户无法知晓凭证被持久化到本地文件系统。
skills/smyx_common/scripts/dao.py:72 未声明的凭证外部传输
RequestUtil.http_request方法将X-Access-Token、X-Api-Key、Authorization等敏感凭证header通过HTTP请求发送到外部API服务器(https://lifeemergence.com等),存在凭证拦截风险。
skills/smyx_common/scripts/util.py:217 未声明的自动用户创建机制
OpenIdUtil.resolve_current_open_id自动创建User_xxxxxx格式的默认用户名,通过/sys/phoneLogin接口注册到云端系统,形成未声明的用户账户体系。
skills/smyx_common/scripts/util.py:263 未声明的用户身份外发
HTTP请求data参数中包含pnaUserName字段,携带当前用户名发送到外部API,泄露用户身份标识。
skills/smyx_common/scripts/util.py:230 硬编码的App ID和API端点
config.yaml中硬编码了App ID(x1a3s4nwy1s2r4se)和多个外部API端点域名,用户无法审核这些外部连接的安全性。
skills/smyx_common/scripts/config.yaml:6 未声明的API Key文件读写
OpenIdUtil.get_api_key_file_open_id读取data/smyx-api-key.txt文件获取API Key,该文件操作未在SKILL.md中声明。
skills/smyx_common/scripts/util.py:249 被注释的测试凭证
util.py:157存在注释掉的username变量(ou_86fdd8e0d5f116c18a9dd550abefe6d2),可能是测试用凭证遗留。
skills/smyx_common/scripts/util.py:157 Declared capability vs actual capability
skills/smyx_common/scripts/dao.py:72 创建SQLite数据库写入token/open_token skills/smyx_common/scripts/util.py:217-220 将X-Access-Token/Authorization等凭证发送到外部API skills/smyx_common/scripts/config.py:63-65 读取OPENCLAW_SENDER_OPEN_ID等环境变量 Suspicious artifacts and egress
https://lifeemergence.com/sample.html SKILL.md:34
https://clawhub.ai/user/smyx-sunjinhui skill-card.md:9
https://clawhub.ai/smyx-sunjinhui/skills/smyx-family-conflict-aftercare-suggest-analysis skill-card.md:43
http://192.168.1.234:9601/smyx-open-api skills/smyx_common/scripts/config-dev.yaml:2
http://192.168.1.234:4100 skills/smyx_common/scripts/config-dev.yaml:3
http://192.168.1.234:7070/jeecg-boot-xzgz skills/smyx_common/scripts/config-dev.yaml:4
https://livemonitortest.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config-test.yaml:2
http://livemonitortest.lifeemergence.com skills/smyx_common/scripts/config-test.yaml:3
https://healthtest.lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config-test.yaml:4
https://lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config.yaml:4
https://open.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config.yaml:5
http://livemonitor.lifeemergence.com skills/smyx_common/scripts/config.yaml:6
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| pydash | 8.0.6 | requirements.txt | No | 版本已锁定 |
| SQLAlchemy | 2.0.46 | requirements.txt | No | 版本已锁定 |
| PyYAML | 6.0.3 | requirements.txt | Yes | YAML反序列化漏洞(CVE-2020-14343等),建议升级 |
| requests | >=2.28.0 | SKILL.md依赖说明 | No | 无版本上限,存在引入恶意版本风险 |
File composition
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/dao.py SKILL.md skill-card.md