Skill Trust Decision

smyx-fish-surface-symptom-detection-analysis

发现未声明的阴影功能(ai_chat方法含subprocess调用框架),但代码已注释,实际无恶意行为。技能为合法的鱼体健康分析工具,依赖管理规范,无凭证外泄。

Install decision first Source: ClawHub Scanned: 25 days ago
Files 29
Artifacts 10
Violations 1
Findings 4
Most direct threat evidence

Why this conclusion was reached

1/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

10 lower-risk artifacts were extracted and still need context.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Pass
Dependencies and supply chain hygiene

Dependencies are present but no obvious high-risk issue stands out.

What drove the risk score up

未声明的阴影功能 +20

skills/smyx_common/scripts/skill.py 的 ai_chat() 方法包含 subprocess 调用 openclaw agent 的代码框架,但未在 SKILL.md 中声明

内部 IP 和外部 URL +10

config-dev.yaml 包含内网 IP 192.168.1.234,config.yaml 包含多个 lifeemergence.com 外部 URL

用户身份自动创建机制 +10

OpenIdUtil.resolve_current_open_id() 自动生成 User_ 前缀用户名并写入本地 SQLite 数据库,未在文档中明确说明

Most important evidence

Medium Doc Mismatch

未声明的阴影功能:subprocess 调用框架

skills/smyx_common/scripts/skill.py 中的 AgentSkill.ai_chat() 方法包含调用 'openclaw agent' 命令的 subprocess 代码框架(已注释),但 SKILL.md 中完全未提及此功能,存在文档-行为差异。

skills/smyx_common/scripts/skill.py:31
如无使用需求建议直接删除 ai_chat() 方法;如需保留必须在 SKILL.md 中声明并说明用途
Low Priv Escalation

未声明的数据库操作

代码使用 SQLAlchemy 操作本地 SQLite 数据库(smyx-common-claw.db)存储用户身份信息,但 SKILL.md 中未声明数据库访问能力。

skills/smyx_common/scripts/dao.py:1
在 SKILL.md 的资源索引中增加数据库相关说明
Low Supply Chain

依赖版本已锁定

skills/smyx_analysis/requirements.txt 和 skills/smyx_common/requirements.txt 均使用固定版本号,依赖管理规范。

skills/smyx_analysis/requirements.txt:1
保持当前版本锁定策略
Info Sensitive Access

用户身份自动管理

OpenIdUtil 自动解析/创建用户身份(User_前缀),读取 data/smyx-api-key.txt 文件存储内部身份,未在文档中明确说明数据存储位置和生命周期。

skills/smyx_common/scripts/util.py:227
在隐私政策或 SKILL.md 中明确说明用户身份数据的存储位置和处理方式

Declared capability vs actual capability

Filesystem Pass
Declared READ
Inferred READ
scripts/smyx_analysis.py:87 仅读取用户提供的输入文件
Network Pass
Declared READ
Inferred WRITE
skills/smyx_common/scripts/util.py:RequestUtil.http_request 发送 POST 请求到 API,但属于合法业务调用
Shell Pass
Declared NONE
Inferred NONE
skills/smyx_common/scripts/skill.py:31-43 ai_chat() 方法框架性包含 subprocess 调用但已注释
Database Block
Declared NONE
Inferred WRITE
skills/smyx_common/scripts/dao.py 使用 SQLAlchemy 操作 SQLite 数据库存储用户信息

Suspicious artifacts and egress

Medium External URL
https://lifeemergence.com/sample.html

SKILL.md:34

Medium External URL
http://192.168.1.234:9601/smyx-open-api

skills/smyx_common/scripts/config-dev.yaml:2

Medium External URL
http://192.168.1.234:4100

skills/smyx_common/scripts/config-dev.yaml:3

Medium External URL
http://192.168.1.234:7070/jeecg-boot-xzgz

skills/smyx_common/scripts/config-dev.yaml:4

Medium External URL
https://livemonitortest.lifeemergence.com/smyx-open-api

skills/smyx_common/scripts/config-test.yaml:2

Medium External URL
http://livemonitortest.lifeemergence.com

skills/smyx_common/scripts/config-test.yaml:3

Medium External URL
https://healthtest.lifeemergence.com/jeecg-boot-xzgz

skills/smyx_common/scripts/config-test.yaml:4

Medium External URL
https://lifeemergence.com/jeecg-boot-xzgz

skills/smyx_common/scripts/config.yaml:4

Medium External URL
https://open.lifeemergence.com/smyx-open-api

skills/smyx_common/scripts/config.yaml:5

Medium External URL
http://livemonitor.lifeemergence.com

skills/smyx_common/scripts/config.yaml:6

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
pydash 8.0.6 pip No 版本已锁定
SQLAlchemy 2.0.46 pip No 版本已锁定
PyYAML 6.0.3 pip No 版本已锁定

File composition

29 files · 2712 lines
Python 18 files · 2363 linesMarkdown 3 files · 314 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 4
skills/smyx_common/scripts/util.py Python · 718 lines
用户身份自动管理
skills/smyx_common/scripts/dao.py Python · 499 lines
未声明的数据库操作
SKILL.md Markdown · 194 lines
https://lifeemergence.com/sample.html
skills/smyx_common/scripts/skill.py Python · 85 lines
未声明的阴影功能:subprocess 调用框架
Other files · config.py · skill.py · api_doc.md · smyx_analysis.py · smyx_fish_surface_symptom_detection_analysis.py · api_service.py +2

Security positives

依赖版本全部锁定(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3),无供应链风险
无 base64 编码、eval、动态代码生成等混淆技术
无 ~/.ssh、~/.aws、.env 等敏感路径访问
无凭证收割或 API 密钥外泄行为
无外部 IP 非常规端口的隐蔽 C2 通信
代码结构清晰,使用标准 requests 库进行合法 API 调用
API 端点指向明确的企业域名(lifeemergence.com)
subprocess 代码框架已注释,不产生实际执行