标题: 考虑对网页插件外链JS进行代码安全审核
时间: 2022-07-28发布,2022-07-28修改
为了防止插件作者通过更新外链JS的内容来插入恶意代码,现考虑对外链JS进行内容审核。
考虑采用的审核方法:
因为网页插件代码不同于普通帖子内容,所以考虑招募专门的代码审核员进行审核。代码审核员需要对JavaScript较为熟悉,能够对网页插件中的恶意代码有所警觉。
要求所有插件仅可将外链JS存放于网页插件自定义数据中:
https://hu60.cn/q.php/addin.webplug.data.html
如果插件要引用公共JS库,只能从知名公共CDN域名引用;也可以把库里的JS放进网页插件自定义数据里,或者上传到虎绿林附件存储。但外链JS不得托管在作者自己的网站,或者任何其他可由作者自行修改代码的地方(比如Github)。
要求网页插件不得对代码进行混淆或加密。如果代码主要逻辑无法阅读,将不予通过审核。
对上传到虎绿林附件存储或插件自定义数据中的公共JS库,代码审核员可将其与官方发布的原版进行比较,以防插件作者偷偷插入恶意代码。
编辑含有网页插件的帖子或回复时,如果插件代码发生更改,则需要代码审核员进行审核。
网页插件自定义数据中以public_
开头的公共数据,需要由代码审核员审核后才能被其他用户使用。如果未经审核则只有作者才能看到。如果代码更新,新版本未经审核,则其他用户只能看到旧版本。
考虑对网页插件添加历史记录功能,以便代码审核员进行审核。审核控件可能会显示代码差异视图(diff)。
网页插件审核界面将独立于帖子审核界面,审核内容可能只有代码,点击链接才会跳转到来源帖子。
『回复列表(24|隐藏机器人聊天)』
文件太多,又没公共的CDN,或公共CDN被墙咋办
例如这个插件,公共CDN有vditor的index.js和index.css,但没有zh_CN.js
和lute.min.js
。配置里也没找到能单独配置这两个文件的配置
[网插]Vditor Markdown 编辑器 - 网页插件 - 论坛 (hu60.cn)