安全决策报告

stroke-risk-screening-analysis

脑卒中风险筛查技能,核心功能正常但存在未声明的subprocess代码(已注释)存在潜在风险

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

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

阴影功能风险 +20

AgentSkill.ai_chat存在已注释的subprocess代码调用openclaw agent,SKILL.md未声明此能力

环境变量读取 +5

读取OPENCLAW_SENDER_OPEN_ID等环境变量,但属于内部身份处理,文档有说明

最关键的证据

中危 文档欺骗

未声明的subprocess执行代码

AgentSkill.ai_chat方法包含已注释的subprocess代码,可调用openclaw agent执行任意命令,SKILL.md完全未提及此功能

skills/smyx_common/scripts/skill.py:45
确认是否为调试遗留代码,如不需要应删除;如需使用需在SKILL.md明确声明
低危 权限提升

未声明的本地数据库操作

使用SQLite存储用户身份信息(token/open_token),数据库存储在data/smyx-common-claw.db,SKILL.md未声明

skills/smyx_common/scripts/dao.py:67
建议在SKILL.md的资源索引中补充说明本地数据库用途
低危 供应链

依赖包版本锁定良好

pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3 均已锁定版本,降低供应链风险

skills/smyx_common/requirements.txt:1
当前依赖管理规范,建议保持

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
仅读取用户上传的媒体文件,代码无写入操作
网络访问 通过
声明 READ
→
推断 READ
所有网络请求仅发送到lifeemergence.com域名,无外部C2
命令执行 通过
声明 WRITE
→
推断 WRITE
skills/smyx_common/scripts/skill.py:45 存在已注释的subprocess.run调用openclaw agent
数据库 阻止
声明 NONE
→
推断 WRITE
dao.py:67 使用SQLite存储用户token等数据,但未在SKILL.md声明
环境变量 通过
声明 NONE
→
推断 READ
读取OPENCLAW_SENDER_OPEN_ID等变量,SKILL.md提到但不明确

可疑产物与外联

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

SKILL.md:37

中危 外部 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 个文件 · 2773 行
Python 18 个文件 · 2522 行Markdown 3 个文件 · 216 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 3
skills/smyx_common/scripts/dao.py Python · 499 行
未声明的本地数据库操作
SKILL.md Markdown · 176 行
https://lifeemergence.com/sample.html
skills/smyx_common/scripts/skill.py Python · 85 行
未声明的subprocess执行代码
其他文件 · util.py · config.py · stroke_risk_screening_analysis.py · skill.py · smyx_analysis.py · api_service.py +3

安全亮点

所有网络请求仅发送到lifeemergence.com域名,无可疑外部通信
依赖包版本已锁定,降低供应链攻击风险
数据库路径强制重定向到工作区data目录,防止污染
身份处理逻辑清晰,有缺省用户自动生成机制
无硬编码凭证,敏感信息从配置文件加载