Defense Evasion (TA0005)(external, opens in a new tab or window)
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)
text code block: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(external, opens in a new tab or window).