wszgrcy
V2EX  ›  Node.js

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

  •  
  •   wszgrcy · Apr 2, 2021 · 2465 views
    This topic created in 1928 days ago, the information mentioned may be changed or developed.
    • 不是 xy 问题,无法转换
    • 设计就是为了某种实现而需要传脚本
    • 脚本执行需要返回一个值就行(也就是这个脚本是孤立的)
    • 非开放给用户使用,仅仅是作为内部某种实现的使用(会有隔离)
    • 在这个前提下,是不是使用 Worker 能最大限度的保证安全?
    3 replies    2021-04-08 11:46:23 +08:00
    libook
        1
    libook  
       Apr 2, 2021   ❤️ 1
    你需要一个 Sandbox,Worker 的功能虽然有一定的限制,但是远不及 Sandbox 的那种程度,一旦运行脚本就意味着 Worker 能调用的所有 API 都可能会被调用。

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

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

    另外你也可以考虑用容器之类的封装一个专门用来跑不确定安全性的脚本的实例,用有限的 API 跟主应用程序互操作就行。
    zhuweiyou
        2
    zhuweiyou  
       Apr 2, 2021
    xcstream
        3
    xcstream  
       Apr 8, 2021
    独立进程更加安全
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1120 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 17:54 · PVG 01:54 · LAX 10:54 · JFK 13:54
    ♥ Do have faith in what you're doing.