Files
onyx/Onyx
Guido Schmit f48b29e53e Helfer startet nicht: --deep hat ihm die App-Entitlements verpasst
launchd lehnte den Start ab, ohne Absturzbericht und ohne sichtbaren Fehler:

  launchd: exited with exit reason (namespace: 9 code: 0x8) - OS_REASON_EXEC
  amfid: OnyxHelper not valid: Code=-413 "No matching profile found"
  taskgated-helper: Disallowing com.scarriffleservices.onyx.helper
                    because no eligible provisioning profiles found

Ursache war OTHER_CODE_SIGN_FLAGS = --deep, das ich anfangs für das ad-hoc
signierte MediaRemoteAdapter.framework gesetzt hatte. --deep überträgt die
Entitlements der App auf jede eingebettete Binary. Der Helfer bekam dadurch
application-identifier, weatherkit und application-groups verpasst — alles
eingeschränkte Entitlements, die ein Provisioning-Profil verlangen. Ein nacktes
Kommandozeilenprogramm kann aber keines einbetten, denn das ist eine Datei im
Bundle. Also verweigerte AMFI die Ausführung.

Für das Framework wird --deep gar nicht gebraucht: es wird von /usr/bin/perl
geladen, nicht von Onyx, und dafür ist ohnehin disable-library-validation da.

Der Helfer trägt jetzt keine Entitlements — er braucht auch keine. Ein
root-Dienst mit möglichst wenig Rechten ist genau das, was man will.

Gefunden über das Protokoll von amfid und taskgated. Der Weg dorthin führte
über zwei Ausschlüsse: der Helfer läuft direkt gestartet einwandfrei, und seine
Signatur erfüllt die Anforderung der App. Damit war klar, dass es weder an der
Binary noch an der Signatur liegt, sondern an der Umgebung.
2026-08-10 23:01:51 +02:00
..