stroke-risk-screening-analysis
脑卒中风险筛查技能,核心功能正常但存在未声明的subprocess代码(已注释)存在潜在风险
为什么得出这个结论
1/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 10 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
AgentSkill.ai_chat存在已注释的subprocess代码调用openclaw agent,SKILL.md未声明此能力
读取OPENCLAW_SENDER_OPEN_ID等环境变量,但属于内部身份处理,文档有说明
最关键的证据
未声明的subprocess执行代码
AgentSkill.ai_chat方法包含已注释的subprocess代码,可调用openclaw agent执行任意命令,SKILL.md完全未提及此功能
skills/smyx_common/scripts/skill.py:45 未声明的本地数据库操作
使用SQLite存储用户身份信息(token/open_token),数据库存储在data/smyx-common-claw.db,SKILL.md未声明
skills/smyx_common/scripts/dao.py:67 依赖包版本锁定良好
pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3 均已锁定版本,降低供应链风险
skills/smyx_common/requirements.txt:1 声明能力 vs 实际能力
仅读取用户上传的媒体文件,代码无写入操作 所有网络请求仅发送到lifeemergence.com域名,无外部C2 skills/smyx_common/scripts/skill.py:45 存在已注释的subprocess.run调用openclaw agent dao.py:67 使用SQLite存储用户token等数据,但未在SKILL.md声明 读取OPENCLAW_SENDER_OPEN_ID等变量,SKILL.md提到但不明确 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:37
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
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| pydash | 8.0.6 | pip | 否 | 版本已锁定 |
| SQLAlchemy | 2.0.46 | pip | 否 | 版本已锁定 |
| PyYAML | 6.0.3 | pip | 否 | 版本已锁定 |
文件构成
skills/smyx_common/scripts/dao.py SKILL.md skills/smyx_common/scripts/skill.py