launchd persistence macOS

cp launchd.plist ~/Library/LaunchAgents/com.apple.update.plist ; launchctl load ~/Library/LaunchAgents/com.apple.update.plist

Instala un LaunchAgent con nombre inocuo (com.apple.update) en ~/Library/LaunchAgents y lo carga con launchctl: tu payload se ejecutara en cada login del usuario, persistencia clasica de macOS.

Cuando ya tienes acceso a una sesion de usuario en macOS y quieres persistencia que sobreviva a reinicios: un LaunchAgent en ~/Library/LaunchAgents corre con los privilegios del usuario en cada login, sin necesitar admin. El nombre con prefijo com.apple. disfraza el agente entre los legitimos.

Si necesitas persistencia con privilegios de root, un LaunchAgent de usuario no basta: ahi hace falta /Library/LaunchDaemons (que exige admin). Tampoco lo uses si el host tiene Jamf/Kandji con integridad de archivos sobre ~/Library/LaunchAgents: la aparicion de un plist nuevo en ese directorio es alerta inmediata.