smyx-fish-surface-symptom-detection-analysis
Skill performs legitimate fish health analysis but contains undeclared local SQLite database storage of user credentials and silent identity creation that exceeds documented behavior.
为什么得出这个结论
1/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 12 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
发现 4 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
SKILL.md does not mention SQLite storage of tokens, open_token, and user data at data/smyx-common-claw.db
OpenIdUtil automatically generates User_xxxxxx accounts without user knowledge or consent
data/smyx-api-key.txt stores identity values not mentioned in documentation
requests>=2.28.0 and pydash==8.0.6 lack strict version pins
最关键的证据
Undeclared local SQLite database with credential storage
The skill creates a local SQLite database (data/smyx-common-claw.db) that stores user credentials including username, token, open_token, source, and timestamps. This is not mentioned in SKILL.md.
skills/smyx_common/scripts/dao.py:179 Silent auto-creation of synthetic user identities
OpenIdUtil.get_or_create_default_open_id() automatically generates User_xxxxxx identifiers without user knowledge, stores them in the local database, and reuses them across sessions. SKILL.md only states 'system handles identity internally' without explaining this mechanism.
skills/smyx_common/scripts/util.py:230 Undeclared API key file persistence
The skill reads/writes identity values to data/smyx-api-key.txt without mentioning this in documentation. This file can contain sensitive identifiers.
skills/smyx_common/scripts/util.py:212 Unpinned dependency versions
SKILL.md declares requests>=2.28.0 (loose), while requirements.txt pins pydash==8.0.6 and SQLAlchemy==2.0.46. Loose pinning allows supply chain attacks via version escalation.
SKILL.md:1 声明能力 vs 实际能力
dao.py:179 - creates SQLite DB in workspace data/ RequestUtil sends HTTP to lifeemergence.com dao.py:179 - UserDao stores tokens in SQLite config.py:76 - reads OPENCLAW_SENDER_OPEN_ID, FEISHU_OPEN_ID 可疑产物与外联
https://lifeemergence.com/sample.html SKILL.md:34
https://clawhub.ai/user/18072937735 skill-card.md:9
https://clawhub.ai/18072937735/skills/smyx-fish-surface-symptom-detection-analysis skill-card.md:42
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 (SKILL.md) | 否 | Loose version pinning allows potential supply chain attack |
| pydash | 8.0.6 | requirements.txt | 否 | Strictly pinned |
| SQLAlchemy | 2.0.46 | requirements.txt | 否 | Strictly pinned |
| PyYAML | 6.0.3 | requirements.txt | 否 | Strictly pinned |
文件构成
skills/smyx_common/scripts/util.py skills/smyx_common/scripts/dao.py SKILL.md skill-card.md