hyperlight-dev / hyperlight-dev/hyperlight

Consider creating a wrapper for hyperlight-host that locates sandboxes in remote processes

オープン
#1,706 コメント 3 件 リアクション 2 件 担当者 0 名 GitHub で見る
lifecycle/confirmed
主要言語
Rust
スター
4.7k
フォーク
208
平均マージ
1日 7時間
マージ済み PR(30日)
47

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by reviewing the public API of the hyperlight-host crate, especially UninitializedSandbox and MultiUseSandbox, and how hyperlight-wasm, hyperlight-js, and hyperlight-unikraft depend on it. Investigate the Cargo dependency and override constraints described in the issue. Done would mean a separate drop-in crate can preserve the API while locating sandboxes in remote processes without requiring changes to dependent crates.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
operating-systems, security
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。