svc · unix #539
task_read_for_pid
Retourne un port task de saveur « read » pour le PID donné — suffisant pour inspecter la mémoire mais pas pour la modifier.
Prototype
int task_read_for_pid(mach_port_name_t target_tport, int pid, mach_port_name_t *t);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| target_tport | mach_port_name_t | - | |
| pid | int | - | |
| t | mach_port_name_t | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 539 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 539 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 539 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 539 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 539 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 539 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 539 |
| xnu-10002.41.9 | — | 539 |
| xnu-10002.61.3 | — | 539 |
| xnu-10002.81.5 | — | 539 |
| xnu-10063.101.15 | — | 539 |
| xnu-10063.121.3 | — | 539 |
| xnu-10063.141.1 | — | 539 |
| xnu-11215.41.3 | — | 539 |
| xnu-11215.61.5 | — | 539 |
| xnu-11215.81.4 | — | 539 |
| xnu-11417.121.6 | — | 539 |
| xnu-11417.140.69 | — | 539 |
| xnu-12377.101.15 | — | 539 |
| xnu-12377.41.6 | — | 539 |
| xnu-12377.61.12 | — | 539 |
| xnu-12377.81.4 | — | 539 |
| xnu-7195.101.1 | — | 539 |
| xnu-7195.121.3 | — | 539 |
| xnu-7195.141.2 | — | 539 |
| xnu-7195.60.75 | — | 539 |
| xnu-7195.81.3 | — | 539 |
| xnu-8019.61.5 | — | 539 |
| xnu-8019.80.24 | — | 539 |
| xnu-8020.101.4 | — | 539 |
| xnu-8020.121.3 | — | 539 |
| xnu-8020.140.41 | — | 539 |
| xnu-8792.61.2 | — | 539 |
| xnu-8792.81.2 | — | 539 |
| xnu-8796.101.5 | — | 539 |
| xnu-8796.121.2 | — | 539 |
| xnu-8796.141.3 | — | 539 |
Notes
Ajouté dans macOS 11.3 avec la séparation read/inspect, ce flavor accorde mach_vm_read, mach_vm_region, thread_get_state et les introspections équivalentes sans permettre d'écritures, de création de threads, ni de détournement de port d'exception. Les outils qui n'ont besoin que de symboliser des stacks (sample, leaks, heap, vmmap) demandent le port read pour rester hors de la barrière get-task-allow de SIP quand c'est possible. Les règles d'autorisation reflètent task_for_pid (taskgated + AMFI + entitlement), mais la surface exposée est bien plus étroite.
Détection
Endpoint Security expose ES_EVENT_TYPE_NOTIFY_GET_TASK_READ et la variante AUTH depuis macOS 11.3. Les systèmes antérieurs à 11.3 ne supportent pas ce trap. La sonde DTrace mach_trap couvre ce qu'ES ne voit pas.