macOS OSACompile Run-Only Script Execution

Flags osacompile commands on macOS using run-only (-x) with inline script (-e) execution.

FreeReviewedSigma · High · v2
Product
macos
Category
process_creation
Author
Sohan G (D4rkCiph3r) (SigmaHQ), DRL 1.1
Published
2023-01-31
Updated
2026-07-31

ATT&CK techniques

Execution
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Persistence

  5. Priv Esc

  6. Defense Evasion

  7. Cred Access

  8. Discovery

  9. Lateral Movement

  10. Collection

  11. C2

  12. Exfiltration

  13. Impact

What it detects

This rule flags process creations where the command line includes OSACompile with run-only indicators, specifically the presence of ' -x ' and ' -e '. Attackers can use OSACompile to execute embedded AppleScript/OSAScript content directly, which can support short-lived or hard-to-review execution flows. Detection relies on macOS process creation telemetry, matching command-line substrings in the spawned process.

Related detections9 linkedT1059.002 — drag to rearrange
Malicious Data Exfiltration via curl with Stealer Specific BuildID Header
Suspicious osascript Password Prompt via AppleScript Display Dialog (via process_creation)
Malicious Sapphire Sleet curl to osascript Chain With mac-cur User-Agent (via process_creation)
Suspicious osascript Spawning Shell Interpreter on macOS
Suspicious AMOS Stealer Fake Password Prompt via osascript (via process_creation)
Suspicious osascript Spawning Shell curl to External Host on macOS (via process_creation)
Malicious Fake Zoom AppleScript Execution via Osascript
Suspicious osascript Fake Password Prompt by ClickLock macOS Stealer (via process_creation)
Malicious AppleScript Execution of curl-Fetched Shell Payload via osascript (via process_creation)
macOS OSACompile Run-Only Script Execution
Pivot detection · T1059.002 · 9 related

Changelog

v2
  1. v2
    Candidate ingested via manual entry.2026-07-31
  2. v1
    No changelog recorded for this version.2026-07-30

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.