BRITTLE COMPASS

A fake-indie-game delivery cluster that swapped one stealer kit for another behind the same download button.

Assessment. One password-gated fake-game site served three different malware builds, and the newest replaced an older one under the same download label without the page changing. One operator is the best explanation for who runs it (moderate confidence). The two Java payloads come from commercial kits rather than from that operator (moderate confidence); where the first build came from is unresolved.

Note Source summary. My own static analysis of all three installers and lab execution of the second and third (reliability A; findings within each build checked by more than one method, credibility 2), plus public reporting from Acronis, ANY.RUN, BleepingComputer victims and Steam and Reddit users, graded individually under References. Grades and confidence terms are explained in How I rate things. The main gap: I can’t see who controls the infrastructure or how many people were hit.

01 / the discovery

The label stayed the same.
The payload changed.

One fake-game delivery path. Three sampled builds. A different investigation depending on which installer reached the machine.

Earlier retrieval / UTC

Download label 1.2.6

MICROSTEALER

Discord bot control; Worker exfiltration relay

Installer SHA-256 prefix: dc6967987e47… Full hash

Inspect this sample

Later retrieval / UTC

Download label 1.2.6

EXASTEALER

HTTP and WebSocket panel; TCP 3001 and 3002

Installer SHA-256 prefix: 1bc0ba40c16e… Full hash

Inspect this sample

Detection focused on the original Discord bot channel would miss the replacement's HTTP and WebSocket panel traffic. The same download label now requires different network and host leads.

A download label cannot establish which payload a machine received. Confirm the build from its hashes and host evidence.

Observed retrievals, not release times. The original 1.2.5 installer was also retrieved on 14 October. Acquisition record and full hashes.

02 / follow the delivery

From a game invitation to a foothold

  1. Reported by victims

    A game invitation

    A Discord contact asks someone to try a game.

    Read the reports and their limits
  2. Observed delivery

    A password gate

    A fake-game site requests an installer through a Worker and returns a Dropbox download.

    Inspect the delivery mechanism
  3. Found in the samples

    The installer runs

    There is no game in the samples. Electron launches the payload: JavaScript bytecode in 1.2.5, or a private Java runtime and JAR in the other two.

    Follow each build below
Found in code / lab where stated

Collection comes next

All three target browser and Discord data and modify the Discord client. Wallet collection depends on the build: 1.2.5 has wallet targets in code; EXASTEALER took the 11 wallets planted in the lab. MICROSTEALER has no wallet collector.

Collection findings and their limits
Java builds / observed in lab

Access can outlast the installer

MICROSTEALER and EXASTEALER provide remote shells. Their code establishes logon persistence through a scheduled task or a Run key and Startup shortcut, respectively. Removing the download alone cannot establish a clean machine.

Why the response differs by build

Observed: delivery continuity across the sampled builds.

Assessment: one operator is the best explanation, with moderate confidence. Shared delivery or a handover also fits.

Alternatives and what would change the judgment

03 / distinguish the builds

Follow the sample to the host

Read down each lane: what was retrieved, what it runs, how it communicates, and which artifacts to investigate. These are separate implementations, not an established development lineage.

The replacement changes the hunt

Delivery
The site and download label stayed the same in the observed acquisitions.
Control channel
Discord bot and Worker relay → HTTP and WebSocket panel.
Persistence leads
Scheduled task and java folder → Run value, Startup shortcut and emre folder.

These changes compare MICROSTEALER with EXASTEALER. They do not describe a proven development lineage.

Label 1.2.5

Electron stealer

Static analysis
Retrieved / UTC
Installer SHA-256
6a1f7c820fcc93c156a05102b604837ca11c45aecb1e177d00ce85ada7c5ba07
Electron package version
3.0.3
What executes
Electron / V8 bytecode
Control / data transfer
Discord webhooks; Gofile and Catbox uploads
Host leads to investigate
Modified Discord client; no separate autostart established
Response implication
Investigate credential theft and the modified Discord client. No remote shell identified in this sample.
Read the full build analysis → Indicators · Detection and rules

Label 1.2.6

MICROSTEALER

Static analysis + lab execution
Retrieved / UTC
Installer SHA-256
dc6967987e47d05e936615203365033f6e6dfdc063f64d6627c86c0d4cbdcad4
Electron package version
1.0.0
What executes
Electron / Java 17 / services.jar
Control / data transfer
Discord bot control; Worker exfiltration relay
Host leads to investigate
%LOCALAPPDATA%\java\; scheduled task App_<username>
Response implication
Remote shell observed in lab. Rebuild an infected host; removing the original payload cannot establish it is clean.
Read the full build analysis → Indicators · Detection and rules

