Executive Summary
PromptSteal is Google Threat Intelligence Group’s tracking name for malware
originally disclosed by Ukraine’s Computer Emergency Response Team (CERT-UA) as
LAMEHUG. CERT-UA associated the malware with UAC-0001, commonly known as
APT28. Microsoft tracks substantially overlapping actor activity as Forest
Blizzard, while Google uses FROZENLAKE. Public naming systems can differ at
their boundaries, so these aliases should not be treated as proof that every
vendor tracks an identical activity set.
The malware is a Python-based information-stealing capability packaged for
Windows with PyInstaller. Its defining behavior is runtime interaction with the
Qwen2.5-Coder-32B-Instruct large language model through Hugging Face
infrastructure. PromptSteal sends predefined natural-language tasks to the
model, receives Windows command sequences, and executes those commands to
collect system information and documents.
PromptSteal represents a meaningful development in operational AI abuse, but it is not autonomous malware. The observed samples did not select targets, establish strategy, or independently plan an intrusion. The attackers supplied the objectives through static prompts. No reviewed evidence establishes that Qwen or Hugging Face was compromised, or that the activity involved prompt injection, model poisoning, model theft, or another attack against an AI system.
The strongest public evidence supports targeted phishing against Ukrainian
government-related recipients, user execution of disguised Windows files,
LLM-assisted command generation, local discovery, document collection, staging
under %PROGRAMDATA%\info\, and exfiltration through SFTP or HTTP POST. No
PromptSteal-specific persistence mechanism was verified.
[!IMPORTANT] Hugging Face and Qwen are legitimate services and technologies. Their domains and model names are contextual observables, not malicious indicators by themselves. Detection should correlate process ancestry, model-service access, command execution, file collection, staging, and outbound transfer.
Naming and Attribution
| Name | Defensible interpretation |
|---|---|
| PromptSteal or PROMPTSTEAL | Google Threat Intelligence tracking name for the malware related to CERT-UA’s LAMEHUG reporting |
| LAMEHUG | Original malware-family name used by CERT-UA in July 2025 |
| UAC-0001 | CERT-UA activity-cluster identifier associated with APT28 |
| APT28 or Fancy Bear | Widely used industry name for the Russian state-linked espionage actor |
| Forest Blizzard | Microsoft’s current name for the actor formerly tracked as STRONTIUM |
| FROZENLAKE | Google’s tracking name for the actor |
| Sednit or Sofacy | Other industry names associated with substantially overlapping actor activity |
Some secondary sources attribute the PromptSteal name to ESET. The strongest public provenance identified during this research is Google Threat Intelligence Group, while CERT-UA used LAMEHUG. ESET’s PromptLock and PromptSpy names refer to separate AI-related malware and should not be merged with PromptSteal. PromptFlux is also a separate Google-tracked malware family.
The safest case-management label is:
PromptSteal (Google), originally reported as LAMEHUG by CERT-UA and associated by CERT-UA with UAC-0001/APT28.
Attribution to APT28 is strong as a source-backed assessment. Attribution to a specific Russian organizational unit remains an intelligence judgment rather than a fact established solely by the malware’s code.
Timeline
| Date | Event | Evidence characterization |
|---|---|---|
| June to July 2025 | PromptSteal or LAMEHUG reportedly operated against Ukrainian targets | Reported campaign period |
| July 10, 2025 | CERT-UA reportedly began receiving information about the malicious email campaign | CERT-UA-derived reporting |
| July 17, 2025 | CERT-UA publicly disclosed LAMEHUG activity associated with UAC-0001/APT28 | Primary government disclosure |
| November 2025 | Google Threat Intelligence discussed the malware as PROMPTSTEAL and highlighted runtime LLM use | Primary vendor reporting |
| 2026 | MITRE ATT&CK published LAMEHUG as software entry S9035 |
Framework catalog entry |
| Through October 7, 2026 | No reviewed evidence established widespread commodity-stealer activity or a material change in attribution | Intelligence gap, not evidence of inactivity |
Publication dates should not be treated as first-execution dates. The malicious activity necessarily preceded or coincided with incident investigation.
Targeting and Delivery
The documented campaign targeted Ukrainian government-related recipients, including security and defense interests. The observed operation was consistent with state-directed intelligence collection rather than indiscriminate consumer credential theft.
The reported delivery sequence was:
- Attackers sent phishing emails from a compromised legitimate account.
- The messages impersonated representatives of Ukrainian ministries.
- A ZIP archive, including the reported lure
Додаток.pdf.zip, was attached. - The archive contained a disguised
.pifexecutable. - Python malware packaged with PyInstaller launched after user execution.
Additional variants masqueraded as uncensored AI image generators. Those samples used a provocative application lure while collection and exfiltration ran in the background.
The following victimology details remain unknown:
- Definitive victim and infection counts
- A complete targeted-sector list
- Confirmed widespread deployment outside Ukraine
- The method used to compromise the legitimate sender account
Technical Analysis
Runtime LLM interaction
PromptSteal contains predefined, base64-encoded descriptions of the operator’s
desired actions. It sends those descriptions to the
Qwen2.5-Coder-32B-Instruct model through Hugging Face inference
infrastructure. The reported command-generation endpoint was:
router[.]huggingface[.]co/hyperbolic/v1/chat/completions
The malware asked the model to return commands without Markdown formatting. Documented objectives included:
- Create
%PROGRAMDATA%\info\. - Collect computer, hardware, process, service, network, and Active Directory domain information.
- Append discovery output to
%PROGRAMDATA%\info\info.txt. - Recursively copy Office, PDF, and text documents from the user’s Desktop, Documents, and Downloads directories.
The model returned Windows command sequences that the malware executed on the affected host. The malware therefore used the model as a command generator, not as an autonomous intrusion operator.
Discovery and collection
Reported discovery behavior covered:
- Computer and operating-system information
- Hardware information
- Running processes
- Windows services
- Network configuration and connections
- Active Directory domain information
- Files and directories
Reported collection focused on local documents in common user directories. Public evidence reviewed for this report does not establish that these samples stole browser passwords, cryptocurrency wallets, authentication tokens, or other credential stores.
Staging and exfiltration
Observed or reported host artifacts included:
%PROGRAMDATA%\info\
%PROGRAMDATA%\info\info.txt
%PROGRAMDATA%\Додаток.pdf
Variants used at least two exfiltration mechanisms:
- SFTP to attacker-controlled infrastructure
- HTTP POST to a compromised web server
The Hugging Face connection generated commands. It should not be assumed to be the stolen-data destination or the complete operator command-and-control channel.
Persistence
No PromptSteal-specific scheduled task, service, Run key, startup-folder entry, or other persistence mechanism was verified in the reviewed reporting. This does not prove that every variant lacks persistence.
Operational Significance of AI Use
PromptSteal moved generative AI from malware development into the execution workflow. Potential operator benefits include:
- Changing discovery and collection tasks by editing natural-language prompts
- Reducing explicit command strings embedded in the executable
- Producing syntactic variation in command sequences
- Reusing legitimate model-hosting infrastructure
- Extending objectives without implementing every platform command manually
The observed implementation also had limitations:
- Objectives remained attacker-authored and predefined.
- Model output could be malformed, unsafe, or inconsistent.
- The model call created an additional network dependency and detection surface.
- Blocking model access could interrupt command generation if no fallback was implemented.
- Phishing, process creation, staging, document access, and exfiltration remained observable.
Public reporting describes PromptSteal as the first known malware to use an LLM during live operations. That is a visibility-dependent claim. It does not prove that no earlier undisclosed activity existed.
Attack Flow
flowchart TD
A[Compromised legitimate<br/>sender account] --> B[Spearphishing email<br/>with ZIP attachment]
B --> C[Disguised PIF or<br/>fake AI application]
C --> D[Victim executes<br/>PyInstaller payload]
D --> E[Malware sends predefined<br/>prompt to hosted LLM]
E --> F[Qwen2.5-Coder through<br/>Hugging Face]
F --> G[Model returns Windows<br/>command sequence]
G --> H[Malware executes<br/>generated commands]
H --> I[System and domain<br/>discovery]
H --> J[Document discovery<br/>and collection]
I --> K[Stage data under<br/>PROGRAMDATA info]
J --> K
K --> L[Exfiltrate by<br/>SFTP or HTTP POST]
L --> M[Attacker-controlled or<br/>compromised infrastructure]
classDef delivery fill:#dceeff,stroke:#245a8d,color:#102a43
classDef ai fill:#eee5ff,stroke:#6941a5,color:#2f174f
classDef action fill:#fff3bf,stroke:#8a6d1d,color:#3d310d
classDef exfil fill:#ffe3e3,stroke:#9b2c2c,color:#4a1717
class A,B,C,D delivery
class E,F,G ai
class H,I,J,K action
class L,M exfil
The order among individual discovery commands is not established. The flow models their shared position between execution and staging rather than claiming a precise sequence.
Indicators of Compromise
The indicators below were published in technical analysis of the reported samples. They are historical investigation pivots, not permanent block entries. Validate current ownership, prevalence, and source context before taking enforcement action.
File indicators
| SHA-256 | Filename | Context |
|---|---|---|
766c356d6a4b00078a0293460c5967764fcd788da8c1cd1df708695f3a15b777 |
Додаток.pif |
Disguised executable delivered in the reported campaign |
d6af1c9f5ce407e53ec73c8e7187ed804fb4f80cf8dbd6722fc69e15e135db2e |
AI_generator_uncensored_Canvas_PRO_v0.9.exe |
Fake AI image-generator variant |
bdb33bbb4ea11884b15f67e5c974136e6294aa87459cdc276ac2eea85b1deaa3 |
AI_image_generator_v0.95.exe |
Fake AI image-generator variant |
384e8f3d300205546fb8c9b9224011b3b3cb71adc994180ff55e1e6416f65715 |
Image.py |
Reported Python sample |
Network and delivery indicators
| Indicator | Reported role | Handling guidance |
|---|---|---|
144[.]126[.]202[.]227 |
SFTP exfiltration server | Validate current ownership before blocking |
stayathomeclasses[.]com/slpw/up[.]php |
HTTP POST exfiltration endpoint on compromised infrastructure | Treat as a historical path-specific indicator |
192[.]36[.]27[.]37 |
Email-sending infrastructure reportedly accessed through LeVPN | Correlate with message headers and campaign timing |
boroda70@meta[.]ua |
Compromised sender account | Preserve as historical delivery context |
router[.]huggingface[.]co/hyperbolic/v1/chat/completions |
Legitimate model inference endpoint used for command generation | Contextual observable; do not classify the service as malicious |
router[.]huggingface[.]co/nebius/v1/images/generations |
Legitimate image-generation endpoint used by lure variants | Contextual observable; expect legitimate traffic |
MITRE ATT&CK Mapping
| ATT&CK ID | Technique | Confidence | Evidence |
|---|---|---|---|
T1586.002 |
Compromise Accounts: Email Accounts | Medium | A compromised legitimate sender account reportedly delivered phishing messages |
T1566.001 |
Phishing: Spearphishing Attachment | High | ZIP and executable attachments were used |
T1204.002 |
User Execution: Malicious File | High | The recipient had to launch the payload |
T1036 |
Masquerading | High | .pif and fake AI-generator lures concealed malicious execution |
T1059.003 |
Command and Scripting Interpreter: Windows Command Shell | High | Generated Windows command sequences were executed |
T1059.001 |
Command and Scripting Interpreter: PowerShell | Medium | PowerShell-oriented execution is reported, but complete command sets vary |
T1082 |
System Information Discovery | High | System and hardware information was collected |
T1057 |
Process Discovery | High | Running processes were enumerated |
T1007 |
System Service Discovery | High | Windows services were enumerated |
T1016 |
System Network Configuration Discovery | High | Network information was collected |
T1083 |
File and Directory Discovery | High | User documents and directories were searched |
T1482 |
Domain Trust Discovery | Medium | Active Directory domain information was requested |
T1005 |
Data from Local System | High | Local documents were collected |
T1074.001 |
Data Staged: Local Data Staging | High | Data was staged under %PROGRAMDATA%\info\ |
T1102 |
Web Service | Medium | A legitimate model-hosting service supplied generated commands |
T1041 |
Exfiltration Over C2 Channel | Medium | Data was transferred through HTTP or SFTP, but the complete channel architecture is unresolved |
No Persistence tactic is mapped because no persistence behavior was verified. No credential-access, privilege-escalation, lateral-movement, archive, compression, deletion, or impact technique is assigned without supporting evidence.
High-value behavioral sequence
The strongest hypothesis correlates:
Executable email attachment -> execution from a user-writable directory -> Hugging Face API access -> shell-based discovery -> document access ->
%PROGRAMDATA%\infostaging -> SFTP or HTTP upload.
Additional investigation pivots include:
- Find
.piffiles delivered by email. - Correlate email attachment hashes with
DeviceFileEvents,DeviceProcessEvents, andDeviceNetworkEvents. - Hunt for creation of
%PROGRAMDATA%\info\info.txt. - Review PowerShell Script Block Logging, including Windows event ID 4104.
- Baseline approved AI and Hugging Face API clients.
- Inspect unknown PyInstaller executables that access model APIs.
- Search historical proxy and network telemetry for the reported exfiltration endpoint and IP address.
- Preserve prompt bodies and model responses during incident response when technically and legally possible.
Sources
- CERT-UA official LAMEHUG and UAC-0001 disclosure, published July 2025.
- Google Threat Intelligence Group AI Threat Tracker, published November 2025.
- MITRE ATT&CK LAMEHUG software entry S9035, accessed October 7, 2026.
- Cato CTRL threat research analyzing LAMEHUG, including reverse engineering, prompts, infrastructure, and file indicators.
- Splunk analysis of LAMEHUG and LLM-assisted intrusion.
- BleepingComputer coverage of the CERT-UA disclosure, published July 18, 2025.