CrashStealer: Notarized Fake Apple CrashReporter App Steals macOS Keychain, Browser, and Crypto Wallet Credentials
CrashStealer (TL-2026-1358), also tracked as MacOS.Stealer.Crash, is a high-severity malware campaign, first published 2026-07-15. It has no confirmed attribution, affects Apple macOS, maps to 32 MITRE ATT&CK techniques (T1005, T1027, T1036.005), and is covered by 9 detection rules and 23 indicators of compromise.
Key facts for TL-2026-1358
- Threat ID
- TL-2026-1358
- Also known as
- MacOS.Stealer.Crash
- Severity
- HIGH
- Status
- ACTIVE
- Category
- MALWARE
- First published
- 2026-07-15
- Last reviewed
- 2026-07-15
- Attribution confidence
- LOW
- Motivation
- FINANCIAL
- Target sectors
- technology, cryptocurrency, general consumer individual macos users
- Target regions
- Global
- Detection rules
- 9
- Indicators of compromise
- 23
Malware and tooling in CrashStealer
Malware and tooling: CrashStealer
CrashStealer is a C++ macOS information-stealer that impersonates Apple's CrashReporter component to trick users into revealing their local system password, then unlocks the Keychain and exfiltrates browser credentials, cookies, ~80 cryptocurrency wallet extensions, and 14 password managers' data. It is distributed via a signed, Apple-notarized dropper ('Werkbit Setup'/Werkbit.app) served from a PIN-gated fake software site (werkbit[.]io) registered in late June 2026, indicating a targeted, invitation-only campaign.
How CrashStealer works
CrashStealer (detected as MacOS.Stealer.Crash) is a macOS information-stealer first observed on VirusTotal in early May 2026 in an apparently unfinished state, with confirmed in-the-wild deployment by early July 2026. The malware is delivered through a multi-stage chain: a signed and Apple-notarized disk image named 'Werkbit.app' ('Werkbit Setup'), distributed from the fake software site werkbit[.]io (registered late June 2026), gates its download behind a meeting PIN — a mechanism that limits exposure to invited/targeted victims and frustrates automated analysis and crawling by security vendors. The dropper (bundle ID dev.golove.velto, binary 'veltod') is signed with a valid Apple Developer ID belonging to 'Emil Grigorov' (Team ID WWB7JA7AQV) and carries a legitimate Apple notarization ticket, allowing it to pass Gatekeeper without an unidentified-developer warning. Apple has since revoked the associated signing credentials after Jamf Threat Labs disclosed the campaign.
Once launched, the dropper contacts a GitHub repository (github.com/mgothiclove/pkeys) to retrieve a staged file ('sys.cache') containing curl commands that fetch a shell script. That script downloads the second-stage payload disk image over cleartext HTTP from endpoint-api-v1[.]com/d/f1b24e/download, saving it as CrashReporter.dmg to /private/tmp/.CrashReporter/CrashReporter.app/Contents/MacOS/. The payload masquerades as Apple's crash-reporting utility, using bundle ID com.apple.crashreporter, the legitimate tool's icon and metadata, and the app name 'CrashReporter.app' to appear trustworthy.
On execution, CrashStealer displays a fake macOS system password prompt designed to resemble a legitimate administrator-privilege authorization dialog. When the victim enters their password, the malware validates it locally and offline using the macOS Directory Service command-line utility ('dscl -authonly'), caching the validated credential at ~/.cache/.sys_auth (mode 600); an incorrect password produces a fake authentication error and re-prompts the victim, closely mimicking real macOS behavior. Once validated, the captured local account password is used to unlock the user's Keychain — macOS's encrypted secret store containing Safari logins, Wi-Fi passwords, application passwords, private cryptographic keys, certificates, and access tokens.
CrashStealer then harvests browser profile data (login databases, cookies, autofill data) from nine Chromium-based browsers (Chrome, Brave, Edge, Opera, Opera GX, Vivaldi, Chromium, NAVER Whale) plus Firefox, targets roughly 80 cryptocurrency wallet browser extensions (including MetaMask, Phantom, Coinbase Wallet, Trust Wallet, Rabby, OKX Wallet, Exodus, Keplr, Solflare, and Backpack), and 14 desktop/browser password managers (1Password, Bitwarden, LastPass, Dashlane, Keeper, KeePassXC, NordPass, Enpass, and RoboForm, among others). It additionally sweeps user-writable locations such as ~/Documents and ~/Downloads for small files of interest, while deliberately skipping system/cache directories (Caches, Logs, Trash, .Trash, CrashReporter, DiagnosticReports, WebKit, Saved Application State, nsurlsessiond, bird, node_modules, __pycache__, .git) and executable/library/archive/media file types to avoid collecting noise or detection artifacts.
Harvested items are organized into staging subdirectories under ~/.cache/com.apple.crashreporter/ using prefixes '.brw_' (browser data), '.ext_' (wallet/extension data), and '.sw_' (password manager/software data), individually encrypted per-file, then packaged into ZIP archives named in the pattern '.zx_[8-hex-chars].zip'. Encryption uses AES-256-GCM via Apple's native CommonCrypto framework, with keys derived through PBKDF2-HMAC-SHA256 over 10,000 iterations and a hardcoded salt constant ('panel_salt_v1'). Exfiltration is performed via libcurl using its multipart form-data interface, initially over cleartext HTTP and later HTTPS, to a hardcoded C2 IP address (179.43.166.242) allow-listed through an App Transport Security (ATS) exception baked into the payload's Info.plist. Operators manage compromised hosts through a web panel at hxxps://endpoint-api-v1[.]com/login.
Persistence is established via a LaunchAgent at ~/Library/LaunchAgents/com.apple.crashreporter.helper.plist (label com.apple.crashreporter.helper), configured with RunAtLoad=true and SuccessfulExit=false so the agent relaunches the stealer after any unsuccessful exit, ensuring the malware survives reboots and remains active across sessions; the malware also re-signs its own binary to keep its code signature valid after modification.
CrashStealer incorporates layered anti-analysis defenses typical of a maturing commercial-grade stealer: multiple sysctl-based debugger-detection checks (querying KERN_PROC / P_TRACED, exiting with code 45 if a debugger is attached), control-flow flattening using dispatch blocks and jump tables to hinder static analysis, and runtime string decryption for sensitive strings stored in the binary's __const section. Related attacker-controlled infrastructure identified alongside werkbit[.]io includes the domains cohezo[.]io, cohezo[.]com, and cordinex[.]io, suggesting a broader distribution network beyond the single observed campaign.
MITRE ATT&CK techniques used in TL-2026-1358
Collection
T1005 Data from Local System; T1119 Automated Collection; T1560.001 Archive via Utility
Defense Evasion
T1027 Obfuscated Files or Information; T1036.005 Match Legitimate Resource Name or Location; T1140 Deobfuscate/Decode Files or Information; T1218 System Binary Proxy Execution; T1497.001 System Checks
Exfiltration
T1041 Exfiltration Over C2 Channel
Credential Access
T1056.002 GUI Input Capture; T1539 Steal Web Session Cookie; T1552.001 Credentials In Files; T1555.001 Keychain; T1555.003 Credentials from Web Browsers; T1555.005 Password Managers
Discovery
T1057 Process Discovery; T1083 File and Directory Discovery; T1518 Software Discovery
Execution
T1059.004 Unix Shell; T1204.002 Malicious File
Command and Control
T1071.001 Web Protocols; T1102 Web Service; T1105 Ingress Tool Transfer
Initial Access
Persistence
T1543.001 Launch Agent; T1547.015 Login Items
defense-impairment
T1553.002 Code Signing; T1685 Disable or Modify Tools
command-and-control
T1573.001 Symmetric Cryptography
Resource Development
T1583.001 Domains; T1588.003 Code Signing Certificates
Impact
Affected products and versions in CrashStealer
- Apple — macOS
Vulnerable versions: all supported macOS versions accepting Gatekeeper-notarized third-party applications
Remediation for CrashStealer
Immediate actions
- Block outbound network connections to C2 IP 179.43.166.242 at network/DNS perimeter
- Block/sinkhole DNS resolution for werkbit[.]io, endpoint-api-v1[.]com, cohezo[.]io, cohezo[.]com, and cordinex[.]io
- Hunt for LaunchAgent com.apple.crashreporter.helper.plist at ~/Library/LaunchAgents/ across managed macOS fleets
- Hunt for staging artifacts under ~/.cache/com.apple.crashreporter/ (subdirectories .brw_, .ext_, .sw_ and files matching .zx_*.zip)
- Hunt for disk images or apps named 'Werkbit', 'Werkbit Setup', or 'CrashReporter.app' outside /System and Apple's official CrashReporter locations
- If a match is found, revoke/rotate the local account password used to unlock Keychain, rotate all browser-saved credentials, and rotate cryptocurrency wallet seed phrases/private keys
- Verify code-signing/notarization revocation status of Developer ID WWB7JA7AQV (Emil Grigorov) via Apple Gatekeeper/spctl before allowing any binary signed by that identity to run
Workarounds
- Treat any download gated behind a meeting/access PIN from an unfamiliar software vendor as high-risk and avoid installing
- Never enter your macOS account password into a prompt triggered by a third-party 'crash reporter' or diagnostic-sounding utility
- Verify Developer ID and notarization status manually (spctl -a -vvv) before running installers from non-App-Store sources, and independently confirm the developer identity is legitimate rather than trusting notarization alone
Longer-term hardening
- Deploy EDR/XProtect-equivalent behavioral detection for LaunchAgent creation combined with fake system password-prompt UI patterns on macOS
- Enforce application allow-listing / notarization-plus-vendor-reputation checks rather than trusting Apple notarization alone as a safety signal
- Educate users that legitimate macOS system password prompts are never triggered by third-party crash-reporting or diagnostic utilities
- Deploy network egress monitoring/DLP for AES-encrypted ZIP exfiltration to unrecognized IPs from user-space macOS processes
- Restrict browser extension installation policy for cryptocurrency wallets and password managers on managed endpoints where feasible
Timeline of CrashStealer
- CrashStealer sample first appears on VirusTotal in an apparently unfinished/in-development state, per Jamf Threat Labs tracking.
- Distribution domain werkbit[.]io is registered, later used to host the notarized 'Werkbit Setup' dropper behind a PIN gate.
- Confirmed in-the-wild deployment of CrashStealer begins via the PIN-gated werkbit[.]io site, delivering the notarized Werkbit.app dropper.
- AppleInsider publishes coverage of the CrashStealer campaign targeting Mac users' passwords and data.
- Jamf Threat Labs publishes technical analysis of CrashStealer, detailing the fake CrashReporter masquerade, notarization abuse, and full credential-theft capability set.
- BleepingComputer, TheHackerNews, SecurityAffairs, Help Net Security, Infosecurity Magazine, TechRadar, and Cybersecurity News publish independent coverage corroborating the campaign's technical details and IOCs.
- Apple revokes the code-signing and notarization credentials for Developer ID WWB7JA7AQV (Emil Grigorov) after Jamf shared findings with Apple's security team.
- Malwarebytes Threat Intelligence publishes consumer-facing coverage warning that the fake Apple app can unlock a Mac's password vault, prompting this threat record.
Sources cited for CrashStealer
- This fake Apple app can unlock your Mac's password vault
- New CrashStealer malware poses as Apple crash reporting tool
- CrashStealer: C++ macOS Infostealer Posing as Crash Reporter
- CrashStealer macOS Malware Uses Notarized Dropper to Pass Gatekeeper Checks
- 'CrashStealer' malware poses as an Apple tool to steal passwords & Mac data
- New macOS malware steals passwords by posing as Apple's crash-reporting tool
- CrashStealer: New macOS Infostealer Uses Signed Apps to Evade Gatekeeper
- New macOS Malware Exploits Legitimate Developer ID to Pose as Apple Crash Reporter
- This new macOS infostealer poses as an Apple crash reporting tool to try and steal all your valuable data
- New macOS Stealer Mimics Apple's Crash-Reporting Framework to Steal Browser Credentials
- CrashStealer malware masquerades as Apple's crash report tool to raid your Mac
Threats related to CrashStealer
- CrashStealer: Novel macOS Information Stealer Disguised as Apple Crash Reporter (Jamf Threat Labs)
- CrashStealer: Native C++ macOS Infostealer Masquerading as Apple's CrashReporter via Notarized 'Werkbit' Dropper
- CrashStealer: Signed & Notarized macOS Infostealer Delivered via Fake Meeting App "Werkbit"
- CrashStealer: Native C++ macOS Infostealer Impersonating Apple's CrashReporter, Delivered via Notarized "Werkbit" Meeting-App Lure
- Over 250 ClickFix Domains Use Browser Fingerprinting to Hide macOS Malware Lures — Atomic Stealer (AMOS) and MacSync Campaign
- macOS ClickFix Campaign Using Browser Fingerprinting Gate to Distribute Atomic Stealer (AMOS) and MacSync Infostealers
Detection coverage for TL-2026-1358
As of 2026-07-15, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-1358 across Splunk SPL, Microsoft KQL and Sigma, covering 23 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.
Community OSINT corroboration for TL-2026-1358
4 of this threat's indicators have also been reported by the open-source security community, which observed at least one of them before this report was published. Community sightings are unverified and are kept separate from Threadlinqs' curated indicators. Indicator values, reporters and campaign linkage are available to authenticated Red-tier users.