Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#3,506 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
macos, rust
Lĩnh vực
build-system, release

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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)
Ngôn ngữ chính
Rust
Star
13.2k
Fork
1.6k
Merge trung bình
1 ngày 20 giờ
Pull request đã merge (30 ngày)
333

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NVIDIA/OpenShell

Tất cả issue của NVIDIA/OpenShell

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.