サンドボックス
1分以内
サンドボックス
想定された使用シナリオでは、SubQuery ノードは通常、信頼されたホストによって実行されます。 そして、ユーザーがノードに送信した SubQuery プロジェクトのコードは完全に信頼できるものではありません。
悪意のあるコードの中には、ホストを攻撃したり、ホストを危険にさらして、同じホストにある他のプロジェクトのデータに損害を与える可能性のあるものもあります。 したがって、 VM2 サンドボックスで保護されたメカニズムを使用してリスクを削減します。 下記に示します:
信頼されていないコードを隔離されたコンテキストで安全に実行し、サンドボックスに注入したインタフェースを介さない限り、悪意のあるコードはホストのネットワークとファイルシステムにアクセスしません。
メソッドを安全に呼び出し、サンドボックス間で交換するデータやコールバックを行います。
既知の多くの攻撃方法に対して免疫があります。
制限事項
特定の組み込みモジュールへのアクセスを制限するため、
assert
,buffer
,crypto
,util
,path
のみをホワイトリストに登録しています。CommonJS で書かれたサードパーティモジュール や、
@polkadot/*
のように ESM をデフォルトで使用するhybrid ライブラリに対応しています。HTTP
とWebSocket
を使用するモジュールは禁止されています。