Label 1.2.6 replacement

EXASTEALER

Static analysis + lab execution
Retrieved / UTC
Installer SHA-256
1bc0ba40c16e50c38a6d532e2297dcbfb29398ac8b6d19a81df3c5b790c29d16
Electron package version
2.0.0
What executes
Electron / Java 21 / native elevation DLL
Control / data transfer
HTTP and WebSocket panel; TCP 3001 and 3002
Host leads to investigate
%LOCALAPPDATA%\emre\; Run value emre; Startup shortcut
Response implication
Remote shell observed in lab. Rebuild an infected host; investigate wallet theft and account exposure.
Read the full build analysis → Indicators · Detection and rules

Paths, tasks and Run values are leads, not proof of infection or build identity. All three modify Discord. Confirm against hashes and process evidence; missing artifacts do not rule out an earlier infection.

04 / act on the finding

Contain first. Identify the build. Restore trust.

If the download ran, isolate the machine. Use a separate, clean device for account recovery. The full guidance below covers session revocation, Discord, wallets and rebuilding.

The same download label led to different payloads. Identify what ran before choosing build-specific hunts and cleanup steps.

A remote shell in a sample establishes capability. Whether an operator used it on a particular host requires host or network evidence.

The full research record

The analysis, related names, evidence limits and victim guidance follow in full. The build dossiers retain their detection rules, indicators and ATT&CK mappings.

Type
threat-actor
Status
active
Confidence
moderate
First seen
2026-10-14
Last seen
2026-10-15
Related names
Dev7 Gang (kit branding; may name the kit, its author or its community rather than this cluster)
contents
  1. What I observed
  2. Key judgments
  3. Who this is
  4. The lure
  5. How it changed
  6. What a victim loses
  7. Alternatives, assumptions and what would change this
  8. What to do
  9. Infrastructure
  10. References

What I observed #

Two installers retrieved on 14 October 2026 under the labels 1.2.5 and 1.2.6, and an EXASTEALER replacement retrieved on 15 October under the same 1.2.6 label.
Figure: Observed acquisitions on 14 and 15 October 2026. These are retrieval dates, not release dates; full SHA-256 values are in the table below.
The three installers, all downloaded through the lure site’s own form and its download gate
Retrieved (UTC) Download label App version (package.json) SHA-256 Family
2026-10-14 1.2.5 3.0.3 6a1f7c820fcc93c156a05102b604837ca11c45aecb1e177d00ce85ada7c5ba07 Unnamed Electron stealer
2026-10-14 1.2.6 1.0.0 dc6967987e47d05e936615203365033f6e6dfdc063f64d6627c86c0d4cbdcad4 MICROSTEALER
2026-10-15 1.2.6 2.0.0 1bc0ba40c16e50c38a6d532e2297dcbfb29398ac8b6d19a81df3c5b790c29d16 EXASTEALER, on the Palenkova panel

Two things in that table are the core of this page. First, the version numbers on the site don’t match the builds. The app version column is the version field in each installer’s Electron package.json (the Windows file version agrees for the first two): “1.2.5” says 3.0.3 and “1.2.6” says 1.0.0, so the site’s numbering is presentation. Those values aren’t a release sequence either; three distinct implementations, three unrelated numbers. Second, a day after the first two were retrieved, the “1.2.6” download returned a different installer with a different payload, a different command-and-control design and a different kit. The page, the password and the download gate didn’t change. I use the site’s labels on this page because that’s what a victim saw; the build pages say which is which.

Key judgments #

Delivery continuity is observed; one operator and commercial tooling are separate moderate-confidence assessments.
Figure: What’s observed and what’s assessed.
  1. Probably one operator. One operator running the site, the gate and all three builds is the best explanation (moderate confidence). The same delivery path also fits a shared lure, a distributor reselling access, or a handover, and I can’t see who controls the infrastructure. (What I observed, Alternatives)
  2. Bought or licensed tooling. I assess with moderate confidence that the two Java payloads (1.2.6 and 2.0.0) come from commercial kits rather than from whoever runs the lure. I have no comparable evidence either way for the 1.2.5 build. The 1.2.6 build carries a licence identifier that its own exfiltration relay uses as a routing key, and a builder watermark stamped into third-party library classes; the 2.0.0 build authenticates to its panel with a customer-style licence key. That evidence supports the commercial-tooling assessment. A licence string or panel key alone doesn’t identify a supplier or prove a purchase. (How it changed)
  3. More fake games coming. The cluster is likely (55–80%) to relaunch under a new fake game name. I hold that with low confidence, because the precedent comes from public reports of earlier lure names that I haven’t tied to these samples myself. (Who this is)
  4. Turkish-speaking tooling, maybe. I assess with low confidence that the people building at least the 1.2.6 and 2.0.0 kits work in Turkish, based on Turkish command names, resource names and status strings. That’s language context, not attribution; a kit sold internationally would look the same.

