Skip to content

[Rule Tuning] Suspicious Windows Powershell Arguments - #6707

Closed
Mikaayenson wants to merge 2 commits into
mainfrom
tuning/83bf249e-4348-47ba-9741-1202a09556ad
Closed

Mikaayenson wants to merge 2 commits into
mainfrom
tuning/83bf249e-4348-47ba-9741-1202a09556ad

Conversation

@Mikaayenson

Copy link
Copy Markdown
Contributor

Resolves elastic/ia-trade-team#1087

Reduces noise from WebClient-based internet connectivity checks, compliance scanning tools using Start-AsJob patterns, Windows Compatibility Telemetry, Microsoft Defender IR, and benign file-renaming Replace calls. Adds a targeted command_line exclusion for WebClient OpenRead connectivity probes and broadens the existing sajb compliance-scanning exclusion to cover all Start-AsJob/Wait-Job/Remove-Job idioms. Also adds CompatTelRunner.exe and SenseIR.exe to the parent process allowlist and expands the .Replace exclusion to cover file-rename patterns.


Full telemetry triage, analytics links, and KQL verification: see linked ia-trade-team issue.

Copilot AI lite review requested due to automatic review settings August 28, 2026 17:23
@Mikaayenson Mikaayenson added Rule: Tuning tweaking or tuning an existing rule genai-tradecraft currentrelease labels Aug 28, 2026
@botelastic botelastic Bot added Domain: Endpoint OS: Windows windows related rules labels Aug 28, 2026

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

This PR tunes the existing Windows EQL rule “Suspicious Windows Powershell Arguments” to reduce false positives by adding/expanding targeted allowlists and refining matching logic around known-benign PowerShell patterns.

Changes:

  • Updates rule metadata updated_date to reflect the tuning date.
  • Adds parent-process exclusions for Windows Compatibility Telemetry and Defender IR tooling.
  • Refactors the .Replace matching into a dedicated clause with targeted exclusions, and expands the existing Start-AsJob-related allowlist along with a WebClient .OpenRead() allowlist entry.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

"?:\\Program Files (x86)\\*.exe"
) and

not process.parent.name : ("CompatTelRunner.exe", "SenseIR.exe") and
Comment on lines 192 to 196
"*Use-Icinga -Minimal*",
"*& {$j = sajb {Add-Type -AssemblyName*"
"*& {$j = sajb {Add-Type -AssemblyName*",
"*$j = sajb {*wjb $j*rcjb $j*",
"*WebClient*).OpenRead(*"
)
@w0rk3r

w0rk3r commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Some global exceptions are too broad, other uses parent.name instead of path.. Will keep track of this one and push a tuning for the next release

@w0rk3r w0rk3r closed this Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport: auto Domain: Endpoint genai-tradecraft OS: Windows windows related rules Rule: Tuning tweaking or tuning an existing rule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants