;;; 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))) (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.intelligenceflow")) (allow managed-preference-read (preference-domain "kCFPreferencesAnyApplication")) (allow user-preference-read (preference-domain "kCFPreferencesAnyApplication") (preference-domain "com.apple.siri.morphun") (preference-domain "com.apple.mediaremote") (preference-domain "com.apple.assistant.backedup") ) (allow user-preference-read user-preference-write (preference-domain "com.apple.assistant") ) ;; Contacts (import "contacts.sb") (contacts-client (param "HOME") (param "TMPDIR")) ;; 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") ) ;;; ;;; 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") ) ;; Support for processing images (allow iokit-open-user-client (iokit-user-client-class "AppleAVEUserClient") (iokit-user-client-class "AppleAVE2UserClient") ) (allow iokit-open (iokit-user-client-class "H11ANEInDirectPathClient") (iokit-user-client-class "AppleJPEGDriverUserClient") (iokit-user-client-class "IOSurfaceRootUserClient") (iokit-user-client-class "IOSurfaceAcceleratorClient") (iokit-user-client-class "IOGPUDeviceUserClient") ) (allow mach-lookup (global-name "com.apple.assistant.settings") (global-name "com.apple.uiintelligencesupport.agent") (global-name "com.apple.biome.access.user") (global-name "com.apple.appleneuralengine") (global-name "com.apple.intelligenceplatform.View") (global-name "com.apple.intelligenceplatform.Knosis") (global-name "com.apple.mediaanalysisd.analysis") (global-name "com.apple.mediaanalysisd.service.public") (global-name "com.apple.calaccessd") (global-name "com.apple.siriinferenced") (global-name "com.apple.siri.VoiceShortcuts.xpc") (global-name "com.apple.siri.morphunassetsupdaterd") (global-name "com.apple.siri.uaf.service") (global-name "com.apple.siri.location") (global-name "com.apple.mobileasset.autoasset") (global-name "com.apple.windowmanager.server") (global-name "com.apple.windowserver.active") (global-name "com.apple.lsd.mapdb") (global-name "com.apple.naturallanguaged") (global-name "com.apple.coremedia.videocodecd.decompressionsession") (global-name "com.apple.coremedia.videocodecd.compressionsession") (global-name "com.apple.coremedia.admin") (global-name "com.apple.FileCoordination") (global-name "com.apple.CARenderServer") (global-name "com.apple.linkd.registry") (global-name "com.apple.mediaremoted.xpc") (global-name "com.apple.dmd.policy") (global-name "com.apple.CalendarAgent") (global-name "com.apple.callkit.callcontrollerhost") (global-name "com.apple.linkd.extension") (global-name "com.apple.TapToRadarKit.service") ) ;; 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]+(/|$)")) ;; Read/write cache access (let ((cache-path-filter (home-subpath "/Library/Caches/com.apple.intelligenceflow.intelligencecontextd"))) (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/Assistant/SiriReferenceResolution/") (home-subpath "/Library/Assistant/SiriVocabulary/") (home-subpath "/Library/Shortcuts/") ) ;; Allow read-only access to $HOME/Library/Trial (allow file-read* (home-subpath "/Library/Trial")) ;; NLContextualEmbedding (allow file-read* (subpath "/private/var/db/com.apple.naturallanguaged/")) ;; 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"))) ;; Protected group containers (allow file-read* file-write* (extension "com.apple.sandbox.application-group")) (allow mach-lookup (global-name "com.apple.containermanagerd"))