GenAI Process Compiling or Generating Executables

Last updated 2 months ago on 2025-12-04
Created 2 months ago on 2025-12-04

About

Detects when GenAI tools spawn compilers or packaging tools to generate executables. Attackers leverage local LLMs to autonomously generate and compile malware, droppers, or implants. Python packaging tools (pyinstaller, nuitka, pyarmor) are particularly high-risk as they create standalone executables that can be deployed without dependencies. This rule focuses on compilation activity that produces output binaries, filtering out inspection-only operations.
Tags
Domain: EndpointOS: LinuxOS: macOSOS: WindowsUse Case: Threat DetectionTactic: ExecutionTactic: Defense EvasionData Source: Elastic DefendData Source: SysmonData Source: Auditd ManagerData Source: Microsoft Defender for EndpointData Source: SentinelOneDomain: LLMMitre Atlas: T0053Language: eql
Severity
medium
Risk Score
47
MITRE ATT&CK™

Defense Evasion (TA0005)(external, opens in a new tab or window)

License
Elastic License v2(external, opens in a new tab or window)

Definition

Rule Type
Event Correlation Rule
Integration Pack
Prebuilt Security Detection Rules
Index Patterns
logs-endpoint.events.process-*logs-windows.sysmon_operational-*logs-m365_defender.event-*logs-sentinel_one_cloud_funnel.*logs-auditd_manager.auditd-*
Related Integrations

endpoint(external, opens in a new tab or window)

windows(external, opens in a new tab or window)

sentinel_one_cloud_funnel(external, opens in a new tab or window)

m365_defender(external, opens in a new tab or window)

auditd_manager(external, opens in a new tab or window)

Query
text code block:
process where event.type == "start" and // GenAI parent process ( process.parent.name in ( "ollama.exe", "ollama", "Ollama", "textgen.exe", "textgen", "text-generation-webui.exe", "oobabooga.exe", "lmstudio.exe", "lmstudio", "LM Studio", "claude.exe", "claude", "Claude", "cursor.exe", "cursor", "Cursor", "Cursor Helper", "Cursor Helper (Plugin)", "copilot.exe", "copilot", "Copilot", "codex.exe", "codex", "Jan", "jan.exe", "jan", "Jan Helper", "gpt4all.exe", "gpt4all", "GPT4All", "gemini-cli.exe", "gemini-cli", "genaiscript.exe", "genaiscript", "grok.exe", "grok", "qwen.exe", "qwen", "koboldcpp.exe", "koboldcpp", "KoboldCpp", "llama-server", "llama-cli" ) or // Node/Deno with GenAI frameworks (process.parent.name in ("node.exe", "node", "deno.exe", "deno") and process.parent.command_line like~ ("*mcp-server*", "*@modelcontextprotocol*", "*langchain*", "*autogpt*", "*babyagi*", "*agentgpt*", "*crewai*", "*semantic-kernel*", "*llama-index*", "*haystack*")) or // Python with GenAI frameworks (process.parent.name like~ "python*" and process.parent.command_line like~ ("*langchain*", "*autogpt*", "*babyagi*", "*agentgpt*", "*crewai*", "*semantic-kernel*", "*llama-index*", "*haystack*")) ) and // Compilation tools ( // Python packaging process.name in ("pyinstaller", "py2exe", "cx_Freeze", "nuitka", "pyarmor", "pkg") or // C/C++ compilation with output (process.name in ("gcc", "g++", "clang", "clang++", "cl.exe") and process.command_line like~ "*-o *" and process.command_line like~ ("*.c *", "*.c", "*.cpp *", "*.cpp", "*.cc *", "*.cc", "*.m *", "*.m") and not process.command_line like~ "*git*") or // Go compilation (process.name == "go" and process.args == "build") or // Rust compilation (process.name == "cargo" and process.args == "build") or (process.name == "rustc" and process.command_line like~ "*-o *") or // .NET compilation process.name in ("csc.exe", "vbc.exe", "msbuild.exe") or (process.name == "dotnet" and process.args == "build") or // Java compilation process.name == "javac" )

Install detection rules in Elastic Security

Detect GenAI Process Compiling or Generating Executables in the Elastic Security detection engine by installing this rule into your Elastic Stack.

To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).