[Bug]: macOS privileged helper is signed as com.nvidia.nvpair, so its pinned code-signing requirement always fails ("Privileged helper setup incomplete")
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 18/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ệ
- electron, macos, swift, typescript
- Lĩnh vực
- build-system, desktop
Hướng nghiên cứu
Start with the pinned requirement in desktop/native/Shared/HelperProtocol.swift (daemonCodeSigningRequirement) and the packaging config in desktop/electron-builder.config.ts. The signing script, internal-build/signing/macos/sign.ts, is not in the public repo, so a contributor needs maintainer access to change it. Done means codesign -dv on com.nvidia.nvpair.helper reports Identifier=com.nvidia.nvpair.helper, and nvpair-helper-ctl status returns reachable: true.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
PAIR version or commit: 1.0.0 (CFBundleVersion 1.0.0.85), the official signed DMG
Affected component: Installer or update
Environment:
- macOS 26.6.2 (25G83), arm64 (Apple silicon), on two separate Macs
- Both Macs have NVIDIA PAIR 1.0.0 installed in
/Applications, Developer ID signed, Team ID6KR3T733EC. codesign --verify --deep --strictpasses on the.app.- The Application Firewall is off on both, so there is no functional impact today.
Steps to reproduce:
- Install and launch NVIDIA PAIR 1.0.0 on macOS, and approve the background item.
- Run
codesign -dv /Applications/<PAIR>.app/Contents/MacOS/com.nvidia.nvpair.helper. - Run
/Applications/<PAIR>.app/Contents/MacOS/nvpair-helper-ctl status. - Look at the
mac-helperlines in the PAIR log (logs/nvpair.jsonl).
Expected behavior:
- The helper daemon is signed with
Identifier=com.nvidia.nvpair.helper, asHelperConstants.daemonCodeSigningRequirementindesktop/native/Shared/HelperProtocol.swiftrequires. nvpair-helper-ctl statusreportsreachable: truewith adaemonVersion.configure-firewallsucceeds, andmacHelperSetupCompletegets set.
Actual behavior:
codesign -dv on the helper daemon shows the app's identifier instead of the helper's:
Identifier=com.nvidia.nvpair
Authority=Developer ID Application: NVIDIA Corporation (6KR3T733EC)
TeamIdentifier=6KR3T733EC
The control tool itself is signed correctly (Identifier=nvpair-helper-ctl). nvpair-helper-ctl status returns:
{"ctlVersion":"1.0.0","reachable":false,"registration":"enabled"}
The two Macs fail in different ways:
-
Mac A: the daemon (
system/com.nvidia.nvpair.helper) is running, but every XPC connection is refused withReceived message forbidden due to code signing requirement. PAIR logsPrivileged helper setup incomplete: enabled Couldn't communicate with a helper application. -
Mac B: launchd never starts the daemon.
launchctl print system/com.nvidia.nvpair.helpershows:program identifier = Contents/MacOS/com.nvidia.nvpair (mode: 2), which does not exist in the bundle;job state = spawn failed;last exit code = 78: EX_CONFIG.
nvpair-helper-ctl statuswaits 5 s for the daemon, andconfigure-firewallproduces no output. PAIR logsctl configure-firewall failed: Command failed: …/nvpair-helper-ctl configure-firewalland thenPrivileged helper setup incomplete: enabled no response from helper control tool.
Because macHelperSetupComplete is never set, this repeats at every launch. If the Application Firewall were on, the 7 networked binaries would get no allow rules.
The pinning works as designed and fails closed; only the identifier the daemon was signed with is wrong. It looks like the internal per-binary sign loop (internal-build/signing/macos/sign.ts, referenced in desktop/electron-builder.config.ts) signs com.nvidia.nvpair.helper with the app's identifier, for example without an explicit --identifier com.nvidia.nvpair.helper. We couldn't check this, because that script is not in the public repo.
Sanitized logs or screenshots:
{"level":"error","source":"mac-helper","sublevel":"ctl","message":"ctl configure-firewall failed: Command failed: /Applications/<PAIR>.app/Contents/MacOS/nvpair-helper-ctl configure-firewall\n"}
{"level":"error","source":"app","sublevel":"mac-helper","message":"Privileged helper setup incomplete: enabled no response from helper control tool"}
{"level":"error","source":"app","sublevel":"mac-helper","message":"Privileged helper setup incomplete: enabled Couldn’t communicate with a helper application."}
Confirmations:
- I searched existing issues for duplicates. (2026-10-16: none mention the helper or its signature.)
- This is not a security vulnerability. (The requirement check fails closed; the defect makes the helper unusable rather than bypassable.)
- I agree to follow the Code of Conduct.
- Ngôn ngữ chính
- Go
- Star
- 1.6k
- Fork
- 277
- Merge trung bình
- 4 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 31
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/Personal-AI-Router
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
NVIDIA/Personal-AI-Router#165 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 46/100
NVIDIA/Personal-AI-Router#164 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement
Độ khó 4/5 Hơn một tuần Mức phù hợp với người mới 12/100
NVIDIA/Personal-AI-Router#162 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
NVIDIA/Personal-AI-Router#154 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[Feature]: [Ollama] Alert the user about model pull failuresCó thể đã có người làm @ckelseynv đã nhận 7 ngày trước. Đang mởenhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
NVIDIA/Personal-AI-Router#152 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của NVIDIA/Personal-AI-Router
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 81/100
apache/rocketmq-dashboard#6895 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
agent-butler-finding chore
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jordansmall/spindrift#5466 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 87/100
777genius/agent-notifications#490 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
devantler-tech/ksail#7836 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
keyxmakerx/Chronicle#1469 ·
Maintainer thường phản hồi trong vòng 1 ngày