hyperlight-dev / hyperlight-dev/hyperlight

Surrogate binary: extraction location and Authenticode signing

未关闭
#1,342 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
lifecycle/confirmed
主要语言
Rust
星标
4.7k
派生
208
平均合并
1 天 7 小时
30 天内合并 PR
47

描述

The surrogate binary is currently extracted to `current_exe().parent()` and is unsigned. This creates two related concerns.

### Problem 1: Extraction location
Extracting to the executable directory requires write permissions, which may not be available in all deployments (read-only container images, restricted Program Files installs). Alternative locations (`%TEMP%`, `%LOCALAPPDATA%`) each have tradeoffs — particularly AV products flagging "write exe to temp → execute" as a malware dropper pattern.

### Problem 2: Authenticode signing
The surrogate binary is currently unsigned. Signing it would:
- Eliminate AV false positives regardless of extraction location
- Enable extraction to temp or other locations without AV interference
- Allow WDAC/AppLocker policies to trust it

### Options for extraction location

| Location | Write perms | AV risk | Notes |
|----------|------------|---------|-------|
| Exe dir (current) | Needs write access | Low | Expected location for supporting binaries |
| `%LOCALAPPDATA%\hyperlight\` | Always writable | Medium | Less suspicious than temp |
| `%TEMP%` | Always writable | **High** | AV red flag — top malware dropper pattern |

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。