Skill Trust Decision

elderly-fall-detection-analysis

发现阴影功能风险:subprocess远程执行代码存在但被注释,存在文档-行为不一致;凭证管理涉及内部标识读写但未外泄;整体功能正常但代码结构存在潜在恶意利用空间。

Install decision first Source: ClawHub Scanned: 24 days ago
Files 29
Artifacts 10
Violations 3
Findings 4
Most direct threat evidence
01
用户安装elderly-fall-detection-analysis技能 Entry · SKILL.md
02
攻击者利用注释的subprocess代码框架激活远程命令执行 Escalation · skills/smyx_common/scripts/skill.py
03
通过openclaw agent执行任意系统命令完成权限提升 Impact · skills/smyx_common/scripts/skill.py

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

3 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

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

Block
Attack chain and severe findings

The report includes 3 attack-chain steps and 1 severe findings.

Review
Dependencies and supply chain hygiene

4 dependency or supply-chain issues need attention.

Attack Chain

01
用户安装elderly-fall-detection-analysis技能

Entry · SKILL.md:1

02
攻击者利用注释的subprocess代码框架激活远程命令执行

Escalation · skills/smyx_common/scripts/skill.py:40

03
通过openclaw agent执行任意系统命令完成权限提升

Impact · skills/smyx_common/scripts/skill.py:45

What drove the risk score up

阴影功能-注释的远程执行代码 +25

skills/smyx_common/scripts/skill.py:40-60存在注释掉的subprocess.run(cmd)调用框架,可通过取消注释激活远程命令执行

内部身份标识管理 +10

OpenIdUtil自动生成User_xxxxxx标识并持久化到本地SQLite,存在内部标识泄露风险但未主动外传

外部API端点依赖 +10

依赖lifeemergence.com系列外部服务,API地址硬编码在yaml配置中,无法验证服务端可信性

Most important evidence

High Doc Mismatch

注释代码中存在未声明的远程执行能力

skills/smyx_common/scripts/skill.py的AgentSkill.ai_chat方法包含完整的subprocess.run(cmd)调用框架,当前被注释但可随时激活,SKILL.md未声明此shell执行能力

skills/smyx_common/scripts/skill.py:40
删除注释中的subprocess调用代码,或在SKILL.md中明确声明允许调用openclaw agent命令
Medium Credential Theft

内部用户标识自动生成与持久化

OpenIdUtil自动生成User_xxxxxx格式的内部标识并存储到本地SQLite数据库,该标识作为API认证凭证使用,虽未外传但存在内部标识泄露风险

skills/smyx_common/scripts/util.py:248
明确内部标识的安全边界,考虑加密存储或限制访问权限
Medium Supply Chain

依赖包版本未锁定

requirements.txt使用pydash==8.0.6、SQLAlchemy==2.0.46等固定版本,但requests依赖在顶层SKILL.md声明为requests>=2.28.0,存在供应链风险

SKILL.md:61
统一锁定所有依赖版本,使用pip freeze生成完整依赖清单
Low Priv Escalation

环境变量读取未声明

config.py读取OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID等环境变量,影响API认证行为但SKILL.md未声明

skills/smyx_common/scripts/config.py:65
在文档中声明依赖的环境变量及其用途

Declared capability vs actual capability

Filesystem Pass
Declared READ
→
Inferred READ
scripts/elderly_fall_detection_analysis.py:45 读取本地图片/视频文件
Network Pass
Declared READ
→
Inferred READ
skills/smyx_common/scripts/util.py:310 通过requests调用外部API
Shell Block
Declared NONE
→
Inferred WRITE
skills/smyx_common/scripts/skill.py:40 注释的subprocess.run(cmd)框架可激活shell:WRITE
Database Block
Declared NONE
→
Inferred WRITE
skills/smyx_common/scripts/dao.py:61 创建SQLite数据库smyx-common-claw.db
Environment Block
Declared NONE
→
Inferred READ
skills/smyx_common/scripts/config.py:65-71 读取OPENCLAW_SENDER_OPEN_ID等环境变量

Suspicious artifacts and egress

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

SKILL.md:33

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
requests >=2.28.0 pip No 顶层依赖,版本未锁定
pydash 8.0.6 pip No 固定版本
SQLAlchemy 2.0.46 pip No 固定版本
PyYAML 6.0.3 pip No 固定版本

File composition

29 files · 2606 lines
Python 18 files · 2357 linesMarkdown 3 files · 214 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/config.py Python · 399 lines
环境变量读取未声明
SKILL.md Markdown · 174 lines
依赖包版本未锁定 · https://lifeemergence.com/sample.html
skills/smyx_common/scripts/skill.py Python · 85 lines
注释代码中存在未声明的远程执行能力
Other files · dao.py · skill.py · smyx_analysis.py · elderly_fall_detection_analysis.py · api_service.py · api_service.py +2

Security positives

代码结构清晰,主要功能为图像分析,无明显恶意代码模式
数据库操作使用工作区data目录隔离,符合沙箱规范
API凭证存储在本地文件而非硬编码,安全性较好
未发现base64编码执行、裸IP请求、eval()动态代码执行等高危模式
外部API端点为知名域名(lifeemergence.com),非可疑IP或C2服务器