SubQuery开发者指南丨Sandbox
在我们所设想的使用情况下,SubQuery 节点通常是由一个受信任的主机来管理的。而用户向节点所提交的 SubQuery 项目代码并不完全可信。
一些恶意代码很有可能攻击主机甚至破坏主机,造成同一主机内其他项目的数据损坏。因此,我们使用 VM2 Sandbox 安全机制来降低风险。
如下:
·在受隔离的系统中运行不受信任的代码,这些代码不会访问主机的网络和文件系统,除非通过我们注入 Sandbox 的公共接口。
·使用安全的调用方法,并在 Sandbox 之间交换和接受数据。
·对许多已知的攻击方法免疫
限制:
·为了限制访问某些内置模块,只有 conflict, buffer crypto,util 和 path ,上述代码是白名单。
·我们支持使用 CommonJS 和 CommonJS 库编写的第三方模块,如@polkadt/*,它们默认使用ESM。
·禁止使用 HTTP 和 WebSocket 的任何模块。
Website:
https://www.subquery.network/
Discord中文群:
https://discord.gg/SZsgE3M7
Telegram中文群:
t.me/subquerychina
Mixin中文群:
https://subquery.mixinbots.com/join
往期精彩
《SubQuery开发者指南丨在本地运行 SubQuery》
《SubQuery开发者指南丨GraphQL 架构(GraphQL Schema)》
《SubQuery开发者指南丨Hello World Explained》
《SubQuery开发者指南丨Hello World (由SubQuery 托管)》
《SubQuery开发者指南丨创建一个SubQuery项目》
《SubQuery开发者指南丨清单文件(Manifest File)》