Who this is #

BRITTLE COMPASS identifies the delivery cluster; payload names, kit branding and possible earlier lures have different relationships to it.
Figure: Related labels help discovery without proving a common identity.

There’s no established vendor name for this cluster, so BRITTLE COMPASS is my provisional tracking name. It names the delivery cluster, not the malware: one password-gated website, the download service behind it, and the builds delivered through them. The malware families already have names, and this cluster has used more than one.

Related names
Name Used by What it refers to Relationship
BRITTLE COMPASS gib.bz The delivery cluster: lure site, download gate and the builds served through them This page
“Dev7 Gang” The 1.2.6 payload’s own strings; victims on BleepingComputer [3] Branding inside the 1.2.6 kit, and the name victims report seeing in a pop-up Kit branding. Low confidence that it names this cluster rather than the kit, its author, or everyone using the kit
“Micro Stealer” / MICROSTEALER The 1.2.6 payload’s own branding; ANY.RUN [2] The 1.2.6 Java stealer and RAT A family this cluster delivered
“Exastealer” / EXASTEALER The 2.0.0 payload’s own manifest The 2.0.0 Java stealer and RAT A family this cluster delivered
“Palenkova” The 2.0.0 payload’s stolen-data archive names The commercial command-and-control panel behind EXASTEALER A kit this cluster licenses (moderate confidence)
Lucid Stealer Public reporting [4] A commercial stealer sold through Telegram Possibly shares a panel or protocol with Palenkova (low confidence; three matching endpoint paths); see the EXASTEALER page
Earlier lure names Public reports [5, 6, 7] Sikimoris (later Dekunomis), Lunaferies, oblivionPath, Fukoras, Osmiko Studios Possibly related. Same site template per public records; not tied by me to these samples

The first activity I observed directly is 14 October 2026, when I retrieved the first two builds. Some of the infrastructure is older: the 1.2.6 build’s Discord bot account was created on 14 September, the 1.2.5 build’s Discord server on 15 September, and the lure domain was registered on 25 September. Those are creation dates. They show the pieces existed, not that the campaign was running then. Public records show an earlier lure, sikimoris[.]com, on GitHub Pages with the same site template from July 2026 [7]. That’s possible related activity, not established history.

The lure #

A reported Discord invitation leads to a password-gated site, a Worker download request and a Dropbox installer download.
Figure: From a Discord message to an installer. The first step is reported by victims; the rest I observed.

According to victim reports, it starts with a stranger on Discord who made a game and would really like you to try it [3, 5, 6]. The game has a website, a trailer and a download button. The download is password-protected, which sounds like a closed beta; keeping scanners and sandboxes out is a plausible second purpose.

The lure site was registered on 25 September 2026 and served from GitHub Pages. Its download form talks to a Cloudflare Worker, kanegrocerys.colemankathryn2692.workers[.]dev, in two JSON POSTs taken from the page’s own script: one checks the password, the other asks for the file.

POST hxxps://kanegrocerys.colemankathryn2692.workers[.]dev
  {"check": true, "password": "<password>"}                          -> {"ok": true}
  {"password": "<password>", "inviter": "<referrer>",
   "user": "<chosen name>", "version": "<build>"}                    -> {"downloadUrl": "<Dropbox link>"}

(formatted for readability)

The installers are 110–135 MB and contain no game at all. The form also sends a chosen name and a referrer along with the password, which fits tracking which recruiter brought in which victim; I can’t see what the Worker does with them.

How it changed #

The three sampled builds use webhook reporting, a Discord bot with a Worker relay, and an HTTP and WebSocket panel respectively.
Figure: Three separate implementations, not a proven development lineage.
Three builds behind one download gate
1.2.5 1.2.6 1.2.6 replacement (2.0.0)
Family Unnamed Electron stealer (“@neverlose” marker) MICROSTEALER (“Micro Stealer”, “Dev7 Gang”) EXASTEALER, on the Palenkova panel
Payload Obfuscated JavaScript in V8 bytecode Obfuscated Kotlin/Java JAR, private Java 17 runtime Obfuscated Kotlin/Java JAR, private Java 21 runtime, native elevation DLL
Command and control Discord webhooks; Gofile and Catbox uploads Discord bot account and per-victim channels, plus a Cloudflare Worker relay Self-hosted panel on an Azure IP address over plain WebSocket and HTTP
Persistence Discord-client modification; no separate autostart established Scheduled task at each logon Run key and Startup shortcut
Elevation Asks for admin at launch UAC-bypass routines in the code UAC bypass through a custom DLL; no prompt for the administrator account on the tested host (lab)
Remote shell None found Yes (lab) Yes (lab)
Wallet targets configured 83 extensions, 26 desktop wallets (static) None (static and lab) 52 extensions, 48 desktop wallets (static); all 11 planted taken (lab)
Ransomware No .cryptedmicro, operator-triggered (static) .locked, operator-triggered (static)
How analyzed Static only Static and lab Static and lab
Details 1.2.5 1.2.6 2.0.0

