hyperlight-dev / hyperlight-dev/hyperlight

Surrogate binary: extraction location and Authenticode signing

Aperta
#1,342 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
lifecycle/confirmed
Lingua principale
Rust
Stelle
4.7k
Fork
208
Merge medio
1g 7h
PR unite (30g)
47

Descrizione

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 |

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.