endpoint(opens in a new tab or window)
windows(opens in a new tab or window)
sequence by process.entity_id with maxspan=30s
// Encoding/compression followed by network activity
[process where event.type == "start"
and event.type == "start"
// Encoding/chunking tools
and (
// Native encoding tools
process.name in ("base64", "gzip", "tar", "zip", "split", "7z", "7za", "7zr") or
// PowerShell encoding
(process.name in ("powershell.exe", "pwsh.exe") and
process.command_line like~ ("*Compress-Archive*", "*[Convert]::ToBase64String*")) or
// Python encoding
(process.name like~ "python*" and
process.command_line like~ ("*base64*", "*gzip*", "*zlib*", "*tarfile*", "*zipfile*")) or
// Node.js encoding
(process.name in ("node.exe", "node") and
process.command_line like~ ("*Buffer.from*", "*zlib*", "*gzip*") and
not process.command_line like~ ("*mcp*start*", "*mcp-server*", "*npm exec*mcp*"))
)
// GenAI parent process
and (
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~ (
"*ollama*", "*mcp-server*", "*@modelcontextprotocol*", "*langchain*", "*autogpt*",
"*babyagi*", "*agentgpt*", "*crewai*", "*semantic-kernel*", "*llama-index*",
"*haystack*", "*openai*", "*anthropic*", "*cohere*", "*mistral*"
)) or
// Python with GenAI frameworks
(process.parent.name like~ "python*" and
process.parent.command_line like~ (
"*ollama*", "*mcp-server*", "*langchain*", "*autogpt*", "*babyagi*",
"*agentgpt*", "*crewai*", "*semantic-kernel*", "*llama-index*", "*haystack*",
"*openai*", "*anthropic*", "*cohere*", "*mistral*"
))
)
] by process.entity_id
// Outbound network connection (non-local)
[network where event.type == "start"
and event.action == "connection_attempted"
and destination.ip != null
and not cidrmatch(destination.ip, "10.0.0.0/8", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.0.0/29",
"192.0.0.8/32", "192.0.0.9/32", "192.0.0.10/32", "192.0.0.170/32", "192.0.0.171/32", "192.0.2.0/24",
"192.31.196.0/24", "192.52.193.0/24", "192.168.0.0/16", "192.88.99.0/24", "224.0.0.0/4", "100.64.0.0/10",
"192.175.48.0/24","198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "240.0.0.0/4", "::1", "FE80::/10",
"FF00::/8")
] by process.entity_id
Install detection rules in Elastic Security
Detect GenAI Process Performing Encoding/Chunking Prior to Network Activity 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(opens in a new tab or window).