sql_audit
The skill contains hardcoded credentials and undeclared external network communication to a static IP, but implements legitimate SQL audit functionality without evidence of malicious data exfiltration.
A default JWT authentication token is hardcoded in _get_gemini_config() function. This token appears to contain base64-encoded user credentials (admin user). If this token is a real credential, it should be stored in environment variables only.
sql_audit.py:657 为什么得出这个结论
3/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 2 项高危或严重发现。
发现 3 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
47.77.199.56 hardcoded as default Gemini API endpoint in _get_gemini_config()
_default_token hardcoded in sql_audit.py:657-666, contains base64-encoded credential data
SKILL.md does not mention external API calls or the hardcoded IP fallback
index.js spawns Python subprocess, but documented as expected behavior
最关键的证据
Hardcoded JWT token in source code
A default JWT authentication token is hardcoded in _get_gemini_config() function. This token appears to contain base64-encoded user credentials (admin user). If this token is a real credential, it should be stored in environment variables only.
sql_audit.py:657 Undeclared external IP address for API calls
The skill makes HTTP requests to a hardcoded IP address (47.77.199.56) for Gemini API calls, but this is not mentioned in SKILL.md. Users cannot verify where their data is being sent.
sql_audit.py:649 Undeclared shell subprocess execution
index.js uses Node.js spawn() to invoke Python interpreter, which is a form of shell execution. While this is common for skill runners, it is not declared in SKILL.md.
index.js:98 声明能力 vs 实际能力
SKILL.md: Reads sql_output.json, writes audit_output.json sql_audit.py:649 — undeclared external HTTP calls to 47.77.199.56 index.js:spawn() spawns Python subprocess Executes real SQL on StarRocks, returns results 可疑产物与外联
47.77.199.56 sql_audit.py:649
http://47.77.199.56/api/v1beta sql_audit.py:649
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| httpx | unpinned | pip | 否 | No version pinning |
| pymysql | unpinned | pip | 否 | No version pinning |
| python-dotenv | unpinned | pip | 否 | No version pinning |
文件构成
sql_audit.py index.js