安全决策报告

fire-detection-analysis

火情烟雾检测技能为合法AI分析工具,具有完整的文档说明,但存在注释掉的subprocess代码和依赖无版本锁定等轻微瑕疵。

安装决策优先 来源: ClawHub 扫描时间: 2026/7/6
文件 29
IOC 10
越权项 2
发现 4

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

注释掉的subprocess代码 +5

skills/smyx_common/scripts/skill.py中存在被注释的subprocess.run调用,未实际执行

依赖无版本锁定 +10

skills/smyx_analysis/requirements.txt中requests>=2.28.0使用范围版本

本地数据库存储 +5

skills/smyx_common/scripts/dao.py使用SQLite存储用户身份信息,用于身份持久化

最关键的证据

低危 供应链

依赖包版本未锁定

requirements.txt中使用范围版本指定依赖(如requests>=2.28.0),可能导致安装不同版本引入潜在风险

skills/smyx_analysis/requirements.txt:1
建议锁定具体版本,如requests==2.31.0
低危 代码混淆

注释掉的subprocess代码

skills/smyx_common/scripts/skill.py中存在被注释的subprocess.run调用(ai_chat方法),虽未实际执行但属于阴影功能

skills/smyx_common/scripts/skill.py:30
如不需要此功能建议直接删除注释代码
低危 权限提升

本地数据库存储用户身份

使用SQLite本地数据库存储用户token、open_token等凭证信息,用于身份持久化和复用

skills/smyx_common/scripts/dao.py:1
这是合法功能设计,用于用户身份管理,无需删除但需确保数据库文件安全
低危 文档欺骗

声明权限与实际能力存在差异

SKILL.md未声明本地数据库写入能力和结果文件输出能力,但代码实际使用了这些功能

scripts/fire_detection_analysis.py:66
建议在SKILL.md文档中补充说明本地文件写入能力(用于保存分析结果)

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
skills/smyx_analysis/scripts/skill.py:91-97 文件读取
文件系统 阻止
声明 NONE
→
推断 WRITE
scripts/fire_detection_analysis.py:66 本地文件写入用于结果保存
网络访问 通过
声明 READ
→
推断 READ
skills/smyx_common/scripts/util.py:305-314 HTTP请求到API端点
命令执行 通过
声明 NONE
→
推断 NONE
skills/smyx_common/scripts/skill.py:30-45 subprocess代码被注释
数据库 阻止
声明 NONE
→
推断 WRITE
skills/smyx_common/scripts/dao.py:1-10 SQLite用户数据库

可疑产物与外联

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

SKILL.md:33

中危 外部 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

依赖与供应链

包名版本来源漏洞备注
requests >=2.28.0 pip 否 无版本锁定,建议锁定具体版本
pydash 8.0.6 pip 否 版本已锁定
SQLAlchemy 2.0.46 pip 否 版本已锁定
yaml 6.0.3 pip 否 版本已锁定

文件构成

29 个文件 · 2609 行
Python 18 个文件 · 2353 行Markdown 3 个文件 · 221 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行
需关注文件 · 4
skills/smyx_common/scripts/dao.py Python · 499 行
本地数据库存储用户身份
SKILL.md Markdown · 181 行
https://lifeemergence.com/sample.html
scripts/fire_detection_analysis.py Python · 96 行
声明权限与实际能力存在差异
skills/smyx_common/scripts/skill.py Python · 85 行
注释掉的subprocess代码
其他文件 · util.py · config.py · skill.py · smyx_analysis.py · api_service.py · api_service.py +2

安全亮点

代码结构清晰,模块化设计良好
有完整的中英文文档说明
使用标准库和成熟依赖(requests、SQLAlchemy)
API调用有完整的认证机制
未发现恶意行为或数据外泄
支持文件类型和大小验证
错误处理完善