smyx-fish-surface-symptom-detection-analysis
发现未声明的阴影功能(ai_chat方法含subprocess调用框架),但代码已注释,实际无恶意行为。技能为合法的鱼体健康分析工具,依赖管理规范,无凭证外泄。
为什么得出这个结论
1/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 10 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
skills/smyx_common/scripts/skill.py 的 ai_chat() 方法包含 subprocess 调用 openclaw agent 的代码框架,但未在 SKILL.md 中声明
config-dev.yaml 包含内网 IP 192.168.1.234,config.yaml 包含多个 lifeemergence.com 外部 URL
OpenIdUtil.resolve_current_open_id() 自动生成 User_ 前缀用户名并写入本地 SQLite 数据库,未在文档中明确说明
最关键的证据
未声明的阴影功能:subprocess 调用框架
skills/smyx_common/scripts/skill.py 中的 AgentSkill.ai_chat() 方法包含调用 'openclaw agent' 命令的 subprocess 代码框架(已注释),但 SKILL.md 中完全未提及此功能,存在文档-行为差异。
skills/smyx_common/scripts/skill.py:31 未声明的数据库操作
代码使用 SQLAlchemy 操作本地 SQLite 数据库(smyx-common-claw.db)存储用户身份信息,但 SKILL.md 中未声明数据库访问能力。
skills/smyx_common/scripts/dao.py:1 依赖版本已锁定
skills/smyx_analysis/requirements.txt 和 skills/smyx_common/requirements.txt 均使用固定版本号,依赖管理规范。
skills/smyx_analysis/requirements.txt:1 用户身份自动管理
OpenIdUtil 自动解析/创建用户身份(User_前缀),读取 data/smyx-api-key.txt 文件存储内部身份,未在文档中明确说明数据存储位置和生命周期。
skills/smyx_common/scripts/util.py:227 声明能力 vs 实际能力
scripts/smyx_analysis.py:87 仅读取用户提供的输入文件 skills/smyx_common/scripts/util.py:RequestUtil.http_request 发送 POST 请求到 API,但属于合法业务调用 skills/smyx_common/scripts/skill.py:31-43 ai_chat() 方法框架性包含 subprocess 调用但已注释 skills/smyx_common/scripts/dao.py 使用 SQLAlchemy 操作 SQLite 数据库存储用户信息 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:34
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/util.py skills/smyx_common/scripts/dao.py SKILL.md skills/smyx_common/scripts/skill.py