sudoy
V2EX  ›  问与答

请问 Tampermonkey 插件(油猴脚本)本身有安全隐患吗?

  •  
  •   sudoy · Jul 22, 2021 · 17755 views
    This topic created in 1847 days ago, the information mentioned may be changed or developed.

    我通常写好 Chrome 插件以后,会通过 Chrome 的开发者模式直接本地加载使用。之前看到很多人推荐使用 Tampermonkey 插件(传说中的油猴脚本插件),写了个抢茅台脚本用 Tampermonkey 试用,觉得真的很方便。我准备把 Tampermonkey 用在业务上,不知道是否有安全隐患,各位老哥有熟悉这方面的可否解答下,非常感谢!

    我看到谷歌对上架的 Chrome 插件都有审核,个人理解是应该不会有什么风险。但是毕竟本人这方面的知识不够,还想请教下各位老哥。

    14 replies    2021-07-22 18:37:14 +08:00
    ysc3839
        1
    ysc3839  
       Jul 22, 2021   ❤️ 3
    可能性是有的,因为 Tampermonkey 已经不开源了。
    我个人使用的是 Violentmonkey https://violentmonkey.github.io/
    Jirajine
        2
    Jirajine  
       Jul 22, 2021 via Android   ❤️ 1
    @ysc3839 不,这个更不安全。tampermonkey 还是可以的,除了有默认开启 GA 作者也回应过。而这个开源版本的功能缺失严重,自动更新不会弹出 diff 让用户 review 而是静默直接更新,这是更大的安全隐患。
    ysc3839
        3
    ysc3839  
       Jul 22, 2021
    @Jirajine 我去看了下 Violentmonkey 的设置,有 Notify script updates 的选项呀?难道说开启了这个只是更新后弹出个通知,不可以选择是否更新?那还可以考虑直接禁用更新,或者自己修改代码实现。
    melsp
        4
    melsp  
       Jul 22, 2021 via Android
    肯定有的,有些会记录 cook
    sudoy
        5
    sudoy  
    OP
       Jul 22, 2021
    @ysc3839
    @Jirajine
    谢谢!
    paradoxs
        6
    paradoxs  
       Jul 22, 2021
    浏览器扩展的权限真的太过分了,等于无所不能。
    jim9606
        7
    jim9606  
       Jul 22, 2021   ❤️ 1
    别太相信插件商店的审核(以及 Google Play 的审核),因为多数时候是无人介入的程序化审核。由于开发者帐户被盗导致的攻击事件也不是没发生过,毕竟有很多安全问题不是自动审核可以解决的。

    插件的主要问题是可用的 api 比 userscript 大不少,例如可以读写存储的 cookies 。而且放商店得翻墙才能下。好处是可以自动更新和出问题时远程停用。

    插件还有个好像存在的问题是浏览器会为每个扩展创建一个进程来运行,不知道会不会增加内存消耗。
    Telegram
        8
    Telegram  
       Jul 22, 2021
    @ysc3839 #1 这玩意安不安全和开源有啥关系吗??你直接把 crx 包解开,不就可以直接看到源码吗?人家又没混淆。
    ysc3839
        9
    ysc3839  
       Jul 22, 2021 via Android
    @Telegram 当然没有必然关系,我只是说有可能。闭源软件更不安全这种说法是开源界的政治正确。
    https://www.gnu.org/proprietary/proprietary.html

    另外我刚才下载了 Tampermonkey 的 crx 看了下,里面的代码是混淆过的。
    Telegram
        10
    Telegram  
       Jul 22, 2021
    @ysc3839 #9 我刚刚也去下了一份,确实混淆过,那看样子确实不好说是不是安全了。
    zhuzhuaini
        11
    zhuzhuaini  
       Jul 22, 2021
    油猴脚本用在业务上怎么解决更新问题,总不能把脚本放到类似 greasyfork 的网站的上吧
    zhuzhuaini
        12
    zhuzhuaini  
       Jul 22, 2021
    是不是可以将 JS 脚本放到 HTTP 服务中,然后将 URL 填写到更新 URL 中 然后当这个服务器上的 JS 出现更新时(本地的代码和服务器上的不同),他就会让你更新
    GlobalNPC
        13
    GlobalNPC  
       Jul 22, 2021
    @ysc3839 Violentmonkey 很多不兼容,咋办
    sudoy
        14
    sudoy  
    OP
       Jul 22, 2021 via iPhone
    谢谢各位解答,决定还是用本地插件方式方式加载 js 脚本
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3205 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 11:22 · PVG 19:22 · LAX 04:22 · JFK 07:22
    ♥ Do have faith in what you're doing.