安全决策报告
115-skills
115网盘管理工具存在可疑硬编码IP和依赖版本锁定问题,但核心功能无明显恶意行为,凭证存储使用本地加密
最直接的威胁证据
高危 IP 地址
120.0.0.0 为什么得出这个结论
1/4 个维度触发 通过
声明与实际能力
声明资源与推断能力基本一致。
阻止
隐藏执行与外联
提取到 2 个高危 IOC 或外联信号。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
硬编码私有IP在User-Agent +15
lib/auth-puppeteer.js:39 和 lib/auth.js:20 使用异常IP标识
axios依赖无版本锁定 +8
package.json中axios:^1.6.0可能引入已知漏洞
Puppeteer无头浏览器 +5
auth-puppeteer.js使用无头模式,虽声称用于扫码但行为可疑
最关键的证据
中危 文档欺骗
User-Agent包含可疑硬编码IP
lib/auth.js第20行User-Agent标识为'Mozilla/5.0 115Browser/23.9.3.2',其中版本号格式异常(23.9.3.2)疑似硬编码IP
lib/auth.js:20 使用标准浏览器User-Agent或115官方标识
中危 代码混淆
Puppeteer无头浏览器启动参数可疑
auth-puppeteer.js使用--no-sandbox和--disable-setuid-sandbox参数启动无头浏览器,虽声称用于扫码但可绕过安全限制
lib/auth-puppeteer.js:39 评估是否需要无头模式,考虑使用headful模式提高透明度
中危 供应链
axios依赖缺少版本锁定
package.json中axios使用^1.6.0版本范围,可能自动升级到存在CVE漏洞的版本
package.json:32 锁定为具体版本如[email protected]
低危 权限提升
Cookie存储路径权限设置
cookie-store.js将凭证加密存储在~/.openclaw/目录,权限设为0o600(仅所有者读写),但目录默认权限可能过宽
lib/storage/cookie-store.js:85 确保父目录~/.openclaw/权限也限制为0700
声明能力 vs 实际能力
网络访问 通过
声明 READ
→ 推断 READ
仅访问115官方API 文件系统 通过
声明 READ
→ 推断 READ
仅操作~/.openclaw/目录 环境变量 通过
声明 NONE
→ 推断 READ
cookie-store.js读取HOME环境变量用于存储路径 可疑产物与外联
高危 IP 地址
120.0.0.0 lib/auth-puppeteer.js:39
高危 IP 地址
23.9.3.2 lib/auth.js:20
中危 外部 URL
https://115.com/s/SHARE_CODE SKILL.md:148
中危 外部 URL
https://115.com/s/xxx index.js:207
中危 外部 URL
https://115.com/ lib/auth-puppeteer.js:42
中危 外部 URL
https://passport.115.com/qrcode/generate lib/auth-web.js:90
中危 外部 URL
https://passportapi.115.com lib/auth.js:13
中危 外部 URL
https://webapi.115.com lib/auth.js:14
中危 外部 URL
https://my.115.com/?ct=ajax&ac=nav lib/auth.js:250
中危 外部 URL
https://uplb.115.com lib/files/transfer.js:17
中危 外部 URL
https://lixian.115.com lib/lixian/download.js:15
中危 外部 URL
https://115.com/s/abc123 lib/share/transfer.js:23
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| axios | ^1.6.0 | npm | 是 | 无版本锁定,可能引入CVE-2024-39338等已知漏洞 |
| puppeteer | ^24.39.1 | npm | 否 | 版本锁定良好 |
| qrcode | ^1.5.3 | npm | 否 | 版本锁定良好 |
| form-data | ^4.0.0 | npm | 否 | 版本锁定良好 |
| qs | ^6.15.0 | npm | 否 | 版本锁定良好 |
文件构成
28 个文件 · 9007 行
JavaScript 26 个文件 · 8729 行Markdown 1 个文件 · 222 行JSON 1 个文件 · 56 行
需关注文件 · 2
index.js https://115.com/s/xxx
lib/share/transfer.js https://115.com/s/abc123 · https://115.com/s/abc123?password=xyzw · https://115.com/s/$
其他文件 · response-builder.js · clean-advisor.js · lixian-manager.js · history-manager.js · batch-operations.js · error-handler.js +4
安全亮点
Cookie使用AES-256-GCM本地加密存储,密钥派生函数PBKDF2使用100000次迭代
所有API请求指向115官方域名(webapi.115.com等),无第三方数据外泄
代码结构清晰,错误处理完善,无明显RCE或凭证收割行为
高危操作(登录、转存)设置disable-model-invocation,需用户显式调用
Puppeteer仅用于自动化扫码登录,功能与声明一致