Skill Trust Decision

child-emotion-recognition-analysis

合法的儿童情绪识别云分析技能,所有代码执行均为云端 API 调用,subprocess 调用已全部注释禁用,核心逻辑为标准 HTTP 请求。无恶意行为发现,数据库操作用于自身身份管理而非凭证收割。存在依赖声明不完整和文档未披露本地数据库两项轻微瑕疵。

Install decision first Source: ClawHub Scanned: Aug 12, 2026
Files 29
Artifacts 10
Violations 0
Findings 3

Why this conclusion was reached

0/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

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.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

What drove the risk score up

SKILL.md 未声明本地 SQLite 数据库 +5

skill 实际使用本地 SQLite (smyx-common-claw.db) 存储用户 token 和身份信息,SKILL.md 未提及,存在阴影功能

requirements.txt 依赖声明不完整 +5

SKILL.md 仅声明 requests>=2.28.0,但代码实际依赖 pydash、SQLAlchemy、PyYAML 未写入 requirements.txt,存在 supply_chain 风险

SKILL.md 脚本调用路径与文档不一致 +3

文档声明调用 python -m scripts.child_emotion_recognition_analysis,实际入口脚本位于 skills/smyx_analysis/scripts/smyx_analysis.py,不影响安全但表明文档维护不足

subprocess 代码全部注释 +-5

AgentSkill.ai_chat() 中所有 subprocess 调用均为注释状态,为死代码不构成威胁,降低整体评分

Most important evidence

Low Doc Mismatch

SKILL.md 未声明本地 SQLite 数据库存储

技能使用本地 SQLite 数据库 (smyx-common-claw.db) 存储用户 token、username、open_id 等身份信息,数据库路径强制重定向到工作区 data 目录。SKILL.md 完全未提及此行为。数据库仅用于技能自身身份管理,token 不外传,但属于文档-行为差异。

skills/smyx_common/scripts/dao.py:60
在 SKILL.md 的资源索引或注意事项中补充说明:技能使用本地 SQLite 数据库管理用户身份和会话信息,数据库位于工作区 data 目录
Low Supply Chain

SKILL.md 依赖声明不完整

SKILL.md 前置准备仅列出 requests>=2.28.0,但 skills/smyx_analysis/requirements.txt 和 skills/smyx_common/requirements.txt 中实际还有 pydash==8.0.6、SQLAlchemy==2.0.46、PyYAML==6.0.3。依赖声明不完整可能导致安装遗漏。

SKILL.md:52
SKILL.md 前置准备章节补充完整依赖列表:requests>=2.28.0, pydash==8.0.6, SQLAlchemy==2.0.46, PyYAML==6.0.3
Info Supply Chain

requests 依赖使用通配符版本

skills/smyx_analysis/requirements.txt 中 requests 使用通配符 requests>=2.28.0(pydash、SQLAlchemy、PyYAML 则有明确版本锁定),未锁定版本存在引入兼容性问题或安全漏洞的风险。

skills/smyx_analysis/requirements.txt:1
将 requests>=2.28.0 改为 requests==2.32.3 或类似明确版本

Declared capability vs actual capability

Filesystem Pass
Declared READ
→
Inferred WRITE
scripts/child_emotion_recognition_analysis.py:58 将结果写入 --output 指定路径,dao.py:60 写入 SQLite 数据库
Network Pass
Declared READ
→
Inferred READ
skills/smyx_common/scripts/util.py:356 仅发送 HTTP POST/GET 请求到 lifeemergence.com,API 端点在 config.yaml 中明确声明
Shell Pass
Declared NONE
→
Inferred NONE
skills/smyx_common/scripts/skill.py:49-73 所有 subprocess 调用均已注释禁用,为死代码
Environment Pass
Declared NONE
→
Inferred READ
config.py:155 仅读取 OPENCLAW_SENDER_OPEN_ID/OPENCLAW_SENDER_USERNAME/FEISHU_OPEN_ID 用于身份解析,属正常内部参数传递
Database Pass
Declared NONE
→
Inferred WRITE
dao.py:60-80 使用 SQLite 本地数据库存储用户 token,无外部传输,用于自身身份管理

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 通配符版本未锁定;仅在 SKILL.md 中声明
pydash 8.0.6 pip No 在 skills/ 子目录 requirements.txt 中,未在 SKILL.md 声明
SQLAlchemy 2.0.46 pip No 在 skills/ 子目录 requirements.txt 中,未在 SKILL.md 声明
PyYAML 6.0.3 pip No 在 skills/ 子目录 requirements.txt 中,未在 SKILL.md 声明

File composition

29 files · 2604 lines
Python 18 files · 2357 linesMarkdown 3 files · 212 linesYAML 6 files · 29 linesText 2 files · 6 lines
Files of concern · 2
skills/smyx_common/scripts/dao.py Python · 499 lines
SKILL.md 未声明本地 SQLite 数据库存储
SKILL.md Markdown · 172 lines
SKILL.md 依赖声明不完整 · https://lifeemergence.com/sample.html
Other files · util.py · config.py · skill.py · smyx_analysis.py · child_emotion_recognition_analysis.py · api_service.py +4

Security positives

所有 subprocess 调用已全部注释禁用,不存在活跃的 shell 执行能力
网络请求仅指向 lifeemergence.com,API 端点在 config.yaml 中完全公开披露
未发现 base64/eval/exec/btoa/atob 等任何代码混淆或动态执行机制
未发现访问 ~/.ssh、~/.aws、.env 等敏感凭证路径的行为
未发现凭证收割+远程执行 (E2+SC2) 共现模式
数据库路径强制重定向到工作区共享 data 目录,禁止在技能目录创建私有数据库
API token 仅用于调用自身服务 API,未外传至第三方
环境变量访问仅限于明确的内部参数 (OPENCLAW_SENDER_OPEN_ID 等),不遍历搜索敏感关键字