Launchd malicious plist

Severity mediummacOSSingle eventexperimentalmacos.persistence.launchd_malicious_plist · v1.0.1

Detects creation of a LaunchAgent/LaunchDaemon in a user- or admin-writable location, a common macOS persistence mechanism.

What it detects

Detects creation of a LaunchAgent/LaunchDaemon in a user- or admin-writable location, a common macOS persistence mechanism. SIP-protected /System/Library locations are excluded — only Apple can write there, and matching them floods analysts with known-good daemons.

MITRE ATT&CK mapping

  • T1543.004Create or Modify System Process: Launch Daemon· Persistence
  • T1053Scheduled Task/Job· Execution

False positives and triage

Many legitimate installers add LaunchAgents/Daemons. Baseline known-good labels per host and review new or unusual labels.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 70%. Source: rules/macos/launchd_malicious_plist.yaml, licensed under the Apache License 2.0.

id: macos.persistence.launchd_malicious_plist
version: 1.0.1
status: experimental
severity: medium
confidence: 0.7
platforms: [macos]
mitre_techniques: [T1543.004, T1053]
description: |
  Detects creation of a LaunchAgent/LaunchDaemon in a user- or admin-writable location, a
  common macOS persistence mechanism. SIP-protected /System/Library locations are excluded —
  only Apple can write there, and matching them floods analysts with known-good daemons.
match:
  event_category: persistence
  event_action: task_created
  provider: launchd
  file_path_regex: "^(/Users/[^/]+)?/Library/Launch(Agents|Daemons)/[^/]+\\.plist$"
false_positive_guidance: |
  Many legitimate installers add LaunchAgents/Daemons. Baseline known-good labels per host
  and review new or unusual labels.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections