Join our Newsletter — 33% off our NHI Course
Home› FAQ› Threats, Abuse & Incident Response› How can security teams detect launchd?
Threats, Abuse & Incident Response

How can security teams detect launchd?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated October 18, 2026 Domain: Threats, Abuse & Incident Response

Security teams detect launchd abuse by reviewing LaunchAgents and LaunchDaemons for new or modified plists, unexpected executable paths and unusual run intervals. Watch for persistence created by low-privilege users, binaries launched from writable locations, and changes to login items or system services. Baseline trusted entries and investigate tampering after installs or upgrades.

What launchd detection should focus on

Detection works best when you treat launchd as a persistence surface, not just a process name. On macOS, the useful question is whether a LaunchAgent or LaunchDaemon entry appeared, changed, or began executing from an unexpected location. The strongest indicators are new or edited plist files, odd ProgramArguments or executable paths, and schedule changes that do not fit the host’s normal startup pattern.

That means defenders should review both user and system persistence locations and compare them to a baseline of known-good services. A legitimate change may still be suspicious if it follows a software install that should not have touched persistence, or if the binary path points into a writable directory where low-trust code can be staged.

How to separate normal launchd activity from abuse

launchd is noisy by design, so the detection challenge is separating expected management activity from persistence tradecraft. A good review looks for plists created by low-privilege users, services that relaunch on a cadence that does not match the product they belong to, and entries that point to scripts or binaries in locations such as home directories, temp paths, or other writable areas.

Useful triage also includes checking for changes to login items, agents that appear after an upgrade or package install, and services that persist even when the associated software is no longer present. When launchd abuse is real, the attacker usually wants durable execution at logon or boot, so the surrounding filesystem, installer, and service history often tells the story faster than the process tree alone.

What telemetry and baselines make detection reliable

To detect launchd abuse consistently, teams need file integrity visibility on plist locations, process execution telemetry, and a simple inventory of trusted LaunchAgents and LaunchDaemons. The baseline should include the expected file owner, path, label, and run interval, because those fields often change before the payload does. If a plist is modified but the binary is not yet executed, the change itself is still a high-value alert.

Baseline review is especially important after patching, software installation, or agent deployment, because those are the times when benign churn can hide malicious persistence. A practical detection program also correlates plist changes with the first execution of the referenced binary, since launchd abuse often becomes visible only when the service is triggered.

Risk and Threat Considerations

launchd abuse is risky because it turns a single filesystem change into repeated code execution at startup, login, or on a timer. That makes it attractive for persistence, stealth, and re-entry after remediation, especially when the entry launches a binary from a writable location or runs under a more trusted context than the original user.

Failure mechanism: An attacker or malicious installer places a new plist, edits an existing one, or swaps the referenced executable so launchd repeatedly starts untrusted code with system or user persistence.

Impact: The host can retain durable execution after reboot, service restarts, or user logoff, which increases the chance of continued access, follow-on credential theft, and delayed detection.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK addresses the attack and risk surface, while CIS Controls v8, NIST CSF 2.0 and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKT1543.004 — Launch AgentLaunchd abuse is macOS persistence through service creation.
Recommendation — Hunt for new or modified LaunchAgents and LaunchDaemons that establish persistence.
CIS Controls v8CIS-8 — Audit Log ManagementDetection depends on file and process telemetry for service creation and change review.
Recommendation — Log plist and process changes so launchd abuse is detectable during review.
NIST CSF 2.0DE.CM-01 — Continuous MonitoringLaunchd detection requires ongoing monitoring of startup items and service changes.
Recommendation — Continuously monitor persistence locations and service execution for anomalous changes.
NIST SP 800-53 Rev 5CM-5 — Access Restrictions for ChangeAbuse often depends on unauthorized modification of service configuration files.
SI-4 — System Monitoringlaunchd abuse is identified by monitoring changes and execution patterns on macOS hosts.
Recommendation — Restrict who can modify launchd service definitions and related startup items. Monitor macOS service creation, plist edits, and unusual execution paths.

Practitioner Guidance

What to verify: Confirm whether the plist owner, path, label, and launch arguments match the software that should own them. If the service points to a user-writable directory, a temporary location, or a binary that no installed package can justify, treat it as suspicious even if the service name looks normal.

Decision rule: If the entry appeared after an install or upgrade, validate the package provenance first; if it appeared outside a change window or the referenced binary changed without a corresponding software event, prioritize containment and review over routine cleanup.

Practitioner takeaway: launchd detection is strongest when you combine persistence baselines with path trust analysis, because the danger is not just that a service exists, but that it can quietly re-launch attacker-controlled code over time.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Reviewed and updated by the NHIMG editorial team on October 18, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org