smyx-adult-facial-fatigue-stress-index-analysis
合法面部疲劳/压力分析技能,核心功能清晰,无恶意代码,但存在未声明的系统交互行为(环境变量读取、自动身份创建)。
为什么得出这个结论
1/4 个维度触发发现 4 项声明之外的能力或越权行为。
提取到 12 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
代码读取 OPENCLAW_SENDER_OPEN_ID / OPENCLAW_SENDER_USERNAME / FEISHU_OPEN_ID,但 SKILL.md 未声明
OpenIdUtil 自动生成 User_xxxxxx 并写入 SQLite 数据库,SKILL.md 未提及
支持读写 data/smyx-api-key.txt 存储内部标识,行为未在文档说明
requirements.txt 有明确版本约束(pydash==8.0.6, SQLAlchemy==2.0.46),降低供应链风险
最关键的证据
未声明的环境变量读取行为
SKILL.md 完全未提及代码会读取 OPENCLAW_SENDER_OPEN_ID、OPENCLAW_SENDER_USERNAME、FEISHU_OPEN_ID 等环境变量,用于自动初始化用户身份。
skills/smyx_common/scripts/config.py:91 未声明的自动身份创建与数据库持久化
OpenIdUtil 在未找到身份时会自动生成 User_xxxxxx 格式用户名(6位随机哈希),创建 SQLite 记录并存入 smyx-common-claw.db,这是影子功能。
skills/smyx_common/scripts/util.py:275 未声明的内部凭证文件读写
代码支持读写 data/smyx-api-key.txt 存储内部 API 标识,并在数据库中保存 token/open_token,SKILL.md 未提及此持久化存储机制。
skills/smyx_common/scripts/util.py:230 Agent 工作区感知功能
AgentContextUtil 自动检测当前 Agent 工作区根目录,用于决定数据库存放路径,代码有详细的路径重定向逻辑确保隔离。
skills/smyx_common/scripts/util.py:158 声明能力 vs 实际能力
scripts/smyx_adult_facial_fatigue_stress_index_analysis.py:62 写入结果文件 skills/smyx_common/scripts/util.py:217 requests.request() 调用外部 API skills/smyx_common/scripts/dao.py:91 SQLite 数据库写入用户标识 skills/smyx_common/scripts/config.py:91-96 读取 OPENCLAW/FEISHU 环境变量 skills/smyx_common/scripts/skill.py:44 subprocess 调用已被注释,不执行 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:34
https://clawhub.ai/user/smyx-sunjinhui skill-card.md:9
https://clawhub.ai/smyx-sunjinhui/skills/smyx-adult-facial-fatigue-stress-index-analysis skill-card.md:40
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
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| requests | >=2.28.0 | pip | 否 | 仅声明最低版本,无版本锁定 |
| pydash | 8.0.6 | pip | 否 | 版本锁定 |
| SQLAlchemy | 2.0.46 | pip | 否 | 版本锁定 |
| PyYAML | 6.0.3 | pip | 否 | 版本锁定 |
文件构成
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/config.py SKILL.md skill-card.md