(version 1) (deny default) (define (home-regex home-relative-regex) (regex (string-append "^" (regex-quote (param "_HOME")) home-relative-regex))) (define regex-home home-regex) (define (home-subpath home-relative-subpath) (subpath (string-append (param "_HOME") home-relative-subpath))) (define (home-literal home-relative-literal) (literal (string-append (param "_HOME") home-relative-literal))) (define (apply-read-and-issue-extension op path-filter) (op file-read* path-filter) (op file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read") path-filter))) (define (apply-write-and-issue-extension op path-filter) (op file-write* path-filter) (op file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read-write") path-filter))) (define (read-write-and-issue-extensions path-filter) (apply-read-and-issue-extension allow path-filter) (apply-write-and-issue-extension allow path-filter)) ;;; Return a regex string which matches capital hex digit patterns ;;; pattern descriptor is an list of integers where the element specifies the repeat ;;; count of the hex digit; 0 means insert a dash ;;; You can paste these functions into: https://repl.it/languages/Scheme (define (HEX-pattern-match-generator pattern-descriptor) (letrec ((pattern-string "")) (for-each (lambda (repeat-count) (if (zero? repeat-count) (set! pattern-string (string-append pattern-string "-")) (let appender ((count repeat-count)) (if (> count 0) (begin (set! pattern-string (string-append pattern-string "[0-9A-F]")) (appender (- count 1))))))) pattern-descriptor) pattern-string)) ;; return a regex pattern matching string for 8-4-4-4-12 UUIDs: (define (uuid-HEX-pattern-match-string) (HEX-pattern-match-generator '(8 0 4 0 4 0 4 0 12))) ;; global to hold the computed UUID matching pattern. (define *uuid-pattern* "") (define (uuid-regex-string) (if (zero? (string-length *uuid-pattern*)) (set! *uuid-pattern* (uuid-HEX-pattern-match-string))) *uuid-pattern*) (import "system.sb") (import "com.apple.corefoundation.sb") ;;; initialize CF sandbox actions (corefoundation) (allow user-preference-read (preference-domain "com.apple.GenerativeFunctions.GenerativeFunctionsInstrumentation") (preference-domain "com.apple.UnifiedAssetFramework") (preference-domain "com.apple.modelcatalog.ajax") (preference-domain "kCFPreferencesAnyApplication") ) (allow mach-lookup (global-name "com.apple.biome.access.user") ) (allow mach-lookup (global-name "com.apple.containermanagerd")) (allow file-read-metadata) (allow file-read*) (allow lsopen) (allow device-microphone) (allow distributed-notification-post) (deny file-write-setugid) (allow file-read* file-write* (subpath (param "_TEMPDIR"))) (allow file-read* file-write* (subpath (param "_CACHEDIR"))) (allow file-read* file-write* (extension "com.apple.app-sandbox.read-write")) (allow file-read* (extension "com.apple.app-sandbox.read")) (allow file-read* file-write* (extension "com.apple.sandbox.application-group")) (allow file-read* file-write* (home-regex (regex-quote "/Library/Caches/com.apple.siri.bundleservicecache.plist"))) (allow file-read* (home-subpath "/Library/Caches/GeoServices")) (allow file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read-write") (home-subpath "/Library/Caches/com.apple.AssistantServices"))) (allow file-issue-extension (require-all (extension-class "com.apple.app-sandbox.read-write") (home-subpath "/Library/Caches/com.apple.assistantd"))) (allow file-issue-extension (require-all (require-any (extension-class "com.apple.app-sandbox.read-write") (extension-class "com.apple.app-sandbox.read")) (home-subpath "/Library/com.apple.aiml.instrumentation"))) (allow file-issue-extension (regex #"^/private/var/folders/[^/]+/[^/]+/0/com.apple.corespeechd/Caches/VoiceTrigger/SATUpdate")) (allow file-issue-extension (regex #"^/private/var/folders/[^/]+/[^/]+/0/com.apple.corespeechd/Caches/VoiceTrigger/SATUpdateNewerZone")) (allow user-preference* (preference-domain "com.apple.assistant") (preference-domain "com.apple.assistant.support") (preference-domain "com.apple.assistant.token") (preference-domain "com.apple.assistant.logging") (preference-domain "com.apple.AssistantServices") (preference-domain "com.apple.GEO") (preference-domain "com.apple.iCal") (preference-domain "com.apple.internal.ck") (preference-domain "com.apple.parsecd") (preference-domain "com.apple.security") (preference-domain "com.apple.siri.cdm") (preference-domain "com.apple.siri.morphun") (preference-domain "com.apple.speakerrecognition") (preference-domain "com.apple.suggestions") (preference-domain "com.apple.voicetrigger")) (allow user-preference-read (preference-domain "com.apple.itunescloud.internal") (preference-domain "com.apple.iTunes") (preference-domain "com.apple.CloudKit") (preference-domain "com.apple.universalaccess")) (allow file-read* file-write* (home-subpath "/Library/Caches/com.apple.feedbacklogger") (home-subpath "/Library/Keychains") (home-subpath "/Library/Security") (home-subpath "/Library/VoiceTrigger") (home-subpath "/Library/Caches/VoiceTrigger") (home-subpath "/Library/Caches/CoreSpeech")) (allow file-read* (subpath "/private/var/mobile/Library/IntelligencePlatform") (subpath "/private/var/db/com.apple.modelcatalog/sideload/") (subpath "/private/var/db/mds") (literal "/private/var/db/DetachedSignatures") (literal "/Library/Managed Preferences/com.apple.assistant.managedconfiguration.plist") (subpath "/Library/Keychains") (subpath "/System/Library/Audio") (subpath "/Library/Audio") (home-subpath "/Library/Audio") (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/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/siri") (subpath "/System/Library/Components/AudioCodecs.component/Contents/MacOS") (subpath "/System/Library/Components/AudioDSP.component/Contents/Resources/Tunings/Generic/AU")) (allow network-outbound (literal "/private/var/run/mDNSResponder")) (allow network-outbound (remote tcp)) (allow network-outbound (remote udp)) (allow system-socket) (system-network) (allow file-read* file-write* (mount-relative-regex #"^/\.TemporaryItems(/|$)") (regex #"^/private/var/folders/[^/]+/[^/]+/[A-Z]/assistantd/TemporaryItems(/|$)") (regex #"^/private/var/folders/[^/]+/[^/]+/0/com.apple.corespeechd(/|$)")) (allow file-read* file-write* (home-subpath "/Library/Assistant") (home-subpath "/Library/Logs/Assistant") (home-subpath "/Library/Logs/com.apple.FeatureStore") (home-subpath "/Library/Caches/com.apple.assistantd") (home-subpath "/Library/Caches/com.apple.iTunesCloud/HTTPArchives/assistantd") (home-subpath "/Library/HTTPStorages/com.apple.assistantd") (home-literal "/Library/Preferences/com.apple.assistantd.plist") (home-literal "/Library/Preferences/com.apple.assistant.backedup.plist") (home-literal "/Library/Preferences/com.apple.assistant.backedup.encrypted.plist") (home-literal "/Library/Preferences/com.apple.AddressBook.plist") (literal "/Library/Caches/com.apple.DiagnosticReporting.HasBeenAppleInternal")) (allow file-read* file-read-metadata (home-literal "/Library/Preferences/.GlobalPreferences.plist") (home-regex "/Library/Preferences/ByHost/\.GlobalPreferences\.") (literal "/AppleInternal/Library/Assistant/InternalConfig.plist") (literal "/Library/Preferences/.GlobalPreferences.plist") (literal "/Library/Preferences/com.apple.iTunes.secure.plist") (literal "/Library/Caches/com.apple.DiagnosticReporting.Networks.plist")) (allow file-read* (subpath "/private/var/db/mds") (literal "/Library/Preferences/com.apple.security.plist") (literal "/Library/Preferences/com.apple.security.common.plist") (literal "/Library/Preferences/com.apple.security.revocation.plist") (home-literal "/Library/Preferences/com.apple.security.plist") (home-literal "/Library/Preferences/com.apple.security.revocation.plist")) (allow file-read* (literal "/Library/Application Support/CrashReporter/SubmitDiagInfo.domains") (home-literal "/Library/Preferences/com.apple.LaunchServices.plist") (home-literal "/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist")) (allow file-read* file-write* (subpath "/private/var/tmp") (regex #"^/private/var/folders/[^/]+/[^/]+/T/(assistantd/)?\.AddressBookLocks.*") (home-subpath "/Library/Application Support/AddressBook")) (allow appleevent-send) (allow mach-lookup (global-name "com.apple.xpc.amsaccountsd") (global-name "com.apple.accountsd.accountmanager") (global-name "com.apple.accountsd.oauthsigner") (global-name "com.apple.airportd") (global-name "com.apple.ak.anisette.xpc") (global-name "com.apple.amp.artworkd") (global-name "com.apple.amp.library.framework") (global-name "com.apple.analyticsd") (global-name "com.apple.apsd") (global-name "com.apple.assertiond.processassertionconnection") (global-name "com.apple.assistant.analytics") (global-name "com.apple.siri.analytics.assistant") (global-name "com.apple.assistant_service") (global-name "com.apple.siri.execution_service") (global-name "com.apple.siri.external_request") (global-name "com.apple.siri.shared_flow_plugin_service") (global-name "com.apple.assistant.settings") (global-name "com.apple.audio.audiohald") (global-name "com.apple.audio.coreaudiod") (global-name "com.apple.audio.AudioComponentRegistrar") (global-name "com.apple.audio.SystemSoundServer-OSX") (global-name "com.apple.awdd") (global-name "com.apple.biome.PublicStreamAccessService") (global-name "com.apple.bluetoothd") (global-name "com.apple.cfnetwork.cfnetworkagent") (global-name "com.apple.cfnetwork.AuthBrokerAgent") (global-name "com.apple.cloudd") (global-name "com.apple.CompanionLink") (global-name "com.apple.cookied") (global-name "com.apple.coreduetd") (global-name "com.apple.coreduetd.context") (global-name "com.apple.coreduetd.knowledge") (global-name "com.apple.coreduetd.knowledge.user") (global-name "com.apple.corerecents.recentsd") (global-name "com.apple.coreservices.appleevents") (global-name "com.apple.coreservices.launchservicesd") (global-name "com.apple.coreservices.lsuseractivitymanager.xpc") (global-name "com.apple.coreservices.quarantine-resolver") (global-name "com.apple.corespeech.corespeechd.xpc") (global-name "com.apple.corespeech.corespeechd.endpointer.service") (global-name "com.apple.corespeech.corespeechd.rchandling.service") (global-name "com.apple.corespeech.speechmodeltraining.xpc") (global-name "com.apple.corespeech.voicetriggerservice") (global-name "com.apple.duetactivityscheduler") (global-name "com.apple.generativeexperiences.availabilityService") (global-name "com.apple.geod.defaults") (global-name "com.apple.homed.xpc") (global-name "com.apple.identityservicesd.desktop.auth") (global-name "com.apple.identityservicesd.idquery.desktop.auth") (global-name "com.apple.imdpersistence.IMDPersistenceAgent") (global-name "com.apple.locationd.desktop.registration") (global-name "com.apple.locationd.desktop.spi") (global-name "com.apple.locationd.desktop.synchronous") (global-name "com.apple.logd.events") (global-name "com.apple.logind") (global-name "com.apple.ls.boxd") (global-name "com.apple.lsd.mapdb") (global-name "com.apple.lsd.modifydb") (global-name "com.apple.lsd.open") (global-name "com.apple.lsd.openurl") (global-name "com.apple.marco") (global-name "com.apple.mediaremoted.xpc") (global-name "com.apple.metadata.mds") (global-name "com.apple.metadata.mds.legacy") (global-name "com.apple.mobileassetd") (global-name "com.apple.mobileassetd.v2") (global-name "com.apple.networkd") (global-name "com.apple.networkserviceproxy") (global-name "com.apple.ocspd") (global-name "com.apple.parsecd") (global-name "com.apple.pluginkit.pkd") (global-name "com.apple.proactive.PersonalizationPortrait.Topic.readWrite") (global-name "com.apple.remindd") (global-name "com.apple.remoted") (global-name "com.apple.secd") (global-name "com.apple.securityd.xpc") (global-name "com.apple.siri.activation") (global-name "com.apple.siri.activation.horseman") (global-name "com.apple.siri.activation.application") (global-name "com.apple.siri.client_lite") (global-name "com.apple.siri.context.service") (global-name "com.apple.siri.invoke") (global-name "com.apple.siri.localspeechrecognitionbridge.xpc") (global-name "com.apple.siri.morphunassetsupdaterd") (global-name "com.apple.siri.UnifiedSiriTest.BridgeService") (global-name "com.apple.siri.VoiceShortcuts.xpc") (global-name "com.apple.siriknowledged") (global-name "com.apple.siri.reference_resolution_module") (global-name "com.apple.siriknowledged.vocabulary.admin") (global-name "com.apple.sirittsd") (global-name "com.apple.spotlight.IndexAgent") (global-name "com.apple.suggestd.contacts") (global-name "com.apple.suggestd.PersonalizationPortrait.StringDonation") (global-name "com.apple.symptomsd.helper") (global-name "com.apple.symptom_analytics") (global-name "com.apple.symptom_diagnostics") (global-name "com.apple.system.opendirectoryd.api") (global-name "com.apple.tccd") (global-name "com.apple.telephonyutilities.callservicesdaemon.conversationprovidermanager") (global-name "com.apple.telephonyutilities.callservicesdaemon.conversationmanager") (global-name "com.apple.telephonyutilities.callservicesdaemon.callcapabilities") (global-name "com.apple.telephonyutilities.callservicesdaemon.callstatecontroller") (global-name "com.apple.trial.status") (global-name "com.apple.triald.namespace-management") (global-name "com.apple.usernotifications.listener") (global-name "com.apple.usernotifications.usernotificationservice") (global-name "com.apple.windowserver.active") (global-name "com.apple.AddressBook.abd") (global-name "com.apple.AddressBook.AddressBookApplicationFrameworkIPC") (global-name "com.apple.AddressBook.ContactsAccountsService") (global-name "com.apple.AddressBook.SourceSync") (global-name "com.apple.BluetoothDOServer") (global-name "com.apple.BTLEAudioController.xpc") (global-name "com.apple.contactsd.bookkeeping") (global-name "com.apple.contactsd.persistence") (global-name "com.apple.CalendarAgent.database") (global-name "com.apple.CalendarAgent.proxy") (global-name "com.apple.ContactsAgent.addressbook") (global-name "com.apple.CoreLocation.agent") (global-name "com.apple.CrashReporterSupportHelper") (global-name "com.apple.DiskArbitration.diskarbitrationd") (global-name "com.apple.NetworkDiagnostic.agent") (global-name "com.apple.PowerManagement.control") (global-name "com.apple.SecurityServer") (global-name "com.apple.SystemConfiguration.configd") (global-name "com.apple.server.bluetooth.classic.xpc") (global-name "com.apple.corespeech.corespeechd.voiceid.xpc") (global-name "com.apple.proactive.PersonalizationPortrait.NamedEntity.readWrite") (global-name "com.apple.proactive.PersonalizationPortrait.Topic.readWrite") (global-name "com.apple.intelligenceflow.orchestrator") (global-name "com.apple.mitigationasset.xpc.service")) (allow ipc-posix-shm (ipc-posix-name-regex #"^AudioIO") (ipc-posix-name "apple.shm.notification_center") (ipc-posix-name "FNetwork.defaultStorageSession") (ipc-posix-name "com.apple.AppleDatabaseChanged") (ipc-posix-name-regex #"^/tmp/com\.apple\.csseed\.") (ipc-posix-name-regex #"^ls\.")) (allow iokit-open (iokit-user-client-class "AppleSMCClient") (iokit-user-client-class "IOAudioEngineUserClient") (iokit-user-client-class "IOAudioControlUserClient") (iokit-user-client-class "RootDomainUserClient") (iokit-user-client-class "IOBluetoothHCIUserClient") (iokit-user-client-class "IOSurfaceRootUserClient")) (allow system-fsctl (fsctl-command (_IO "h" 24)) ;; HFS_VOLUME_STATUS (fsctl-command (_IO "h" 32)) ;; HFSIOC_TRANSFER_DOCUMENT_ID (fsctl-command (_IO "h" 47)) ;; HFSIOC_SET_HOTFILE_STATE (fsctl-command (_IO "z" 12)) ;; afpfsGetMountInfoFSCTL (fsctl-command (_IO "z" 19)) ;; smbfsUniqueShareIDFSCTL (fsctl-command (_IO "z" 23))) ;; afpfsByteRangeLock2FSCTL (read-write-and-issue-extensions (regex (string-append "^/Volumes/" (uuid-regex-string) "(/|$)"))) ;; 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"))) ;; Contacts (import "contacts.sb") (contacts-client (param "_HOME") (param "_TEMPDIR")) (import "com.apple.assistantd.transcoded.sb")