face-analysis
This TCM face-analysis skill contains hardcoded database credentials, undeclared database connectivity, and hidden token management functionality not documented in SKILL.md.
The config.yaml file contains plaintext database credentials including username 'admin' and password 'Smyx2025@db' connecting to MySQL at 172.31.16.2:3306. These credentials are committed to the codebase.
skills/scripts/common/config.yaml:4 为什么得出这个结论
3/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 2 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 4 项高危或严重发现。
发现 3 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
config.yaml contains mysql://admin:Smyx2025@[email protected]:3306 with plaintext password
dao.py implements SQLAlchemy CRUD operations on sys_user table storing tokens - not mentioned in SKILL.md
config.yaml line 15 contains feishu-app--secret: zYJMyYcB4kIF5uPCwFACBdmvbr3JkK8r
User model stores token and open_token fields with no encryption
最关键的证据
Hardcoded Database Credentials in config.yaml
The config.yaml file contains plaintext database credentials including username 'admin' and password 'Smyx2025@db' connecting to MySQL at 172.31.16.2:3306. These credentials are committed to the codebase.
skills/scripts/common/config.yaml:4 Hardcoded Feishu App Secret
The Feishu (Lark) application secret 'zYJMyYcB4kIF5uPCwFACBdmvbr3JkK8r' is hardcoded in config.yaml. This secret can be used to authenticate with Feishu APIs.
skills/scripts/common/config.yaml:15 Undeclared Database Connectivity and Token Management
The skill SKILL.md only documents video face analysis, but the actual code implements full CRUD operations on a 'sys_user' database table that stores user tokens and open_tokens. This functionality is completely hidden from documentation.
skills/scripts/common/dao.py:54 Database Passwords in Test/Dev Configs with Special Characters
config-test.yaml and config-dev.yaml contain database credentials 'remoteuser:qA{tov-89atz0>opvim&!)[email protected]:3306' which may indicate password complexity but credentials are still hardcoded.
skills/scripts/common/config-test.yaml:1 Environment Variable Reading for User Identification
The code reads OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, and FEISHU_OPEN_ID from environment variables for user identification, which is legitimate but worth noting for audit purposes.
skills/scripts/common/config.py:195 声明能力 vs 实际能力
scripts/face_analysis.py - file upload via multipart/form-data skills/scripts/common/dao.py:45 - database WRITE to MySQL server skills/scripts/common/dao.py:54-180 - Full CRUD operations on sys_user table 可疑产物与外联
API_KEY = "your-api-key-here" README.md:11
172.31.16.2 skills/scripts/common/config.yaml:4
https://your-api-server.com/api/v1/face-analysis README.md:10
http://livemonitortest.lifeemergence.com/smyx-open-api skills/scripts/common/config-dev.yaml:4
https://healthtest.lifeemergence.com/jeecg-boot skills/scripts/common/config-dev.yaml:5
http://192.168.1.234:8080/jeecg-boot skills/scripts/common/config-dev.yaml:6
https://open.lifeemergence.com/smyx-open-api skills/scripts/common/config.yaml:5
https://lifeemergence.com/jeecg-boot skills/scripts/common/config.yaml:6
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| requests | 2.32.5 | pip | 否 | Version pinned - good practice |
| sqlalchemy | 2.0.46 | pip | 否 | Version pinned - good practice |
| pymysql | 1.1.2 | pip | 否 | Version pinned - good practice |
| cryptography | 3.4.8 | pip | 否 | Version not latest but stable release |
文件构成
skills/scripts/common/dao.py skills/scripts/common/config.py README.md