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 Why this conclusion was reached
3/4 dimensions flagged1 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
The report includes 0 attack-chain steps and 1 severe findings.
5 dependency or supply-chain issues need attention.
What drove the risk score up
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
Most important evidence
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 Declared capability vs actual capability
Makes HTTP requests to gequhai.com No subprocess/shell execution detected Writes to data/ directory and Synology NAS No database access Suspicious artifacts and egress
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
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| requests | >=2.32.0 | requirements.txt | No | Pinned minimum version |
| beautifulsoup4 | * | gequhai_crawler.py | No | Imported but not in requirements |
| fastapi | >=0.115.0 | requirements.txt | No | Pinned minimum version |
| uvicorn | >=0.32.0 | requirements.txt | No | Pinned minimum version |
| httpx | >=0.27.0 | requirements.txt | No | Pinned minimum version |
File composition
scripts/gequhai_crawler.py service/main.py SKILL.md data/download_info.json