The changes look like switching tooling rather than developing one tool. The first two builds were packaged on Electron versions about twenty months apart, with the later build on the older stack. The 1.2.6 build’s relay is keyed by a licence string, and its builder watermark (MicroFlow 4.0) is stamped into 3,108 of its 3,112 class files, third-party libraries included. The 2.0.0 build has neither; it authenticates to its panel with a key of the form PANEL-XXXX-XXXX-XXXX and tags every stolen-data archive “Palenkova”.

The 2.0.0 build’s command channel is a self-hosted panel, not Discord. Detection built only around the Discord bot traffic of 1.2.6 would miss it entirely.

What a victim loses #

Credential collection, remote control and operator-triggered impact are different capabilities.
Figure: What a build can take isn’t proof of what it took. Confirming theft from a victim needs evidence from that host or its network.

Which build ran changes the answer, so each item says where it comes from:

  • Browser data. Saved passwords, cookies, autofill and history from 20 to 45 browsers depending on the build (static, all three). Chrome’s App-Bound Encryption is targeted in all three builds by borrowing a SYSTEM token (static). Success depends on the browser and the build; a Firefox Primary Password defeats the 2.0.0 build’s Firefox decryption (static).
  • Discord. Tokens from the client and browsers (all three). The 1.2.5 and 1.2.6 builds also modify the Discord desktop client to capture logins and TOTP setup secrets, and to block logout and session management (static); the 2.0.0 build modifies it to capture login, two-factor and billing flows (static). Victims report accounts taken over with the two-factor setting changed [3, 5] (reported). The modification lives in Discord’s own files and survives removal of the malware.
  • Cryptocurrency wallets, if 1.2.5 or 2.0.0 ran. Both carry long lists of wallet targets (static); 2.0.0 took all 11 wallets planted in the lab, out of 100 configured targets. 1.2.6 has no wallet collector.
  • Steam account data, if 2.0.0 ran and Steam was installed. It targets Steam login files and tokens (static); in the lab it collected the account name, and I haven’t seen the token theft work (lab).
  • Files. 1.2.5 takes documents, keys and source code automatically (static). 1.2.6 automatically took only .txt files in the lab, and 2.0.0 took no loose documents automatically (lab), but both give the operator a shell that can retrieve files accessible under the payload’s privileges.
  • The machine. 1.2.6 and 2.0.0 give the operator a remote shell, keylogging and screenshots (lab). 2.0.0 also makes the machine a SOCKS proxy for the operator and carries a flood module for attacking third parties (static).
  • Files, encrypted, if the operator chose to run the ransomware command in 1.2.6 or 2.0.0 (static; neither runs on its own).

Alternatives, assumptions and what would change this #

A single operator, a shared delivery service, and a handover or distributor are competing explanations for delivery continuity.
Figure: The same delivery evidence fits more than one explanation.
  • Alternative: several operators sharing one lure. Someone could be renting out the site and gate. Different licence identifiers or panel keys served through the same gate at the same time would support this.
  • Alternative: one developer, not a customer. The builds could come from one person moving between toolchains. I don’t favor it: a licence-keyed relay, a customer-style panel key and a watermark stamped into unrelated libraries all fit kits sold to many customers. The same watermark or key format turning up only in this cluster’s samples would be weak support for it, unless the comparison covered a broad set of samples.
  • Key assumption: the earlier lure names belong to the same cluster. If that’s wrong, the cluster’s directly observed history starts on 14 October 2026, and judgment 3 has no precedent behind it.
  • What would change judgment 1: builds for independently controlled customers served through the current gate at the same time. A later build turning up behind a different gate wouldn’t; that’s a change of infrastructure, not of operator.

What to do #

Isolate the host, recover accounts from a clean device, then restore trust after identifying the build.
Figure: Contain first, recover accounts from a clean device, then decide how to restore the machine.

