mirror of
https://github.com/MonitorControl/MonitorControl.git
synced 2026-05-15 14:15:55 -06:00
[GH-ISSUE #1740] MonitorControl fails strict codesign verification #962
Labels
No labels
Status: Abandoned
arm64
beta
beta
bug
done
duplicate
enhancement
feedback needed from reporter
in progress
invalid
investigating
known Issue
monitor Issue
pull-request
translation
unable to reproduce
unreleased
x86
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/MonitorControl#962
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jrmfong on GitHub (Mar 19, 2025).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1740
MonitorControl fails strict codesign verification which is one of the typical check of autopkg.
codesign --verify --verbose=4 --deep --strict
--require='anchor apple generic and identifier "app.monitorcontrol.MonitorControl" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists / or certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = "299YSU96J7")'
/Applications/MonitorControl.app
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswift_Concurrency.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswift_Concurrency.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftAppKit.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftAppKit.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftAVFoundation.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftAVFoundation.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCore.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCore.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreAudio.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreAudio.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreData.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreData.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreImage.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreImage.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreMedia.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftCoreMedia.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftDarwin.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftDarwin.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftDispatch.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftDispatch.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftFoundation.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftFoundation.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftIOKit.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftIOKit.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftMetal.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftMetal.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftObjectiveC.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftObjectiveC.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftos.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftos.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftQuartzCore.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftQuartzCore.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftsimd.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftsimd.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftXPC.dylib
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/libswiftXPC.dylib
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/.
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Autoupdate
--validated:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Autoupdate
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
/Volumes/MonitorControl/MonitorControl.app: resource fork, Finder information, or similar detritus not allowed
In subcomponent: /Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
file with invalid attached data: Disallowed xattr com.apple.FinderInfo found on /Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
Steps to reproduce
Download the latest dmg from GitHub.
Open the dmg and drag the MonitorControl.app into /Applications
Run the following command in terminal
codesign --verify --verbose=4 --deep --strict
--require='anchor apple generic and identifier "app.monitorcontrol.MonitorControl" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists / or certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = "299YSU96J7")'
/Applications/MonitorControl.app
Generate the error log in the last few lines which are quoted below:
--prepared:/Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
/Volumes/MonitorControl/MonitorControl.app: resource fork, Finder information, or similar detritus not allowed
In subcomponent: /Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
file with invalid attached data: Disallowed xattr com.apple.FinderInfo found on /Volumes/MonitorControl/MonitorControl.app/Contents/Frameworks/Sparkle.framework/Versions/Current/Updater.app
Expected behavior
MonitorControl.app should pass all strict codesign checks which is crucial to guard against security risk during patching.
Environment
macOS version: macOS 15.3.2
Mac model: MacBook Pro M1 2021
MonitorControl version: 4.3.3
Monitor(s): 2
Apple Silicon/M1 (yes or no): Yes
@waydabber commented on GitHub (Mar 20, 2025):
Hmm. Sparkle is a rather common macOS framework for in-app updates. I think you should treat that as an exception. But if there is a way to include Sparkle in a way that this does not happen, let me know!
https://sparkle-project.org