
Executive Summary
Industry researchers have identified CrashStealer, a newly active macOS infostealer that combines a signed and notarized delivery mechanism with sophisticated credential theft, cryptocurrency wallet targeting, and extensive anti-analysis techniques. Unlike many existing macOS stealers that rely on AppleScript or Objective-C wrappers, CrashStealer is implemented primarily in native C++, reflecting an increasingly mature approach to macOS malware development. The malware abuses trusted Apple technologies to bypass user protections, validates stolen credentials locally before collection, encrypts harvested data using AES-256-GCM, and establishes persistence through LaunchAgents while masquerading as legitimate Apple components. The campaign demonstrates that macOS ecosystems are no longer niche targets.
Key Takeaways
- CrashStealer employs a signed and Apple-notarized installer to bypass Gatekeeper protections before deploying its malicious payload.
- The malware targets browser credentials, Apple Keychain, cryptocurrency wallets, password managers, and sensitive user files while encrypting collected data prior to exfiltration.
- Native C++ implementation, encrypted strings, control-flow flattening, and layered anti-debugging distinguish CrashStealer from many existing macOS information stealers.
- Multiple stages of credential validation, persistence, and defense evasion indicate a professionally developed malware family that has recently transitioned from development into active operations.
Background
For many years, enterprise defenders viewed macOS malware as comparatively unsophisticated when measured against mature Windows crimeware ecosystems. While macOS malware families have steadily increased in both volume and sophistication, many campaigns continued to rely heavily on AppleScript-based loaders, simple Objective-C applications, or commodity stealers that borrowed heavily from existing malware. CrashStealer represents another step in the evolution of macOS-focused threats.
Discovered by Jamf Threat Labs after a suspicious sample appeared in May 2026, CrashStealer initially appeared to be an unfinished project. By early July, however, researchers observed detections in operational environments matching internal detection rules, suggesting the malware had transitioned into active deployment. This progression from development to real-world operations illustrates how quickly modern malware projects can mature once core functionality has been completed.
Rather than functioning as simple credential-stealing malware, CrashStealer combines multiple capabilities including credential theft, cryptocurrency wallet theft, password manager harvesting, Keychain compromise, reconnaissance of defensive software, encrypted data staging, persistence, and anti-analysis protections.
Although its objectives overlap with established macOS stealers such as Atomic (AMOS), MacSync, and Phexia, Jamf assesses that CrashStealer's implementation differs sufficiently to warrant classification as a distinct malware family rather than a variant of existing threats. Its native C++ architecture, extensive client-side encryption, and unique delivery chain distinguish it from many contemporary macOS stealers.
Initial Access and Delivery Chain
One of CrashStealer's most notable characteristics is its carefully engineered delivery mechanism.
Instead of distributing the payload directly, operators first deliver a signed and Apple-notarized installer named Werkbit Setup. The installer masquerades as legitimate software while carrying a valid Apple Developer ID and notarization ticket, allowing it to satisfy Gatekeeper's trust requirements during initial execution. This represents a significant departure from many macOS malware campaigns that rely on unsigned applications requiring users to manually bypass security protections.
The installer presents a professional-looking installation interface and encourages victims to launch the application using the familiar "Right Click -> Open" workflow. Although the application is already notarized and would launch normally, this instruction reinforces user trust through familiar installation behavior.
Once executed, the installer retrieves configuration information from GitHub before downloading additional components from attacker-controlled infrastructure. Rather than embedding operational scripts directly within the installer, CrashStealer retrieves them dynamically and reconstructs them through Base64 decoding before execution. This staged architecture reduces static indicators while allowing operators to modify downstream infrastructure without rebuilding the initial installer.
The downloaded shell script performs several functions designed to prepare the environment:
- Downloads the malicious payload
- Mounts a hidden disk image
- Removes existing signatures
- Applies a new ad hoc signature
- Clears extended file attributes
- Registers the application with Launch Services
- Launches the malware in the background
This staged approach provides multiple opportunities for operators to replace payloads or update infrastructure while maintaining a trusted initial access mechanism. From a defender's perspective, the combination of GitHub staging, notarized installers, and dynamically retrieved scripts illustrates the growing sophistication of macOS malware delivery chains. Rather than attempting to defeat Apple's security mechanisms directly, CrashStealer abuses legitimate trust relationships already established within the operating system. This reflects a broader trend across the threat landscape, in which adversaries increasingly leverage trusted services, valid code-signing certificates, legitimate cloud platforms, and native operating system functionality to blend malicious activity with normal system behavior. By exploiting existing trust rather than circumventing security controls outright, attackers can reduce user suspicion, evade traditional security mechanisms, and complicate detection efforts for defenders.
Technical Analysis
Native C++ Architecture
Perhaps the most technically significant aspect of CrashStealer is its implementation. Many existing macOS information stealers rely on Objective-C frameworks or AppleScript components that leave recognizable artifacts during execution. CrashStealer instead uses native C++ centered around an internal class known as MacOSData, providing developers with greater flexibility while reducing dependence on higher-level Apple frameworks.
Although native C++ alone does not inherently improve malware capabilities, it provides several operational advantages. A native implementation allows developers to reuse substantial portions of code across platforms, minimize Objective-C runtime artifacts that defenders often monitor, and implement lower-level functionality more efficiently. As macOS malware continues to mature, native-language development may become increasingly common among professional threat actors seeking greater portability and maintainability.
Credential Validation and Keychain Access
CrashStealer validates victim credentials before initiating large-scale collection activities. Rather than simply harvesting passwords entered into phishing dialogs, the malware invokes legitimate macOS directory service utilities using dscl -authonly to verify credentials locally. Invalid passwords trigger repeated authentication prompts until the victim provides valid credentials. Once validated, the malware unlocks the user's login Keychain using Apple's own security unlock-keychain utility before copying sensitive credential databases into its staging area.
This validation process offers two operational benefits. First, operators avoid receiving incorrect credentials that provide little intelligence value. Second, successful authentication enables direct access to Keychain contents, dramatically expanding the range of credentials available for theft beyond browser-stored passwords alone. The use of legitimate system utilities also blends malicious activity with expected administrative behavior, complicating simplistic detection approaches based solely on executable names.
Collection Scope
CrashStealer's primary objective is comprehensive credential and financial data theft. Rather than focusing exclusively on browser passwords, the malware performs broad collection across multiple categories of sensitive information. The malware targets Chromium-based browsers including Google Chrome, Microsoft Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, and NAVER Whale, while also collecting Firefox credential stores and browser profile data. By leveraging SQLite backup APIs, CrashStealer can safely copy browser databases even while they remain in use, allowing operators to obtain stored credentials, cookies, browsing artifacts, and session information without requiring browsers to be closed.
Beyond browser credentials, CrashStealer demonstrates an unusually broad focus on cryptocurrency theft. Researchers identified support for approximately 80 cryptocurrency wallet extensions spanning multiple blockchain ecosystems, including MetaMask, Phantom, Coinbase Wallet, Trust Wallet, Rabby, Exodus, Keplr, Solflare, Backpack, OKX Wallet, and numerous wallets supporting Solana, Cosmos, TON, Sui, Aptos, and NEO ecosystems.
CrashStealer also targets at least fourteen password managers, including widely used solutions such as 1Password, Bitwarden, LastPass, Dashlane, Keeper, KeePassXC, NordPass, RoboForm, and Enpass, further broadening its credential theft capabilities. By simultaneously harvesting browsers, password managers, Keychain data, and cryptocurrency wallets, operators maximize the likelihood of obtaining credentials that enable lateral movement, financial theft, or follow-on compromise.
CrashStealer also incorporates a dedicated file-search component that recursively searches user directories such as Documents and Downloads while intentionally excluding directories unlikely to contain valuable information, including caches, log folders, Git repositories, and application binaries. This selective approach reduces exfiltration volume while focusing collection efforts on documents more likely to contain credentials, financial records, intellectual property, or sensitive business information.
Encryption, Exfiltration, and Persistence
One of CrashStealer's more sophisticated design choices is encrypting stolen information before transmission. Instead of collecting plaintext files and packaging them for upload, each harvested artifact is individually encrypted using AES-256-GCM, with encryption keys derived through PBKDF2-HMAC-SHA256 before being archived into ZIP files for exfiltration. This client-side encryption protects stolen data even if intermediate staging directories are discovered during incident response, making forensic recovery significantly more difficult. The malware then transmits encrypted archives to attacker-controlled C2 infrastructure using libcurl multipart uploads. Jamf researchers confirmed active communications with the configured C2 during dynamic analysis, validating that the infrastructure remained operational during investigation.
Persistence is established through familiar macOS mechanisms. CrashStealer copies itself into the user's Library cache directory before creating a LaunchAgent named com.apple.crashreporter.helper, continuing its impersonation of legitimate Apple software. LaunchAgent configuration ensures execution during user logon while automatically restarting the malware should the process terminate unexpectedly. Standard output and error streams are redirected to /dev/null, minimizing forensic artifacts that defenders might otherwise discover.
Defense Evasion and Anti-Analysis
CrashStealer incorporates several techniques intended to complicate malware analysis while reducing detection opportunities. Researchers identified extensive control-flow flattening, a software obfuscation technique that transforms normal program logic into indirect execution paths. Although functionality remains unchanged, this dramatically increases the difficulty of manual reverse engineering by obscuring logical execution flow. Operational strings, including browser names, wallet identifiers, C2 URLs, and collection targets, are encrypted within the executable and decrypted only at runtime. This significantly limits the effectiveness of static analysis and traditional signature generation.
The malware also performs multiple anti-debugging checks using macOS system APIs before malicious activity begins. Importantly, researchers found these checks occur at multiple stages of execution, meaning bypassing one anti-debugging routine is insufficient to analyze the malware successfully. Layered anti-analysis techniques such as these are more commonly associated with mature Windows malware families than traditional macOS threats, highlighting the continued evolution of Apple's malware ecosystem.
Why CrashStealer Matters
CrashStealer is noteworthy not because it introduces entirely new capabilities, but because it combines proven techniques into a polished, professionally engineered malware family. The use of a signed and notarized installer demonstrates how threat actors increasingly abuse legitimate software trust mechanisms rather than attempting to bypass them outright. By leveraging Apple's own code-signing ecosystem, operators significantly reduce user suspicion during initial execution.
Likewise, implementing the malware primarily in native C++ reflects a growing trend toward more portable and maintainable codebases. Native implementations reduce reliance on platform-specific frameworks while enabling developers to reuse significant portions of functionality across operating systems. Perhaps most importantly, CrashStealer reinforces an increasingly important defensive reality, that macOS environments should no longer be considered inherently low risk. Enterprise adoption of macOS devices has expanded considerably over the past decade, making Apple systems increasingly attractive targets for financially motivated cybercriminals seeking access to enterprise credentials, cloud services, and cryptocurrency assets.
CrashStealer appears to represent a professionally maintained malware family that has recently transitioned from active development into operational deployment. The staged delivery chain, client-side encryption, mature persistence mechanisms, and extensive anti-analysis protections suggest continued development investment and the potential for future capability expansion.
Analyst Commentary
CrashStealer illustrates the continued maturation of the macOS malware ecosystem and demonstrates why defenders should no longer assume Apple endpoints face substantially lower risk than their Windows counterparts. While the malware does not introduce fundamentally new collection techniques, its implementation reflects a deliberate effort to improve operational security through trusted software abuse, native development, client-side encryption, and layered anti-analysis protections. The combination of a notarized delivery mechanism, local credential validation, encrypted staging, and selective data collection suggests the operators have invested considerable effort into producing a reliable, scalable infostealer rather than a proof-of-concept.
Perhaps the most important lesson from CrashStealer is that static indicators alone are unlikely to provide reliable long-term detection. Developer certificates can be revoked, domains replaced, payload hashes changed, and encrypted strings regenerated with minimal effort by the operators. However, the behavioral sequence required for the malware to accomplish its objectives remains significantly more difficult to disguise. Credential validation through dscl, Keychain unlocking, simultaneous browser and cryptocurrency wallet access, LaunchAgent creation, removal of quarantine attributes, and encrypted archive generation collectively create a distinctive behavioral profile that defenders can leverage for detection.
This type of malware is precisely where PolySwarm's crowdsourced malware intelligence and multi-engine analysis provide significant value. Newly emerging threats frequently evade individual antivirus vendors during the earliest stages of deployment, particularly when operators rapidly rotate infrastructure, modify payloads, or abuse legitimate Apple signing infrastructure. PolySwarm's ability to aggregate verdicts from numerous independent detection engines helps identify emerging consensus more rapidly than relying on a single security vendor. Combined with behavioral telemetry and threat hunting, organizations can identify novel malware families such as CrashStealer before traditional signature coverage fully matures.
Organizations with enterprise macOS deployments should also recognize that credential theft increasingly serves as the initial step in broader intrusion campaigns. Stolen browser cookies, cloud authentication tokens, password manager vaults, and cryptocurrency wallets provide attackers with opportunities for account takeover, financial theft, and follow-on attacks that extend well beyond the compromised endpoint. Investments in behavioral endpoint detection, identity monitoring, and continuous malware intelligence are therefore becoming essential components of modern macOS security programs.
IOCs
PolySwarm has multiple samples of CrashStealer.
a1966a6d6f54a025f30d55571d21d6537977ca73ffa734c13494b9c806cd7007
08801f81960cd8c1077b4aa2e8124840d56a272842fdcc73263c9968e787e0bd
09bd60ce11ee4324e2052a439a08676e31aac787edda3f9bd02325390b5db2d2
81ef05cc4d07cd22cd7cd7099f278dd9b9a3ae8ad4770b3d387892e1c6cfb7d7
fba5bbe87fa351eedf2f3c16653cc9e4196d73604529bb50a609e2d3ebf1828b
Click here to view all samples of CrashStealer in our PolySwarm portal.
Don’t have a PolySwarm account? Go here to sign up for a free Community plan or subscribe.
Contact us at hivemind@polyswarm.io | Check out our blog | Subscribe to our reports.