Consider creating a wrapper for hyperlight-host that locates sandboxes in remote processes
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- rust
調査の方向性
まず hyperlight-host crate の公開 API、特に UninitializedSandbox と MultiUseSandbox、および hyperlight-wasm、hyperlight-js、hyperlight-unikraft がどのようにそれに依存しているかを確認します。Issue に記載されている Cargo の依存関係と override の制約を調査します。依存する crate を変更せずに、別個の drop-in crate が API を維持しつつ、リモートプロセス内に sandbox を配置できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
It should be possible to create a drop-in replacement for the hyperlight-host crate that exposes the same public API, but wraps the UninitializedSandbox and MultiUseSandbox types with wrappers that implement its calls via (optionally?) making RPCs to different processes. This might be useful for people who wish to run sandboxes in remote, low-privilege processes for even-more-defense-in-depth (e.g. against hypervisor kernel vulnerabilities), and might allow working around per-process resource limits.
This should be possible to do via a new crate which is a drop-in wrapper around the hyperlight-host crate, avoiding the need for any changes in Hyperlight itself.
Semantically, it also shouldn't require any changes to other crates that depend on hyperlight-host, like hyperlight-{wasm,js,unikraft}. Unfortunately, due to rust-lang/cargo#9227, there may be distribution challenges due to the inability to for a root crate to override hyperlight-host with some hypothetical hyperlight-host-remote-process-wrapper throughout the transitive dependency graph. The wrapper crate would either need to use name = "hyperlight-host" and be used as a git/path dependency, or hyperlight-{wasm,js,unikraft} would need to be made aware of its existence/configured to optionally depend on it.
- 主要言語
- Rust
- スター
- 4.7k
- フォーク
- 214
- 平均マージ
- 3日 7時間
- マージ済み PR(30日)
- 43
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
hyperlight-dev/hyperlight のほかの issue
-
lifecycle/needs-review
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
hyperlight-dev/hyperlight#1842 ·
メンテナーはふだん 1 日以内に返信
-
lifecycle/needs-review
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
hyperlight-dev/hyperlight#1836 ·
メンテナーはふだん 1 日以内に返信
-
lifecycle/needs-review
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
hyperlight-dev/hyperlight#1804 ·
メンテナーはふだん 1 日以内に返信
-
lifecycle/needs-review
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
hyperlight-dev/hyperlight#1787 ·
メンテナーはふだん 1 日以内に返信
-
lifecycle/confirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
hyperlight-dev/hyperlight#1700 ·
メンテナーはふだん 1 日以内に返信
hyperlight-dev/hyperlight の issue をすべて見る
似ている issue
-
Change output crossing a compactsize boundary leaves the fee slightly below the requested feerateオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
bitcoindevkit/bdk_wallet#578 ·
メンテナーはふだん 8 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
521xueweihan/HelloGitHub#3832 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
canonical/opentelemetry-collector-operator#409 ·
メンテナーはふだん 1 日以内に返信