smyx-workplace-stress-heatmap-analysis
职场压力热力图技能,声明为纯分析工具,但代码存在多处未声明行为:本地 SQLite 数据库持久化存储用户凭证和个人信息、自动注册/登录外部 API 服务、向外部域名发送视频数据和用户身份、读取 Agent 工作区环境变量进行身份解析、依赖无版本锁定。文档-行为差异明显,构成 shadow capability。
Why this conclusion was reached
2/4 dimensions flagged4 undeclared or violating capabilities were inferred.
10 lower-risk artifacts were extracted and still need context.
The report includes 5 attack-chain steps and 4 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
Entry · SKILL.md:1
Escalation · skills/smyx_common/scripts/util.py:280
Escalation · skills/smyx_common/scripts/util.py:200
Escalation · skills/smyx_common/scripts/util.py:230
Impact · skills/smyx_common/scripts/config.yaml:4
What drove the risk score up
dao.py 在 Agent 工作区 data/ 目录创建 smyx-common-claw.db,存储 username/realname/email/birthday/token/open_token 等敏感字段,SKILL.md 未声明
视频文件、用户身份(open_id/username/tenant_code)POST 到 lifeemergence.com,SKILL.md 仅描述分析能力未披露网络通信范围
util.py OpenIdUtil 自动调用 sys/phoneLogin 注册用户,SKILL.md 未提及自动身份创建行为
config.py 从 os.environ 读取 OPENCLAW_SENDER_OPEN_ID/OPENCLAW_SENDER_USERNAME/FEISHU_OPEN_ID,SKILL.md 未声明
util.py AgentContextUtil 扫描文件系统检测工作区结构,SKILL.md 未声明 filesystem:READ 越权行为
requirements.txt 使用 pydash>=8.0.6 等宽泛版本范围,存在供应链风险
Most important evidence
本地 SQLite 数据库存储敏感用户凭证和个人信息
dao.py 创建 smyx-common-claw.db,在 sys_user 表中存储 username、realname、email、birthday、token、open_token 等敏感字段。数据库位于 Agent 工作区 data/ 目录,可被同一工作区其他技能访问。SKILL.md 未声明 database 能力。
skills/smyx_common/scripts/dao.py:56 向外部 API 发送视频数据和用户凭证,未在文档中披露
RequestUtil.http_request() 将视频文件、open_id、username、tenant_code、token 等数据 POST 到外部域名 lifeemergence.com 和 open.lifeemergence.com。SKILL.md 仅描述本地分析功能,未披露外部数据传输行为。
skills/smyx_common/scripts/util.py:230 自动用户注册/登录行为未披露
当 TOKEN 或 OPEN_TOKEN 为空时,OpenIdUtil.resolve_current_open_id() 自动调用 /sys/phoneLogin 接口,以 auto-generate 的 username (User_xxxxxx 格式) 静默注册并登录外部服务。SKILL.md 未声明自动身份创建功能。
skills/smyx_common/scripts/util.py:200 读取 Agent 工作区环境变量进行身份推断
config.py 从 os.environ 读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等 Agent 内部变量,用于解析用户身份。SKILL.md 未声明 environment:READ 能力。
skills/smyx_common/scripts/config.py:108 Agent 工作区文件系统结构扫描
AgentContextUtil.detect_current_agent_workspace() 通过扫描 __file__ 路径和 skills/ 目录标记来推断 Agent 工作区结构,提取 agent_id 等敏感信息。SKILL.md 未声明 filesystem:READ 越权行为。
skills/smyx_common/scripts/util.py:80 依赖包无版本锁定
skills/smyx_analysis/requirements.txt 和 smyx_common/requirements.txt 使用 pydash==8.0.6(精确锁定),但项目依赖 requests>=2.28.0、SQLAlchemy==2.0.46(精确锁定)、PyYAML==6.0.3(精确锁定)。requests 包未锁定版本,可能引入已知漏洞。
skills/smyx_analysis/requirements.txt:1 多个 config.yaml 配置文件混用,外部 URL 目标不透明
存在 config.yaml(生产)、config-dev.yaml、config-test.yaml 三个配置,分别指向 lifeemergence.com、192.168.1.234(内网 IP)、livemonitortest.lifeemergence.com 等不同环境。SKILL.md 仅声明公网地址,dev 配置暴露内网 IP 地址,且配置通过 env 参数动态加载,行为不透明。
skills/smyx_common/scripts/config-dev.yaml:2 SKILL.md 中外部演示链接指向未验证域名
SKILL.md 第 34 行引用 https://lifeemergence.com/sample.html 作为技能演示链接,该域名未在代码中实际使用,但作为信任建立手段。
SKILL.md:34 Declared capability vs actual capability
util.py:220-250 code dao.py:56-160 code dao.py:80-155 code; smyx_workplace_stress_heatmap_analysis.py:56-63 code config.py:108-113 code SKILL.md declares python -m scripts invocation Suspicious artifacts and egress
https://lifeemergence.com/sample.html SKILL.md:34
http://192.168.1.234:9601/smyx-open-api skills/smyx_common/scripts/config-dev.yaml:2
http://192.168.1.234:4100 skills/smyx_common/scripts/config-dev.yaml:3
http://192.168.1.234:7070/jeecg-boot-xzgz skills/smyx_common/scripts/config-dev.yaml:4
https://livemonitortest.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config-test.yaml:2
http://livemonitortest.lifeemergence.com skills/smyx_common/scripts/config-test.yaml:3
https://healthtest.lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config-test.yaml:4
https://lifeemergence.com/jeecg-boot-xzgz skills/smyx_common/scripts/config.yaml:4
https://open.lifeemergence.com/smyx-open-api skills/smyx_common/scripts/config.yaml:5
http://livemonitor.lifeemergence.com skills/smyx_common/scripts/config.yaml:6
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| requests | >=2.28.0 | pip (inherited) | Yes | 无版本锁定,需升级至 2.32.x 防范已知漏洞 |
| pydash | 8.0.6 | pip | No | 精确锁定 |
| SQLAlchemy | 2.0.46 | pip | No | 精确锁定 |
| PyYAML | 6.0.3 | pip | No | 精确锁定 |
File composition
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/config.py skills/smyx_common/scripts/dao.py SKILL.md