サンドボックス

... 2022-8-15 Less than 1 minute

# サンドボックス

想定された使用シナリオでは、SubQuery ノードは通常、信頼されたホストによって実行されます。 そして、ユーザーがノードに送信した SubQuery プロジェクトのコードは完全に信頼できるものではありません。

悪意のあるコードの中には、ホストを攻撃したり、ホストを危険にさらして、同じホストにある他のプロジェクトのデータに損害を与える可能性のあるものもあります。 したがって、 VM2 (opens new window) サンドボックスで保護されたメカニズムを使用してリスクを削減します。 下記に示します:

  • 信頼されていないコードを隔離されたコンテキストで安全に実行し、サンドボックスに注入したインタフェースを介さない限り、悪意のあるコードはホストのネットワークとファイルシステムにアクセスしません。

  • メソッドを安全に呼び出し、サンドボックス間で交換するデータやコールバックを行います。

  • 既知の多くの攻撃方法に対して免疫があります。

# 制限事項

  • 特定の組み込みモジュールへのアクセスを制限するため、assert, buffer, crypto, util, path のみをホワイトリストに登録しています。

  • CommonJS で書かれたサードパーティモジュール や、@polkadot/*のようにESMをデフォルトで使用するhybrid ライブラリに対応しています。

  • HTTPWebSocket を使用するモジュールは禁止されています。

Last update: August 15, 2022 23:43