gequhai-music
Skill contains hardcoded Synology credentials and base64 obfuscation for download URLs without full disclosure in documentation, presenting significant security risks for credential exposure and unauthorized NAS access.
Synology NAS password 'Xx654321' is hardcoded in scripts/gequhai_crawler.py line 215. SKILL.md only mentions username 'xiaoai' but does not disclose the password. This exposes credentials that could be extracted and reused for unauthorized NAS access.
scripts/gequhai_crawler.py:215 为什么得出这个结论
3/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 1 项高危或严重发现。
发现 5 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
Synology password 'Xx654321' hardcoded in scripts/gequhai_crawler.py:215 - not declared in SKILL.md
Custom base64 encoding (#→H, %→S) used for high-quality download URLs - obfuscation without documented reason
Skill can execute file operations on Synology NAS at 192.168.123.223:5000
Credentials are used only for legitimate NAS access, not exfiltrated
Auto-registers to Skill Gateway at configurable URL
最关键的证据
Hardcoded Synology password not declared in documentation
Synology NAS password 'Xx654321' is hardcoded in scripts/gequhai_crawler.py line 215. SKILL.md only mentions username 'xiaoai' but does not disclose the password. This exposes credentials that could be extracted and reused for unauthorized NAS access.
scripts/gequhai_crawler.py:215 Base64 obfuscation for download URLs
The decode_modified_base64() function uses custom base64 encoding where # is replaced with H and % is replaced with S. While used for legitimate music download URLs, this obfuscation pattern is suspicious and could hide malicious payloads.
scripts/gequhai_crawler.py:52 Undeclared filesystem write capability
SKILL.md declares network capabilities but the skill also writes to local data/ directory (music_cache.json, rename_queue.json) and performs file operations on Synology NAS (rename, move files). These filesystem WRITE operations are not documented.
scripts/gequhai_crawler.py:30 Auto-registration to configurable gateway URL
The FastAPI service auto-registers to a Skill Gateway at a URL controlled by environment variable SKILL_GATEWAY_URL. While this is a common pattern, it could be abused if the environment variable is compromised.
service/main.py:135 Hardcoded local network IP address
Synology NAS IP address 192.168.123.223 is hardcoded. While this is declared in SKILL.md, hardcoded internal IPs are generally not recommended.
scripts/gequhai_crawler.py:211 声明能力 vs 实际能力
Makes HTTP requests to gequhai.com No subprocess/shell execution detected Writes to data/ directory and Synology NAS No database access 可疑产物与外联
120.0.0.0 scripts/gequhai_crawler.py:30
https://www.gequhai.com/ SKILL.md:26
https://pan.quark.cn/s/276fd9172e63 data/download_info.json:30
https://lv-sycdn.kuwo.cn/2d44367307dca6de508dc3d6437ca393/69b35b17/resource/30106/trackmedia/M500002eyjaI0NYQfW.mp3 data/download_info.json:31
https://www.gequhai.com scripts/gequhai_crawler.py:20
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| requests | >=2.32.0 | requirements.txt | 否 | Pinned minimum version |
| beautifulsoup4 | * | gequhai_crawler.py | 否 | Imported but not in requirements |
| fastapi | >=0.115.0 | requirements.txt | 否 | Pinned minimum version |
| uvicorn | >=0.32.0 | requirements.txt | 否 | Pinned minimum version |
| httpx | >=0.27.0 | requirements.txt | 否 | Pinned minimum version |
文件构成
scripts/gequhai_crawler.py service/main.py SKILL.md data/download_info.json