Skill Trust Decision

smyx-elderly-gait-instability-detection-analysis

合法的老年人步态视频分析技能,代码结构清晰但存在隐私相关风险(静默身份创建、数据外传、凭证本地存储)

Install decision first Source: ClawHub Scanned: Sep 22, 2026
Files 30
Artifacts 12
Violations 1
Findings 5

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

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

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

What drove the risk score up

静默身份创建与存储 +10

OpenIdUtil 自动生成 User_xxxx 身份并存储到本地 SQLite 数据库

外部数据外传 +10

视频数据和用户信息通过 HTTPS POST 到外部 API (lifeemergence.com)

凭证本地存储 +5

token/open_token 存储在 smyx-common-claw.db 中

Most important evidence

Low Sensitive Access

静默身份创建机制

OpenIdUtil.resolve_current_open_id() 在用户不知情时自动创建本地身份(User_xxxxxx 格式),并存储到 SQLite 数据库。代码逻辑:优先读取 data/smyx-api-key.txt → 查询本地数据库首个默认用户 → 不存在则生成新用户并持久化。

skills/smyx_common/scripts/util.py:293
确保用户知情并同意自动身份创建行为
Low Data Exfil

视频分析数据外传

用户上传的步态视频(可能含敏感健康信息)通过 HTTPS POST 发送到外部 API (lifeemergence.com 相关域名)。SKILL.md 声明了隐私合规要求但未明确说明数据流向。

skills/smyx_common/scripts/config.yaml:4
在 SKILL.md 中明确披露所有外部数据接收方
Low Credential Theft

认证凭证本地持久化

User 模型存储 token 和 open_token 到本地 SQLite 数据库 smyx-common-claw.db。虽然凭证用于 API 认证,但如果数据库文件被窃取可能导致账户接管。

skills/smyx_common/scripts/dao.py:67
使用系统密钥链替代明文存储,或使用临时凭证
Info Supply Chain

subprocess 调用已注释

AgentSkill.ai_chat() 方法中构建了 subprocess 调用 openclaw agent 命令的逻辑(cmd 数组和 subprocess.run),但均被注释掉。当前代码不会执行任意命令。

skills/smyx_common/scripts/skill.py:35
如非必要功能,建议彻底删除被注释的代码
Info Sensitive Access

环境变量读取

ConstantEnum.init() 读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等环境变量用于身份解析。

skills/smyx_common/scripts/config.py:150
确保环境变量来源可信,无敏感信息泄露

Declared capability vs actual capability

Filesystem Pass
Declared NONE
→
Inferred READ
scripts/smyx_analysis.py:89 读取本地视频文件
Network Pass
Declared READ
→
Inferred WRITE
SKILL.md 声明使用网络 URL 输入;实际代码发送数据到外部 API
Environment Block
Declared NONE
→
Inferred READ
config.py:150 读取 OPENCLAW_SENDER_OPEN_ID/OPENCLAW_SENDER_USERNAME

Suspicious artifacts and egress

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

SKILL.md:34

Medium External URL
https://clawhub.ai/user/smyx-sunjinhui

skill-card.md:9

Medium External URL
https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-gait-instability-detection-analysis

skill-card.md:41

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 有版本锁定
requests * pip No SKILL.md 声明 requests>=2.28.0,但实际 requirements.txt 未锁定版本

File composition

30 files · 2714 lines
Python 18 files · 2363 linesMarkdown 4 files · 316 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 6
skills/smyx_common/scripts/util.py Python · 718 lines
静默身份创建机制
skills/smyx_common/scripts/config.py Python · 399 lines
环境变量读取
skills/smyx_common/scripts/dao.py Python · 499 lines
认证凭证本地持久化
SKILL.md Markdown · 182 lines
https://lifeemergence.com/sample.html
skill-card.md Markdown · 60 lines
https://clawhub.ai/user/smyx-sunjinhui · https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-gait-instability-detection-analysis
skills/smyx_common/scripts/skill.py Python · 85 lines
subprocess 调用已注释
Other files · skill.py · smyx_analysis.py · smyx_elderly_gait_instability_detection_analysis.py · api_service.py · api_doc.md · api_service.py

Security positives

代码结构清晰,模块化设计良好
依赖包有版本锁定(pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3)
无 base64 编码执行、eval()、裸 IP 请求等高危模式
subprocess 远程执行代码已被注释,不会执行
SQLAlchemy ORM 防止 SQL 注入
文件路径验证逻辑(_validate_file 函数)
数据库路径重定向机制防止污染主工作区