yqzl-ai-service
云启智联AI服务技能将用户财务票据(银行回单、发票等)发送至硬编码IP服务器,存在数据外泄风险。自动升级机制可被利用进行供应链攻击,API Key加密方案强度不足。
为什么得出这个结论
3/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 6 步攻击链,另有 2 项高危或严重发现。
发现 2 项需要关注的依赖或供应链线索。
攻击链
初始入口 · SKILL.md:1
权限提升 · scripts/api_client.py:138
最终危害 · scripts/api_client.py:173
最终危害 · 外部服务器
权限提升 · scripts/updater.py:97
最终危害 · 外部服务器
风险分是怎么被拉高的
SKILL.md:3等多处硬编码 8.135.62.13:5000,无域名,声称合法服务但使用裸IP可疑
用户银行回单、发票等敏感财务文件通过 POST 请求发送至外部IP,无明确数据保护声明
updater.py 支持从远程下载并覆盖当前技能文件,无代码签名验证
config_manager.py 使用 machine_id 派生密钥,攻击者若知机器信息可解密
requests、cryptography 库无版本约束,存在供应链风险
最关键的证据
财务票据数据发送至外部IP
用户上传的银行回单、发票、对账单等敏感财务文件通过 POST 请求发送至硬编码IP 8.135.62.13:5000。SKILL.md未明确说明数据流向和保护措施,财务数据外泄风险高。
scripts/api_client.py:24 自动升级机制无代码签名验证
updater.py 从 ClawHub 下载 ZIP 包并直接解压覆盖当前技能文件,未验证签名或哈希。攻击者若入侵下载源或中间人攻击可植入恶意代码。
scripts/updater.py:97 API Key加密方案依赖机器信息
config_manager.py 使用 platform.node() 和 getpass.getuser() 派生加密密钥。攻击者若获取机器名和用户名可本地解密 API Key。
scripts/config_manager.py:38 硬编码IP替代域名不合常规
SKILL.md 多次出现硬编码IP 8.135.62.13 而非域名。合法商业服务通常使用域名便于维护和 CDN 加速,裸IP常见于临时或规避检测场景。
SKILL.md:3 第三方依赖无版本锁定
requirements.txt 或依赖声明中 requests、cryptography 等库无版本约束,可能引入恶意或漏洞版本。
scripts/api_client.py:14 声明能力 vs 实际能力
scripts/updater.py:104 shutil.copytree 覆盖技能目录文件 scripts/api_client.py:24 所有接口调用 POST 到 8.135.62.13:5000 未发现直接 shell 执行 可疑产物与外联
8.135.62.13 SKILL.md:3
http://8.135.62.13:5000/AIService/experience/page SKILL.md:3
http://8.135.62.13:5000/ SKILL.md:67
http://8.135.62.13:5000/AIService backup/v1.0.0_20260612_180227/scripts/api_client.py:25
http://8.135.62.13:5000/static/skills/yqzl-ai-service/latest.json backup/v1.0.0_20260612_180227/scripts/updater.py:26
https://wry-manatee-359.convex.site/api/v1/download?slug=yqzl-ai-service scripts/updater.py:26
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| requests | * | pip | 否 | 无版本锁定 |
| cryptography | * | pip | 否 | 无版本锁定 |
文件构成
scripts/api_client.py SKILL.md scripts/updater.py backup/v1.0.0_20260612_180227/scripts/updater.py backup/v1.0.0_20260612_180227/scripts/api_client.py scripts/config_manager.py