Skip to content

[Rule Tuning] Persistence via Suspicious Launch Agent or Launch Daemon#6332

Open
Mikaayenson wants to merge 1 commit into
mainfrom
tune_persistence_via_launch
Open

[Rule Tuning] Persistence via Suspicious Launch Agent or Launch Daemon#6332
Mikaayenson wants to merge 1 commit into
mainfrom
tune_persistence_via_launch

Conversation

@Mikaayenson

Copy link
Copy Markdown
Contributor

Pull Request

Issue link(s):

Summary - What I changed

As reported, tuning for FPs. File events do not consistently emit all necessary process fields. Tuning based on prominent noise (~84%) targeted to JumpCloud related plist modifications.

@Mikaayenson Mikaayenson self-assigned this Jun 25, 2026
Copilot AI review requested due to automatic review settings June 25, 2026 15:32
@Mikaayenson Mikaayenson added OS: macOS Rule: Tuning tweaking or tuning an existing rule labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Rule: Tuning - Guidelines

These guidelines serve as a reminder set of considerations when tuning an existing rule.

Documentation and Context

  • Detailed description of the suggested changes.
  • Provide example JSON data or screenshots.
  • Provide evidence of reducing benign events mistakenly identified as threats (False Positives).
  • Provide evidence of enhancing detection of true threats that were previously missed (False Negatives).
  • Provide evidence of optimizing resource consumption and execution time of detection rules (Performance).
  • Provide evidence of specific environment factors influencing customized rule tuning (Contextual Tuning).
  • Provide evidence of improvements made by modifying sensitivity by changing alert triggering thresholds (Threshold Adjustments).
  • Provide evidence of refining rules to better detect deviations from typical behavior (Behavioral Tuning).
  • Provide evidence of improvements of adjusting rules based on time-based patterns (Temporal Tuning).
  • Provide reasoning of adjusting priority or severity levels of alerts (Severity Tuning).
  • Provide evidence of improving quality integrity of our data used by detection rules (Data Quality).
  • Ensure the tuning includes necessary updates to the release documentation and versioning.

Rule Metadata Checks

  • updated_date matches the date of tuning PR merged.
  • min_stack_version should support the widest stack versions.
  • name and description should be descriptive and not include typos.
  • query should be inclusive, not overly exclusive. Review to ensure the original intent of the rule is maintained.

Testing and Validation

  • Validate that the tuned rule's performance is satisfactory and does not negatively impact the stack.
  • Ensure that the tuned rule has a low false positive rate.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Tunes an existing macOS persistence detection to reduce false positives from expected LaunchAgent/LaunchDaemon plist activity (notably vendor-managed agents), while keeping the core suspicious-process + plist-in-persistence-path logic intact.

Changes:

  • Updated rule metadata updated_date to reflect the tuning date.
  • Added an EQL exclusion for specific vendor plist paths (JumpCloud/Wazuh/Zscaler) when the modifying process is /bin/bash.

@tradebot-elastic

tradebot-elastic commented Jun 25, 2026

Copy link
Copy Markdown

⛔️ Test failed

Results
  • ❌ Persistence via Suspicious Launch Agent or Launch Daemon (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@eric-forte-elastic eric-forte-elastic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tuning make sense, results in a notable drop in FPs from com.wazuh.agent.plist especially. Verified in telemetry 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants