敏感权限插件审阅 — 导入前看清它要什么能力
为什么需要审阅
BiliPai 的插件系统设计原则是:插件能力越大,风险越高。内置插件是官方写的,信任度最高;JSON 规则插件可以由任何用户编写并在社区分享,信任度取决于分享者和规则内容本身。
BiliPai 在导入 JSON 规则插件时,会自动解析规则里声明的 capabilities 字段,并提示你哪些是敏感权限。你必须确认后才能启用。
敏感能力清单
| 能力标识 | 含义 | 风险等级 | 建议 |
|---|---|---|---|
NETWORK | 插件可以发起网络请求 | 中 | 确认网络请求的目标域名可信 |
LOCAL_HISTORY_READ | 插件可以读取你的本地播放历史 | 中 | 确认它只在本地处理不上传 |
LOCAL_FEEDBACK_READ | 插件可以读取你的本地收藏、稍后再看 | 中 | 同上 |
LOCAL_SETTINGS_WRITE | 插件可以修改你的设置 | 高 | 非常谨慎,确认是你想要的 |
PLAYER_CONTROL | 插件可以控制播放器(倍速、暂停、跳转) | 低 | 一般没问题 |
FEED_FILTER | 插件可以过滤推荐流 | 低 | 只影响显示,不上传数据 |
DANMAKU_FILTER | 插件可以过滤弹幕 | 低 | 只影响显示 |
COOKIE_READ | 插件可以读取你的登录 Cookie | 极高 | 必须非常谨慎,Cookie 可以代替你操作账号 |
UI_OVERLAY | 插件可以在界面上悬浮显示 | 低 | 类似弹幕叠加 |
导入前怎么看
当你从 URL 导入一个 JSON 规则插件时,BiliPai 会显示一个"权限审阅"页面:
插件:XX 规则包
版本:1.3.2
作者:某某
描述:XXX
声明的能力:
⚠️ LOCAL_HISTORY_READ — 读取本地播放历史
⚠️ NETWORK — 网络请求到 https://example.com/api
✅ FEED_FILTER — 过滤推荐流
---
[取消] [确认启用]
重点关注标 ⚠️ 的那些——它们是敏感能力。如果出现 COOKIE_READ 或 LOCAL_SETTINGS_WRITE,默认建议不要启用,除非你完全信任插件作者。
如何判断一个插件是否可信
| 可信信号 | 危险信号 |
|---|---|
| 作者有 GitHub 账号且持续活跃 | 作者只有匿名 ID 或新注册 |
| 规则被社区广泛分享和验证 | 只有极少数人用过 |
capabilities 声明和实际功能匹配(比如推荐流过滤只需要 FEED_FILTER) | 声明的能力看起来和功能不匹配(比如弹幕过滤却要 NETWORK) |
| 规则内容你能读懂或有人审阅过 | 大量加密字符串或混淆后的代码 |
| 官方 Telegram 群推荐 | 来自不知名来源或诱导点击 |
安全原则
原则一:最小权限
一个弹幕过滤插件只应该要 DANMAKU_FILTER 能力,不应该要 NETWORK 或 COOKIE_READ。如果一个简单的过滤插件声明了太多能力,就有问题。
原则二:能本地处理就不上传
一个推荐流过滤插件可以在本地对拉取到的视频列表做规则匹配,完全不需要网络请求。如果它声明了 NETWORK 并且上传到外部服务器,就要警惕——你的推荐流偏好可能被收集。
原则三:Cookie 绝不外泄
COOKIE_READ 是最敏感的权限——Cookie 就是你的登录凭证,拿到 Cookie 就能代替你在 B 站网页上操作(发评论、关注、甚至修改密码)。任何声明了 COOKIE_READ 的插件都需要极度谨慎。
BiliPai 对插件的保护
BiliPai 框架层面做了几道保护:
- 权限必须显式声明:插件必须在 JSON 里写清楚 capabilities,不能偷偷加
- 用户明确授权:导入时必须确认授权,不会自动同意
- 敏感能力单独提示:高风险能力用红色感叹号突出显示
- 规则可随时停用:发现异常可以一键停用,不需要卸载整个 App
发现可疑插件怎么办
如果你已经启用了某个插件后觉得不对劲:
- 立即停用:插件中心 → 找到该插件 → 关闭开关
- 检查数据泄露:如果你之前授权过
COOKIE_READ,建议在 B 站安全中心修改密码并强制下线所有设备 - 向社区举报:在 Telegram 群组或 GitHub Issues 里说明情况,让其他用户警惕
总结
JSON 规则插件极大地扩展了 BiliPai 的能力边界,但"能力越大责任越大"。保持警惕、按需授权、最小权限——这三条原则能让你在享受插件便利的同时保持安全。
插件扩展组到这里 5 页完结。下一组是 BiliPai 的另一个特色:大屏适配。