Detect Underground and Jailbroken LLM Services Obtained for Phishing Lure and Malware Generation in Sumo Logic CSE
Adversaries increasingly obtain artificial-intelligence capabilities rather than developing them from scratch, subscribing to underground uncensored LLM services (WormGPT-style and FraudGPT-style offerings sold on cybercrime forums) or abusing jailbreak prompts against mainstream commercial AI APIs to generate polished phishing email copy, localized BEC lures, obfuscated malware/loader code, and voice-cloned audio for vishing pretexts. This lowers the skill floor for producing convincing, grammatically flawless social-engineering content and functional malicious code without in-house development expertise. From a defender's vantage point this capability-acquisition activity is largely invisible until it manifests downstream, so detection pivots to two observable surfaces: (1) corporate egress traffic to known underground-AI-service infrastructure or anomalous, high-volume API usage patterns against legitimate LLM providers from unexpected internal contexts (e.g., a build server or unmanaged workstation making sustained completions-API calls), and (2) content-based indicators in received email and documents consistent with AI-generated phishing (unusually well-formed but semantically generic lure text, absent from any known template library, arriving from a newly-observed sender at high volume). This detection focuses defenders on the egress/API-abuse side of the equation, since it is the most directly observable within typical enterprise telemetry.
MITRE ATT&CK
- Tactic
- Resource Development
Sumo Detection Query
_sourceCategory=*proxy*
| json auto
| where url matches "*wormgpt*" or url matches "*fraudgpt*" or url matches "*evilgpt*" or url matches "*escapegpt*" or url matches "*api.openai.com*" or url matches "*api.anthropic.com*" or url matches "*generativelanguage.googleapis.com*"
| eval IsUnderground = if(matches(url, "wormgpt|fraudgpt|evilgpt|escapegpt"), "true", "false")
| eval RiskScore = if(IsUnderground = "true", 90, 40)
| stats count as CallCount, values(url) as SampleUrls by _sourceHost, RiskScore
| sort by RiskScore desc Sumo Logic detection for outbound proxy traffic to underground AI-service infrastructure (high risk) or legitimate LLM API providers (baseline risk, feeding downstream volumetric review), supporting detection of adversary AI-capability acquisition or abuse.
Data Sources
Required Tables
False Positives & Tuning
- Approved AI/ML development workloads
- Authorized security research into underground marketplaces
- SaaS gateway integrations proxying legitimate LLM API traffic
Other platforms for THREAT-Capability-MaliciousAIToolAbuse
Testing Methodology
Validate this detection against 2 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Outbound Connection Referencing Underground AI Service Naming Pattern
Expected signal: Sysmon Event ID 3 / DeviceNetworkEvents: outbound connection attempt from powershell.exe to a hostname containing 'wormgpt'. DNS resolution will fail (NXDOMAIN) since the domain is a placeholder, but the connection attempt and DNS query are logged.
- Test 2Sustained High-Volume Requests to Legitimate LLM API Endpoint
Expected signal: Sysmon Event ID 3 / DeviceNetworkEvents: approximately 55 outbound connections from powershell.exe to api.openai.com within roughly 15 seconds. Requests will return 401 Unauthorized due to the invalid test key, but the connection attempts are logged regardless.
References (5)
- https://attack.mitre.org/techniques/T1588/007/
- https://attack.mitre.org/tactics/TA0042/
- https://www.slashnext.com/blog/wormgpt-the-generative-ai-tool-cybercriminals-are-using-to-launch-business-email-compromise-attacks/
- https://www.netenrich.com/blog/fraudgpt-the-villain-avatar-of-chatgpt
- https://www.microsoft.com/en-us/security/blog/2024/02/14/staying-ahead-of-threat-actors-in-the-age-of-ai/
Response Playbook
Triage
- Identify the device and user account associated with the flagged connection, and determine whether the host is a known developer workstation, an approved AI-integration server, or an unexpected/unmanaged asset.
- For Pillar 1 hits (underground AI service naming match): treat as high-confidence malicious intent-to-acquire-capability regardless of host type — legitimate business has no reason to contact WormGPT/FraudGPT-branded infrastructure. Escalate directly to the affected user's manager/HR if the account is a legitimate employee, since this may indicate insider threat or a compromised account being used for criminal tooling acquisition.
- For Pillar 2 hits (anomalous legitimate-LLM-API volume): check whether the API key/credential used is a known organizational key (via API provider's usage dashboard/audit log if accessible) or an unrecognized key — a stolen/leaked API key being hammered from an unexpected host is a strong compromise indicator.
- Review the process that initiated the API calls — is it a recognized development tool/IDE/SDK, or an unfamiliar script/binary? An unsigned or newly-created binary making sustained LLM API calls warrants immediate escalation.
- If possible, review sampled request/response content (via proxy SSL-inspection logs or API provider audit logs) for thematic indicators: bulk generation of email-style text, requests referencing 'urgent,' 'invoice,' 'password,' or requests for code generation involving process injection, credential harvesting, or obfuscation.
- Check whether the same host or user account shows other suspicious activity in the same window — bulk email sending, mail-merge tooling, or newly-installed phishing-kit software — which would corroborate that the AI usage is feeding a downstream phishing/malware operation.
- Determine whether this is the organization's own infrastructure being abused (e.g., an employee moonlighting in cybercrime, or a compromised host with a stolen legitimate API key) versus simple network visibility into an outbound connection attempt that was blocked — the response differs significantly between these scenarios.
Containment
- If a legitimate organizational LLM API key is confirmed compromised or abused: immediately rotate/revoke the key via the provider's console and review recent usage logs for the full scope of generated content.
- Block underground AI-service domains/IPs at the web proxy and firewall organization-wide — there is no legitimate business justification for outbound traffic to these services.
- If the host is compromised (rather than a case of insider misuse), isolate it via EDR network isolation and proceed with standard incident response — treat any content generated via the API as adversary tooling in progress.
- If insider misuse by a legitimate employee is confirmed, engage HR/Legal per organizational policy before taking endpoint action, since this scenario requires personnel-process handling rather than pure technical containment.
- Hunt for downstream artifacts consistent with the generated content's likely purpose: newly staged phishing email templates, unfamiliar malware samples with unusually clean/idiomatic code style, or bulk outbound email activity from the same user/host.
- If the underground AI service was contacted from a build or CI/CD host, treat as a potential supply-chain risk and audit recent build artifacts/commits for anomalous code introduced around the same timeframe.
Evidence Collection
- Proxy/firewall logs for the full URL, destination IP, and timing of connections to the flagged AI-service hostnames.
- API provider audit/usage logs (OpenAI organization usage dashboard, Anthropic console, etc.) identifying the specific API key, request volume, and (where available) request/response samples.
- Sysmon/DeviceProcessEvents for the initiating process and its full command line or parent-child chain, especially if the calling process is an unfamiliar script or binary.
- Any locally cached scripts, SDK configuration files, or credential stores (.env, config.json) on the host referencing the AI service or API key.
- Corroborating downstream artifacts: outbound email logs, phishing-kit files, or malware samples generated in temporal proximity to the flagged AI-service usage.
- HR/personnel context if insider misuse is suspected, handled per organizational investigation policy and with appropriate access controls on the resulting case file.
Escalation Criteria
- !Confirmed contact with a known underground/jailbroken AI-service brand (WormGPT/FraudGPT-style) from any organizational asset — this alone warrants security leadership notification given the clear malicious-intent signal.
- !A legitimate organizational LLM API key was used to generate content inconsistent with its authorized business purpose (e.g., a customer-support bot's key generating phishing-style text).
- !The flagged host subsequently exhibits mass outbound email activity, phishing-kit deployment, or newly compiled malware with characteristics suggesting AI-assisted generation (unusually clean obfuscation, idiomatic comments in unexpected languages).
- !The activity originates from a build/CI/CD or software-development host, raising supply-chain risk that generated code was introduced into a production codebase.
- !Insider-threat indicators are present (employee account, off-hours activity pattern, prior HR flags) rather than a clear external-compromise narrative — route to the insider threat program per policy.
Investigation Guide
Related Techniques
Forensic Artifacts
- >
Proxy/firewall connection logs for the underground-AI-service or legitimate-LLM-API destination, including full URL path (which may reveal the specific API endpoint/model used). - >
API provider server-side audit logs (where accessible via the organization's own account) showing prompt/response metadata, token volume, and timestamps. - >
Sysmon Event ID 3 (Network Connection) and Event ID 1 (Process Creation) for the initiating process, correlated by ProcessGuid. - >
Any locally stored API credentials, .env files, or SDK configuration referencing the AI service. - >
Downstream generated-content artifacts: phishing email templates, malware source/binaries, or synthetic audio files, if recovered from the host or associated infrastructure. - >
DNS query logs for the underground-AI-service hostname in the period preceding the connection, establishing whether this was a fresh lookup or a cached/repeated pattern.
Tuning Guidance
This detection has a structurally different risk profile than most Resource Development detections: Pillar 1 (underground AI-service contact) is very high fidelity with minimal false positives, while Pillar 2 (anomalous legitimate-API volume) is inherently noisy in any organization actively adopting AI tooling and requires ongoing allowlist maintenance. Tuning recommendations: (1) Maintain the DeviceName/host exclusion list for Pillar 2 as a living artifact tied to your AI governance program's approved-tooling inventory, updating it whenever new AI-integrated applications are onboarded; (2) Consider moving Pillar 2's threshold from a static call-count to a per-host historical baseline (e.g., alert only on >3x a host's own 30-day rolling average) to reduce tuning burden as legitimate AI adoption grows across the organization; (3) For Pillar 1, treat any hit as a standing high-priority alert with no suppression — there is essentially no legitimate reason for outbound contact with branded underground AI-service infrastructure; (4) Where budget allows, subscribe to a threat intelligence feed tracking current underground-AI-service domains/infrastructure, since this space evolves quickly and hostname-based indicators age out faster than in most other categories; (5) Pair this network-layer detection with content-based/DLP-layer indicators where available (AI-generated text classifiers on inbound email) since the network signal alone will only catch capability acquisition via organizational egress, not acquisition performed entirely off-network by the adversary.
Hunting Queries
Hunt for LLM API traffic concentrated in off-hours windows (before 6am or after 10pm local time) — legitimate development/business usage typically clusters during working hours, so a burst of API activity overnight from a given process/host is a candidate indicator of automated bulk-content generation for a phishing or malware campaign, or of a compromised host/credential being used outside normal working patterns.
// Hunt: Any process (not just browsers) making repeated LLM-API calls outside business hours
DeviceNetworkEvents
| where Timestamp > ago(14d)
| where RemoteUrl has_any ("api.openai.com", "api.anthropic.com", "generativelanguage.googleapis.com", "api.mistral.ai")
| extend HourOfDay = datetime_part("hour", Timestamp)
| where HourOfDay < 6 or HourOfDay > 22
| summarize CallCount=count(), Devices=make_set(DeviceName, 10) by InitiatingProcessFileName, RemoteUrl
| where CallCount > 10
| order by CallCount desc index=proxy sourcetype="*proxy*"
(url="*api.openai.com*" OR url="*api.anthropic.com*" OR url="*generativelanguage.googleapis.com*" OR url="*api.mistral.ai*")
| eval HourOfDay=strftime(_time, "%H")
| where HourOfDay < 6 OR HourOfDay > 22
| stats count as CallCount, values(host) as Devices by app, url
| where CallCount > 10
| sort - CallCount Hunt for previously-unseen binaries or scripts (created within the past 7 days) that make an LLM API call shortly after appearing on a host — surfaces newly-dropped tooling that leverages a legitimate AI API for content generation, which would evade the volumetric Pillar 2 threshold if the actor deliberately throttles request volume to stay under it.
// Hunt: Newly-created binaries/scripts making their first-ever connection to any known LLM API provider
DeviceProcessEvents
| where Timestamp > ago(7d)
| where ProcessCreationTime > ago(7d)
| join kind=inner (
DeviceNetworkEvents
| where Timestamp > ago(7d)
| where RemoteUrl has_any ("api.openai.com", "api.anthropic.com", "generativelanguage.googleapis.com", "api.mistral.ai")
) on DeviceName, $left.ProcessId == $right.InitiatingProcessId
| summarize FirstSeen=min(Timestamp1), Devices=make_set(DeviceName, 10) by InitiatingProcessFileName, SHA256
| order by FirstSeen desc index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval ProcessAge = now() - _time
| where ProcessAge <= 604800
| join type=inner host
[ search index=proxy sourcetype="*proxy*" (url="*api.openai.com*" OR url="*api.anthropic.com*" OR url="*generativelanguage.googleapis.com*") ]
| stats earliest(_time) as FirstSeen, values(host) as Devices by Image, Hashes
| sort - FirstSeen Atomic Red Team Tests
Uses PowerShell's Invoke-WebRequest to attempt a connection to a benign placeholder hostname containing an underground-AI-service-style keyword, simulating the network telemetry generated when a host contacts WormGPT/FraudGPT-branded infrastructure. The target hostname does not resolve to any real service.
Command
powershell.exe -Command "try { Invoke-WebRequest -Uri 'https://atomictest-wormgpt-simulator.invalid/api' -UseBasicParsing -TimeoutSec 3 } catch { Write-Output 'Connection attempted - check DeviceNetworkEvents' }" Expected Telemetry
Sysmon Event ID 3 / DeviceNetworkEvents: outbound connection attempt from powershell.exe to a hostname containing 'wormgpt'. DNS resolution will fail (NXDOMAIN) since the domain is a placeholder, but the connection attempt and DNS query are logged.
Expected Detection
KQL/SPL Pillar 1 fires on the 'wormgpt' keyword match in the destination URL, SuspicionReason=UndergroundAIServiceContact.
Issues repeated lightweight HTTPS requests to a legitimate LLM provider's API hostname from a script, simulating the volumetric pattern of an actor mass-generating phishing content via a stolen or abused API key from a host not on the organization's approved AI-development list.
Command
powershell.exe -Command "for($i=0; $i -lt 55; $i++) { try { Invoke-WebRequest -Uri 'https://api.openai.com/v1/models' -UseBasicParsing -TimeoutSec 2 -Headers @{Authorization='Bearer atomic-test-invalid-key'} } catch {}; Start-Sleep -Milliseconds 200 }" Expected Telemetry
Sysmon Event ID 3 / DeviceNetworkEvents: approximately 55 outbound connections from powershell.exe to api.openai.com within roughly 15 seconds. Requests will return 401 Unauthorized due to the invalid test key, but the connection attempts are logged regardless.
Expected Detection
KQL/SPL Pillar 2 fires once CallCount reaches the 50-connection threshold for the executing host, SuspicionReason=AnomalousLLMAPIVolumeFromUnapprovedHost — provided the test host is not present in the DeviceName/host exclusion allowlist.