Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#3,506 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
macos, rust

Research direction

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.

Written by the indexing model from the issue text.

Description

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)
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 8h
Merged PRs (30d)
271

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA/OpenShell

All issues in NVIDIA/OpenShell

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.