V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wszgrcy
V2EX  ›  Node.js

使用 Worker 在 node 中执行传入的脚本,是不是安全一些

  •  
  •   wszgrcy · 2021-04-02 15:09:03 +08:00 · 1816 次点击
    这是一个创建于 1363 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 不是 xy 问题,无法转换
    • 设计就是为了某种实现而需要传脚本
    • 脚本执行需要返回一个值就行(也就是这个脚本是孤立的)
    • 非开放给用户使用,仅仅是作为内部某种实现的使用(会有隔离)
    • 在这个前提下,是不是使用 Worker 能最大限度的保证安全?
    3 条回复    2021-04-08 11:46:23 +08:00
    libook
        1
    libook  
       2021-04-02 15:17:44 +08:00   ❤️ 1
    你需要一个 Sandbox,Worker 的功能虽然有一定的限制,但是远不及 Sandbox 的那种程度,一旦运行脚本就意味着 Worker 能调用的所有 API 都可能会被调用。

    你可以看看 Deno,它的产品定位就是一个 Sandbox,我没用过,也一直觉得它“未来会取代 Node”的宣传很扯淡,但至少 Sandbox 的老本行可以一试。

    或者你可以去研究一下其他的 Sandbox 方案。

    另外你也可以考虑用容器之类的封装一个专门用来跑不确定安全性的脚本的实例,用有限的 API 跟主应用程序互操作就行。
    zhuweiyou
        2
    zhuweiyou  
       2021-04-02 23:57:07 +08:00
    xcstream
        3
    xcstream  
       2021-04-08 11:46:23 +08:00
    独立进程更加安全
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2375 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:08 · PVG 00:08 · LAX 08:08 · JFK 11:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.