smyx-environmental-anomaly-analysis
SKILL.md 声明仅做视频分析,但代码实际包含完整的用户身份管理系统(注册、凭证存储、API登录),存在文档欺骗和未声明的敏感操作
为什么得出这个结论
2/4 个维度触发发现 3 项声明之外的能力或越权行为。
提取到 10 个一般风险产物,需要结合上下文判断。
报告包含 4 步攻击链,另有 2 项高危或严重发现。
依赖结构存在,但暂未看到明显高危告警。
攻击链
初始入口 · SKILL.md:1
权限提升 · scripts/smyx_environmental_anomaly_analysis.py:68
权限提升 · skills/smyx_common/scripts/util.py:343
最终危害 · skills/smyx_common/scripts/dao.py:133
风险分是怎么被拉高的
SKILL.md 仅声明视频分析功能,但代码实现完整的用户身份管理系统(UserDao、User模型、自动注册)
token/openToken 存储在本地 SQLite 数据库,未在文档中声明
自动调用 /sys/phoneLogin API 注册用户,未在文档中声明
requests>=2.28.0 无上限版本锁定
最关键的证据
文档声明与实际能力严重不符
SKILL.md 仅声明畜禽舍视频分析和环境传感器数据处理功能,但代码实际实现完整的用户身份管理系统,包括 UserDao、User 模型、自动注册用户到外部 API、凭证本地持久化等,与声明用途无关的阴影功能
skills/smyx_common/scripts/dao.py:133 自动注册用户并存储凭证
代码在运行时自动调用 /sys/phoneLogin API 注册用户,并将 token 和 open_token 持久化到本地 SQLite 数据库。这些凭证与外部服务关联,未在文档中声明
skills/smyx_common/scripts/util.py:343 访问内部身份文件
OpenIdUtil.get_api_key_file_open_id() 读取 data/smyx-api-key.txt 中的内部身份值,这是未声明的敏感文件访问
skills/smyx_common/scripts/util.py:300 依赖包无版本锁定
requests>=2.28.0 无上限版本锁定,存在依赖劫持风险
SKILL.md:1 注释掉的可疑代码
skills/smyx_common/scripts/skill.py 中存在被注释的 subprocess 调用(ai_chat 方法),虽未执行但表明可能具备远程命令执行能力
skills/smyx_common/scripts/skill.py:30 声明能力 vs 实际能力
代码调用外部API进行视频分析和用户认证 skills/smyx_common/scripts/dao.py:94-98 创建和写入本地 SQLite 数据库 skills/smyx_common/scripts/dao.py:133-138 UserDao 创建 sys_user 表存储用户凭证 skills/smyx_common/scripts/config.py:182-190 读取 OPENCLAW_SENDER_OPEN_ID、FEISHU_OPEN_ID 等环境变量 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:29
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
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| requests | >=2.28.0 | pip | 否 | 无上限版本锁定 |
| pydash | 8.0.6 | pip | 否 | — |
| SQLAlchemy | 2.0.46 | pip | 否 | — |
| yaml | 6.0.3 | pip | 否 | — |
文件构成
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/dao.py SKILL.md skills/smyx_common/scripts/skill.py