;;; Copyright (c) 2021 Apple Inc. All Rights reserved. (version 1) (deny default) (deny file-map-executable process-info* nvram*) (deny dynamic-code-generation) (deny mach-priv-host-port) (import "system.sb") (import "com.apple.corefoundation.sb") (corefoundation) ;;; Homedir-relative path filters (define (home-regex home-relative-regex) (regex (string-append "^" (regex-quote (param "HOME")) home-relative-regex))) (define (home-subpath home-relative-subpath) (subpath (string-append (param "HOME") home-relative-subpath))) (define (home-prefix home-relative-prefix) (prefix (string-append (param "HOME") home-relative-prefix))) (define (home-literal home-relative-literal) (literal (string-append (param "HOME") home-relative-literal))) ;; Unsuffixed-user-directory-relative path filters (define (unsuffixed-userdir-subpath unsuffixed-userdir-relative-subpath) (subpath (string-append (param "UNSUFFIXED_USERDIR") unsuffixed-userdir-relative-subpath))) (allow process-info* (target self)) (allow process-info-dirtycontrol (target self)) ;; For resolving symlinks, realpath(3), and equivalents. (allow file-read-metadata) ;; For validating the entitlements of clients. (allow process-info-codesignature) ;; Your preference domain (allow user-preference-read user-preference-write (preference-domain "com.apple.siriappintentsd") (preference-domain "NSGlobalDomain") ) (allow managed-preference-read (preference-domain "kCFPreferencesAnyApplication")) (allow user-preference-read (preference-domain "kCFPreferencesAnyApplication") (preference-domain "com.apple.assistant") (preference-domain "com.apple.GenerativeFunctions.GenerativeFunctionsInstrumentation") (preference-domain "com.apple.gms.availability") (preference-domain "com.apple.assistant.backedup") ) ;; ChatGPT setting (allow user-preference-read (preference-domain "com.apple.siri.generativeassistantsettings") ) ;; ModelCatalog (allow user-preference-read (preference-domain "com.apple.UnifiedAssetFramework") (preference-domain "com.apple.modelcatalog.ajax") ) ;; ModelCatalog (allow file-read* (subpath "/private/var/db/com.apple.modelcatalog/sideload/") (subpath "/System/Library/AssetsV2/locks/com.apple.UnifiedAssetFramework/") (subpath "/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_GenerativeModels/purpose_auto/") (subpath "/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_Overrides/purpose_auto/") (subpath "/System/Library/PreinstalledAssetsV2/RequiredByOs/com_apple_MobileAsset_UAF_FM_GenerativeModels/") (subpath "/System/Library/PreinstalledAssetsV2/RequiredByOs/com_apple_MobileAsset_UAF_FM_Overrides/") ) ;; Allow access to GPU for CoreML (allow iokit-open (iokit-user-client-class "AppleKeyStoreUserClient") (iokit-user-client-class "AGXDeviceUserClient") (iokit-user-client-class "AGXCommandQueue") (iokit-user-client-class "AGXDevice") (iokit-user-client-class "AGXDeviceUserClient") (iokit-user-client-class "AGXSharedUserClient") (iokit-user-client-class "IOAccelContext") (iokit-user-client-class "IOAccelDevice") (iokit-user-client-class "IOAccelSharedUserClient") (iokit-user-client-class "IOAccelSubmitter2") (iokit-user-client-class "IOAccelContext2") (iokit-user-client-class "IOAccelDevice2") (iokit-user-client-class "IOAccelSharedUserClient2") (iokit-user-client-class "IOSurfaceRootUserClient") ) ;; Allow loading of GPU extensions (allow file-map-executable (subpath "/System/Library/Extensions")) ;;; ;;; Declare that the process can be an ANE client ;;; (allow iokit-open-service (iokit-user-client-class "AppleVirtIONeuralEngineDevice" "H11ANEIn") ) (allow iokit-open (iokit-user-client-class "AppleVirtIONeuralEngineDeviceUserClient") (iokit-user-client-class "H11ANEInDirectPathClient") ) (allow mach-lookup (global-name "com.apple.appleneuralengine")) (allow mach-lookup (global-name "com.apple.siriknowledged.koa.donate") (global-name "com.apple.biome.access.user") (global-name "com.apple.biome.access.system") (global-name "com.apple.biome.compute.source.user") (global-name "com.apple.biome.compute.publisher.service.user") (global-name "com.apple.biome.compute.publisher.service") (global-name "com.apple.linkd.transcript") (global-name "com.apple.linkd.registry") (global-name "com.apple.appleneuralengine") (global-name "com.apple.lsd.mapdb") (global-name "com.apple.lsd.modifydb") (global-name "com.apple.remindd") (global-name "com.apple.coreservices.quarantine-resolver") (global-name "com.apple.routined.registration") (global-name "com.apple.locationd.registration") (global-name "com.apple.photos.service") (global-name "com.apple.TextInput.rdt") (global-name "com.apple.mobileasset.autoasset") (global-name "com.apple.mobileassetd.v2") (global-name "com.apple.intelligenceflow.context") (global-name "com.apple.intelligenceflow.uiContext") (global-name "com.apple.intelligenceflow.querydecoration") (global-name "com.apple.modelmanager") (global-name "com.apple.modelcatalog.catalog") (global-name "com.apple.siri.location") (global-name "com.apple.siri.uaf.service") (global-name "com.apple.ProgressReporting") (global-name "com.apple.searchd") (global-name "com.apple.generativeexperiences.availabilityService") (global-name "com.apple.windowserver.active") (global-name "com.apple.managedcorespotlightd") (global-name "com.apple.spotlight.SearchAgent") (global-name "com.apple.spotlight.IndexAgent") (global-name "com.apple.siriappintentsd.orchestrator") (global-name "com.apple.assistant.settings") ) (allow file-issue-extension (extension-class "com.apple.managedcorespotlightd.read-write") ) ;; Read/write access to a temporary directory. (allow file-read* file-write* (subpath (param "TMPDIR")) (subpath (param "DARWIN_CACHE_DIR")) (mount-relative-literal "/.TemporaryItems") (mount-relative-regex #"^/\.TemporaryItems/folders.[0-9]+(/|$)")) ;; Access to required SiriEntityMatcher files (allow file-read* file-write* (home-subpath "/Library/Assistant/SiriVocabulary/") ) ;; Read/write cache access (let ((cache-path-filter (home-subpath "/Library/Caches/com.apple.siriappintents.siriappintentsd"))) (allow file-read* file-write* cache-path-filter) (allow file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read" "com.apple.app-sandbox.read-write") cache-path-filter))) (allow file-read* file-write* (home-subpath "/Library/IntelligenceFlow") (home-subpath "/Library/Shortcuts") (home-subpath "/Library/Logs/com.apple.FeatureStore") (unsuffixed-userdir-subpath "/com.apple.FeatureStore/") ) ;; Allow issuing file extensions (allow file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read"))) (allow mach-lookup (global-name "com.apple.coreduetd.people") (global-name "com.apple.intelligenceplatform.View") ) (allow file-read* (literal "/private/var/db/CoreDuet/People/interactionC.db") (literal "/private/var/db/CoreDuet/People/interactionC.db-shm") (literal "/private/var/db/CoreDuet/People/interactionC.db-wal")) (allow file-write* (literal "/private/var/db/CoreDuet/People/interactionC.db-shm")) ;; Allow read-only access to $HOME/Library/Trial (allow file-read* (home-subpath "/Library/Trial")) ;; Allow read-only access to $HOME/Library/UnifiedAssetFramework (allow file-read* (home-subpath "/Library/UnifiedAssetFramework/")) ;; Allow read-only access to $HOME/Library/Shortcuts (allow file-read* (home-subpath "/Library/Shortcuts/")) ;; Allow BehaviorWindowLimiter to write to HU defaults (allow user-preference-read user-preference-write (preference-domain "com.apple.humanunderstanding")) ;; Pegasus (allow user-preference-read (global-name "com.apple.parsecd") ) (allow mach-lookup (global-name "com.apple.parsecd") ) ;; Contacts (import "contacts.sb") (contacts-client (param "HOME") (param "TMPDIR")) ;; Allow posting distributed notifications (allow distributed-notification-post) ;; Consume sandbox extensions (with-filter (extension "com.apple.app-sandbox.read") (allow file-read*) (allow file-issue-extension (extension-class "com.apple.app-sandbox.read"))) (with-filter (extension "com.apple.app-sandbox.read-write") (allow file-read* file-write*) (allow file-issue-extension (extension-class "com.apple.app-sandbox.read" "com.apple.app-sandbox.read-write"))) ;; Allow network access including outbound (system-network) (allow network-outbound (literal "/private/var/run/mDNSResponder") (remote tcp)) ;; Protected group containers (allow file-read* file-write* (extension "com.apple.sandbox.application-group")) (allow mach-lookup (global-name "com.apple.containermanagerd"))