launchd persistence macOS
cp launchd.plist ~/Library/LaunchAgents/com.apple.update.plist ; launchctl load ~/Library/LaunchAgents/com.apple.update.plist
Instala um LaunchAgent com nome inócuo (com.apple.update) em ~/Library/LaunchAgents e o carrega com launchctl: seu payload será executado a cada login do usuário, persistência clássica de macOS.
Quando você já tem acesso a uma sessão de usuário no macOS e quer persistência que sobreviva a reinicializações: um LaunchAgent em ~/Library/LaunchAgents roda com os privilégios do usuário a cada login, sem precisar de admin. O nome com prefixo com.apple. disfarça o agente entre os legítimos.
Se você precisa de persistência com privilégios de root, um LaunchAgent de usuário não basta: aí é necessário /Library/LaunchDaemons (que exige admin). Também não use se o host tiver Jamf/Kandji com integridade de arquivos sobre ~/Library/LaunchAgents: o aparecimento de um plist novo nesse diretório é alerta imediato.