If someone ran a “game” from one of these sites, in this order:

  1. Isolate the machine. Take it off the network before doing anything on it, and keep it powered on if the operator may have encrypted files.
  2. From a different, clean device, revoke sessions first, then change passwords: email, then Discord, then Google, then anything saved in the browser. A password change doesn’t reliably end existing sessions, so sign out every session with each provider’s own controls first.
  3. Fix Discord from that clean device: sign out every session, change the password, remove and re-enroll two-factor so a new secret is issued, and regenerate backup codes. Don’t sign in to Discord on the infected machine again.
  4. Move cryptocurrency to new wallets created on a clean device if the build was 1.2.5 or the 2.0.0 replacement.
  5. Work out which build ran. Start from the leads on the build pages: %LOCALAPPDATA%\java\ and a scheduled task App_<username> point to 1.2.6; %LOCALAPPDATA%\emre\ and a Run value emre point to 2.0.0. Those are leads to investigate, not proof. Confirm with the installer or payload hashes. All three builds modify the Discord client, so a modified client alone doesn’t identify one, and a failed install or a cleanup attempt can remove the other artifacts.
  6. Rebuild machines infected with either Java build (1.2.6 or 2.0.0). Both support remote commands and running additional payloads, so removing the original malware can’t establish that the machine is clean. That’s a response posture; whether the operator actually used the shell on a given machine is a separate question that only host or network evidence answers. For 1.2.5, for which no remote-shell capability was identified in the analyzed sample, removing the modified Discord client and the application is a reasonable minimum, but rebuilding is still safer.
  7. Uninstall and reinstall Discord with its application data deleted, on the rebuilt or cleaned machine.

For organizations: hunt for Electron applications that ship a private Java runtime next to a JAR. That combination is unusual, and both of this cluster’s Java builds have it. Treat a hit as a lead and confirm it against hashes and process activity.

Infrastructure #

Delivery infrastructure is separate from the MICROSTEALER and EXASTEALER payload-control infrastructure.
Figure: Infrastructure roles. Sharing a role doesn’t prove common ownership.
Infrastructure seen in this cluster’s samples
Type Indicator Context First seen (UTC)
Hostname kanegrocerys.colemankathryn2692.workers[.]dev Download gate (Cloudflare Worker) for all three builds 2026-10-14
Hostname sa.microdenmem.workers[.]dev 1.2.6 exfiltration relay (Cloudflare Worker) 2026-10-14
IPv4 20.55.17[.]20 2.0.0 command and control, TCP 3001 and 3002 (Microsoft Azure) 2026-10-15

File hashes, host artifacts and detection rules are on the build pages: 1.2.5, 1.2.6, 2.0.0.

An earlier fake-game template and a malware-family callback domain remain separate leads, not confirmed cluster indicators.
Figure: Public leads kept apart from the infrastructure in my samples.
Related reporting
Type Indicator Context Source
Domain sikimoris[.]com Earlier fake-game lure on the same site template, July 2026 Public record [7]
Domain swordfull[.]info Call-home domain reported for the MicroStealer / Dev7 family. Not present in my samples Public reporting [2, 3]

References #

Retained artifacts, lab observations and public reports answer different questions and have different limits.
Figure: What each kind of source can and can’t tell you.
  1. Acronis Threat Research Unit, “Threat actors go gaming: Electron-based stealers in disguise”, July 2025. acronis.com (opens in a new tab) (B2: fake-game Electron stealers using similar packaging; a technique comparison, not this cluster)
  2. ANY.RUN, “MicroStealer” malware trends page. any.run (opens in a new tab) (B2 for the family label; not a match to these samples)
  3. BleepingComputer forums, “Stealer Ransomware Plugin-Dev7 Gang (.cryptedmicro) Support Topic” and related victim threads, May–October 2026. bleepingcomputer.com (opens in a new tab) (F3: unverified victim reports)
  4. CYFIRMA, “Technical Analysis of Lucid Stealer: Execution, Capabilities, and C2 Infrastructure”, 10 August 2026. cyfirma.com (opens in a new tab) (B2)
  5. Steam Community discussions warning about fake game copies used as lures, thread 1 (opens in a new tab) and thread 2 (opens in a new tab). (F3)
  6. Reddit r/starcraft, “Warning: Discord scam targeting the SC2 community”. reddit.com (opens in a new tab) (F3)
  7. PhishDestroy, historical record for sikimoris[.]com. phishdestroy.io (opens in a new tab) (C2)

tags

  • threat-actor
  • infostealer
  • rat
  • ransomware
  • fake-game-lure
  • discord
  • gaming

found an error? send it in. corrections are dated and logged on the page.