elderly-fall-detection-analysis
发现阴影功能风险:subprocess远程执行代码存在但被注释,存在文档-行为不一致;凭证管理涉及内部标识读写但未外泄;整体功能正常但代码结构存在潜在恶意利用空间。
为什么得出这个结论
2/4 个维度触发发现 3 项声明之外的能力或越权行为。
提取到 10 个一般风险产物,需要结合上下文判断。
报告包含 3 步攻击链,另有 1 项高危或严重发现。
发现 4 项需要关注的依赖或供应链线索。
攻击链
初始入口 · SKILL.md:1
权限提升 · skills/smyx_common/scripts/skill.py:40
最终危害 · skills/smyx_common/scripts/skill.py:45
风险分是怎么被拉高的
skills/smyx_common/scripts/skill.py:40-60存在注释掉的subprocess.run(cmd)调用框架,可通过取消注释激活远程命令执行
OpenIdUtil自动生成User_xxxxxx标识并持久化到本地SQLite,存在内部标识泄露风险但未主动外传
依赖lifeemergence.com系列外部服务,API地址硬编码在yaml配置中,无法验证服务端可信性
最关键的证据
注释代码中存在未声明的远程执行能力
skills/smyx_common/scripts/skill.py的AgentSkill.ai_chat方法包含完整的subprocess.run(cmd)调用框架,当前被注释但可随时激活,SKILL.md未声明此shell执行能力
skills/smyx_common/scripts/skill.py:40 内部用户标识自动生成与持久化
OpenIdUtil自动生成User_xxxxxx格式的内部标识并存储到本地SQLite数据库,该标识作为API认证凭证使用,虽未外传但存在内部标识泄露风险
skills/smyx_common/scripts/util.py:248 依赖包版本未锁定
requirements.txt使用pydash==8.0.6、SQLAlchemy==2.0.46等固定版本,但requests依赖在顶层SKILL.md声明为requests>=2.28.0,存在供应链风险
SKILL.md:61 环境变量读取未声明
config.py读取OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID等环境变量,影响API认证行为但SKILL.md未声明
skills/smyx_common/scripts/config.py:65 声明能力 vs 实际能力
scripts/elderly_fall_detection_analysis.py:45 读取本地图片/视频文件 skills/smyx_common/scripts/util.py:310 通过requests调用外部API skills/smyx_common/scripts/skill.py:40 注释的subprocess.run(cmd)框架可激活shell:WRITE skills/smyx_common/scripts/dao.py:61 创建SQLite数据库smyx-common-claw.db skills/smyx_common/scripts/config.py:65-71 读取OPENCLAW_SENDER_OPEN_ID等环境变量 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:33
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 | 否 | 固定版本 |
| PyYAML | 6.0.3 | pip | 否 | 固定版本 |
文件构成
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/config.py SKILL.md skills/smyx_common/scripts/skill.py