Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fix(vm): macOS openshell-driver-vm release artifact missing com.apple.security.hypervisor entitlement

Aperta
#3,506 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
macos, rust

Direzione di ricerca

Start by tracing the release build that packages openshell-driver-vm-aarch64-apple-darwin.tar.gz, then read crates/openshell-driver-vm/entitlements.plist, the generated Homebrew formula, and install.sh. Verify the artifact with codesign, remove formula post_install signing and install.sh patch_homebrew_formula(), and confirm the release binary carries the hypervisor entitlement.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

state:triage-needed
User Story

As a macOS user downloading openshell-driver-vm-aarch64-apple-darwin.tar.gz from a GitHub release,
I want the binary to work without manual codesigning,
so that VM sandbox creation succeeds out of the box regardless of install method.

Problem Statement

The macOS openshell-driver-vm binary in the GitHub release tarball is shipped unsigned — without the com.apple.security.hypervisor entitlement required by Apple's Hypervisor.framework. The entitlement is only applied at Homebrew install time via the formula's post_install hook, not during the CI build that produces the release artifact.

Impact / Why This Matters

When this happens, any non-Homebrew install path (direct tarball download, install.sh pre-release mode, CI environments) gets a binary that fails at runtime when it tries to create a microVM through libkrun.

This results in a confusing runtime crash with no clear indication that codesigning is the issue.

This matters because:

  • The workaround is to manually run codesign --entitlements <plist> --force -s - openshell-driver-vm, which requires knowing about macOS entitlements.
  • If Homebrew's post_install is skipped (--skip-post-install) or fails, the binary is silently broken even for Homebrew users.
  • Codesigning logic (writing a plist, shelling out to /usr/bin/codesign) does not belong in a package manager formula — it should be part of the build pipeline that produces the artifact.
Acceptance Criteria
  • openshell-driver-vm-aarch64-apple-darwin.tar.gz in GitHub releases contains a binary ad-hoc signed with com.apple.security.hypervisor (verifiable via codesign -d --entitlements - openshell-driver-vm)
  • The generated Homebrew formula no longer writes an entitlements plist or calls codesign in post_install
  • install.sh no longer contains patch_homebrew_formula() (dead code once formula codesigning is removed)
  • Existing Homebrew upgrade path works — a redundant post_install codesign from a cached older formula is harmless against a pre-signed binary
  • crates/openshell-driver-vm/entitlements.plist remains the single source of truth for the entitlement
Reproduction Steps
  1. Download openshell-driver-vm-aarch64-apple-darwin.tar.gz from a GitHub release
  2. Extract: tar -xzf openshell-driver-vm-aarch64-apple-darwin.tar.gz
  3. Verify missing signature: codesign -d --entitlements - openshell-driver-vm → shows no entitlements
  4. Attempt to create a VM sandbox — fails because Hypervisor.framework rejects the unsigned caller
Environment
  • OS: macOS (Apple Silicon / aarch64-apple-darwin)
  • Install method: direct GitHub release tarball download (non-Homebrew path)
Lingua principale
Rust
Stelle
8.7k
Fork
1.3k
Merge medio
2g 8h
PR unite (30g)
271

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/OpenShell

Tutte le issue di NVIDIA/OpenShell

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.