安全决策报告

smyx-workplace-stress-heatmap-analysis

Skill contains significant undocumented behavior including silent user registration, persistent local identity tracking via SQLite database, and automatic cloud API authentication without user disclosure or consent.

安装决策优先 来源: ClawHub 扫描时间: 2026/9/13
文件 31
IOC 12
越权项 4
发现 6
最直接的威胁证据
高危 文档欺骗
Undeclared local SQLite database with user identity

The skill creates a persistent SQLite database (smyx-common-claw.db) in the workspace data/ directory that stores usernames, tokens, and open_tokens. This is not mentioned anywhere in SKILL.md.

skills/smyx_common/scripts/dao.py:102

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 4 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 12 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

报告包含 0 步攻击链,另有 3 项高危或严重发现。

复核
依赖与供应链卫生

发现 3 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

Hidden user identity management +15

OpenIdUtil creates/reads local SQLite database and auto-generates User_ identities not disclosed in SKILL.md

Silent user registration +10

RequestUtil._get_or_create_user() silently registers users at /sys/phoneLogin without disclosure

Undeclared credential persistence +10

Tokens and API keys stored in local smyx-common-claw.db database

Cloud API data exfiltration +10

Workplace video and user identity sent to external APIs (lifeemergence.com) without clear endpoint documentation

最关键的证据

高危 文档欺骗

Undeclared local SQLite database with user identity

The skill creates a persistent SQLite database (smyx-common-claw.db) in the workspace data/ directory that stores usernames, tokens, and open_tokens. This is not mentioned anywhere in SKILL.md.

skills/smyx_common/scripts/dao.py:102
Disclose local database creation and what data is stored in SKILL.md
高危 凭证窃取

Silent user registration without consent

RequestUtil._get_or_create_user() automatically registers users at the cloud API (/sys/phoneLogin) with 'silent: 1, register: 1' parameters. This happens without explicit user disclosure or consent.

skills/smyx_common/scripts/util.py:315
Disclose automatic user registration behavior or require explicit opt-in
高危 文档欺骗

Hidden identity auto-generation

OpenIdUtil auto-generates User_{6-char-hex} identities when no open-id is provided. This internal identity management is completely hidden from users.

skills/smyx_common/scripts/util.py:250
Document the identity management mechanism and allow users to control it
中危 数据外泄

Undocumented cloud API communication

The skill sends workplace video files, facial analysis data, and user identity information to external APIs at lifeemergence.com. The exact data handling policies of this third-party service are not documented.

skills/smyx_common/scripts/config.yaml:4
Document all external API endpoints and their data handling policies
中危 文档欺骗

Version mismatch between files

SKILL.md claims version 1.0.14, while _meta.json and skill-card.md both say 1.0.8. This inconsistency raises questions about documentation integrity.

SKILL.md:3
Ensure consistent version numbers across all documentation files
低危 敏感访问

Internal IP addresses in dev config

config-dev.yaml contains internal network IP addresses (192.168.1.234) which could leak network topology information if exposed.

skills/smyx_common/scripts/config-dev.yaml:2
Remove internal IP references from distributed configs

声明能力 vs 实际能力

文件系统 阻止
声明 NONE
→
推断 WRITE
dao.py:102 creates SQLite DB in workspace data/ directory
网络访问 阻止
声明 NONE
→
推断 WRITE
util.py:340 sends requests to https://lifeemergence.com with user identity data
数据库 阻止
声明 NONE
→
推断 WRITE
dao.py:47 creates sqlalchemy SQLite engine with local persistence
环境变量 阻止
声明 NONE
→
推断 READ
config.py:385 reads OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID

可疑产物与外联

中危 外部 URL
https://lifeemergence.com/sample.html

SKILL.md:34

中危 外部 URL
https://clawhub.ai/user/smyx-sunjinhui

skill-card.md:9

中危 外部 URL
https://clawhub.ai/smyx-sunjinhui/skills/smyx-workplace-stress-heatmap-analysis

skill-card.md:43

中危 外部 URL
http://192.168.1.234:9601/smyx-open-api

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

中危 外部 URL
http://192.168.1.234:4100

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

中危 外部 URL
http://192.168.1.234:7070/jeecg-boot-xzgz

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

中危 外部 URL
https://livemonitortest.lifeemergence.com/smyx-open-api

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

中危 外部 URL
http://livemonitortest.lifeemergence.com

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

中危 外部 URL
https://healthtest.lifeemergence.com/jeecg-boot-xzgz

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

中危 外部 URL
https://lifeemergence.com/jeecg-boot-xzgz

skills/smyx_common/scripts/config.yaml:4

中危 外部 URL
https://open.lifeemergence.com/smyx-open-api

skills/smyx_common/scripts/config.yaml:5

中危 外部 URL
http://livemonitor.lifeemergence.com

skills/smyx_common/scripts/config.yaml:6

依赖与供应链

包名版本来源漏洞备注
pydash 8.0.6 pip 否 Version pinned
SQLAlchemy 2.0.46 pip 否 Version pinned
PyYAML 6.0.3 pip 否 Version pinned
requests >=2.28.0 pip 否 Lower bound only, no upper bound

文件构成

31 个文件 · 2737 行
Python 18 个文件 · 2363 行Markdown 4 个文件 · 334 行YAML 6 个文件 · 29 行Text 2 个文件 · 6 行JSON 1 个文件 · 5 行
需关注文件 · 4
skills/smyx_common/scripts/util.py Python · 718 行
Silent user registration without consent · Hidden identity auto-generation
skills/smyx_common/scripts/dao.py Python · 499 行
Undeclared local SQLite database with user identity
SKILL.md Markdown · 182 行
Version mismatch between files · https://lifeemergence.com/sample.html
skill-card.md Markdown · 64 行
https://clawhub.ai/user/smyx-sunjinhui · https://clawhub.ai/smyx-sunjinhui/skills/smyx-workplace-stress-heatmap-analysis
其他文件 · config.py · skill.py · api_doc.md · smyx_analysis.py · smyx_workplace_stress_heatmap_analysis.py · api_service.py +2

安全亮点

No shell command execution or subprocess usage
No credential harvesting from environment (reads only specific env vars related to agent context)
No obfuscated code or base64 payloads
No access to ~/.ssh, ~/.aws, or other sensitive directories
Dependencies have pinned versions in requirements.txt
Video input is validated for file type and size before processing