Mac users are being targeted with 14 fake application installers that appear to offer familiar software but instead start a credential-stealing remote-access trojan.
The files were distributed as macOS disk images and installer packages, giving attackers another route into systems used by developers and job seekers.
The activity is tied to the long-running Contagious Interview campaign, in which attackers pose as recruiters and send coding tests, repositories or packages to prospective candidates.
This latest wave moves the lure outside the usual developer workflow and hides the infection inside software installers.
Jamf Threat Labs identified the installer cluster and linked its staging infrastructure to earlier Git-hook and Visual Studio Code task-file attacks.
The final payload is OtterCookie, a remote-access trojan that can take browser and cryptocurrency-wallet credentials, search for sensitive files and monitor clipboard data.
The risk is not limited to a single fake download. A victim who bypasses macOS warnings can unknowingly launch a decoy application while the hidden program retrieves later stages in the background.
Jamf said in a report shared with Cyber Security News (CSN) that it gives operators a path to valuable account data and a channel for commands on the affected Mac.
Security teams should treat reports of unsolicited interview software as possible security incidents, especially when applicants are asked to disable safeguards, run terminal commands, or install a package outside normal distribution channels.
14 Fake macOS Installers Linked to DPRK Campaign
The 14 samples impersonate applications including The Unarchiver, Presentify, PDFify, Magic Disk Cleaner, Sketch, SiteSucker Pro, RAR Extractor Max, Mp3tag, Mole, HextEdit, Folder Preview Pro, Disk Doctor Pro, ServerCat and Bartender.
Researchers found both DMG and PKG versions, all lacking a valid signature and notarization. In the disk-image route, attackers changed the app configuration so a hidden executable named .macos runs when the user double-clicks the bundle.
It removes the quarantine attribute from the real app, opens that app as a decoy, then contacts a staging server. This tactic echoes malicious Git hook attacks that used job-related coding work to trigger malware.
The package route uses a different wrapper but reaches the same destination. The unsigned installer places a preinstall script under Application Support, while a postinstall script launches it.
.webp)
That script fetches the next stage and attempts to clear the protection flag from the installed application. The hidden executable is built for Intel processors, so Apple-silicon Macs need Rosetta 2 before it can launch.
The dependency is notable because researchers have previously documented x86-64 macOS malware delivery designed around Rosetta 2, but it does not remove the need for victim interaction in this case.
Job Lures Expand Attack Chain
The first downloaded script creates a concealed ~/.task folder and retrieves tokenlinux.sh. The next script downloads Node.js, a malicious parser.js file and supporting components, runs an installation command, and launches the final program.
Later retrieval requests carry short-lived signed tokens that appear designed to track the session and control access to each stage.
OtterCookie contains a Socket.IO-based remote-access component, a browser and wallet credential stealer, an in-memory file scanner and a clipboard collector.
.webp)
Its use is consistent with OtterCookie hidden in SVGs, another campaign that targeted developers through a seemingly legitimate project.
The samples may reflect active testing or early development because they do not run by default. Still, the combined social engineering and staged delivery show why a security warning should not be treated as a routine obstacle.
Users should obtain Mac software only from trusted sources, verify a developer signature where possible, and avoid removing the quarantine attribute merely to make an unfamiliar app run.
Organizations should keep threat prevention, advanced detection and web controls enabled to block and report similar activity, particularly for staff handling interview assignments or external code.
The campaign also reinforces the need to review repositories, package scripts and unexpected installers before execution.
Indicatprs of compromise (IoCs):-
| Type | Indicator | Description |
|---|---|---|
| IP address | 162.0.239[.]85 |
Staging C2 server, port 3000 |
| IP address | 147.124.202[.]205 |
OtterCookie operator C2 server using ports 7671, 7676 and 7679 |
| Domain | w3pi[.]social |
Domain resolving to the staging host |
| Domain | miniapp.w3pi[.]social |
TLS certificate common name associated with the staging host |
| Domain | softcus[.]net |
Domain resolving to the staging host |
| Domain | pobelstudio[.]com |
Domain resolving to the staging host |
| Domain | pobel[.]studio |
Domain resolving to the staging host |
| Domain | kikaiverse[.]com |
Domain resolving to the staging host |
| Domain | lalitae[.]com |
Domain resolving to the staging host |
| URL | hxxp://162.0.239[.]85:3000/task/mac?token=30621301 |
First-stage payload retrieval |
| URL | hxxp://162.0.239[.]85:3000/task/tokenlinux?token=30621301&st= |
Second-stage script retrieval |
| URL | hxxp://162.0.239[.]85:3000/task/parser?token=30621301&st= |
OtterCookie parser retrieval |
| URL | hxxp://162.0.239[.]85:3000/task/package.json |
Malicious Node.js package configuration retrieval |
| URL | hxxp://147.124.202[.]205/api/service/makelog |
OtterCookie operator endpoint |
| File path | ~/.task/tokenlinux.sh |
Downloaded second-stage shell script |
| File path | ~/.task/node-v20.11.1-darwin-x64/ |
Downloaded Node.js runtime directory |
| File path | ~/.task/node-v20.11.1-darwin-x64/bin/parser.js |
OtterCookie JavaScript payload |
| File path | ~/.task/node-v20.11.1-darwin-x64/bin/package.json |
Malicious Node.js package file |
| File path | ~/.task/node-v20.11.1-darwin-x64/bin/scdata |
Remote-access trojan component |
| File path | ~/.task/node-v20.11.1-darwin-x64/bin/ldata |
Credential-stealing component |
| File name | Mole/Contents/MacOS/.macos |
Hidden executable launched from the trojanized Mole application |
| SHA-256 | ab5e0684869238c1a1cabadfa0b2e4351490a6343d210ad09c09455ed352b338 |
The Unarchiver 4.3.9.dmg |
| SHA-256 | 0e12f41c2d3d2e48b5a004bff4c126bf8e907bc6c20648f3844ed4ebad126a29 |
Presentify 8.1.2.dmg |
| SHA-256 | 01955691147a036e2104a16f9c3b34d11cb3304e184ed9d533325705599b876b |
PDFify 5.2.dmg |
| SHA-256 | 9ff8a6e839ebfaa185fbd53c35f1e671fe9ce6851738df07d086cae67db3e06a |
Magic Disk Cleaner 5.0.2.dmg |
| SHA-256 | f5686109776f83123d30568e552708a7ad78964396d0f3bfd37d0332f44f8ad6 |
Sketch2026.2.dmg |
| SHA-256 | d9f6c4e60ca24364751e9a3f1550f3600726cb5d185407bc82078aa95ef09e53 |
SiteSucker Pro 6.1.8.dmg |
| SHA-256 | fab2e8e1ac22c5d14fd6531efe4e8e05ca9246786154b2d2f3b7f425777f4818 |
RAR Extractor Max 13.8.dmg |
| SHA-256 | 24a252e72d767d62f3076f4f59780511288ea9eedd0e30f234c9cdd5b7644cbf |
Mp3tag 1.13.0.dmg |
| SHA-256 | 1abbdeee6d03894c0c53240f7ba873fadf9367e312ada1d280420bc88f986e91 |
Mole 1.8.0.dmg |
| SHA-256 | ed3cfda8fcd1936777e3ebabb9a307325c4c2cd793416386c80bf906e4df279b |
HextEdit 1.0.7.dmg |
| SHA-256 | 08425172a2dc19516ba9a3fcca8a0a789962d9b95d1792974f69c086ee64aec9 |
Folder Preview Pro 2.11.1.dmg |
| SHA-256 | 7030b07575e3c6558fecfd1cabc7463f10c7ca37262da7e57221a85464b7982d |
Disk Doctor Pro 1.0.25.dmg |
| SHA-256 | 46d382b234dcd63e66b17799b2e6cefe24ae60e10bef758c6ccf8e72ba0aaa6c |
ServerCat 26.8.0.dmg |
| SHA-256 | d55d6419b20e7bf07025d3e464cd4bc05bc96216bf5f85dd7f9a4cbdba10d8ea |
Bartender 6.6.2.dmg |
| SHA-256 | 3a7fedfeb42f13b2c368c195ec83b8e8c952df7fd506133210868f3eeb06b51d |
The Unarchiver 4.3.9.pkg |
| SHA-256 | 5ab8c5808cc00825c608027d7da8611a5386de65a724fed999828310b3cb4ddb |
RAR Extractor Max 13.8.pkg |
| SHA-256 | 3cda9d3522d471a0018bc58499a424f8084b29e21776d8d63d09fe2d7eca4b49 |
EzyCal 2.6.pkg |
| SHA-256 | 6b33812538be1983c94cedc82f480fd98b7ccdd3df7fa4fda863262818d07ba1 |
Mp3tag.pkg |
| SHA-256 | 791f2c56e945a2b6e99d93b10e6f42c383aa9a083ae98fc74f8720f92789c645 |
Disk Doctor Pro.pkg |
| SHA-256 | e328e5ecf66ac5989aa5f8fb2a7c742d475647b53c929df544b6128db16750d6 |
Mole.pkg |
| SHA-256 | 0d306f347999e02cbbe41d6ff1c47aecbc994213b3cc65bbf4aa723469e6e5ab |
SiteSucker Pro 6.1.8.pkg |
| SHA-256 | 89d36570b91f59f78eaaafba19e91032dce3e6b42d4b7905d38724399bb8c8c2 |
HextEdit.pkg |
| SHA-256 | f9e29c72088f4a7f7789755cd08057f0125c42b352187951623d9290ed0ace1f |
Hidden .macos executable |
| SHA-256 | 0882bb158878a1ca19320f5160dc93f4608c862f3ab652671bb92a82b2f1eb39 |
/task/tokenlinux.sh |
| SHA-256 | 815a41a0c0426ffec3c9ad08e1fb125a040cf0e41acce2a86b891aeb08648d61 |
/task/mac |
| SHA-256 | 42620128470e26d473a128f354b77ca2c5fe9e5782e7addc1e3f863dbd0cd9b0 |
node-v20.11.1-darwin-x64/bin/parser.js |
| SHA-256 | 4c025bda19d6b7b1f9cc209876099b20130a198c18ae22b7809470dde93c62db |
node-v20.11.1-darwin-x64/bin/scdata |
| SHA-256 | b07f46962c409cb854e34e06abcfc616edcc5a554a43cfac8f4f26cb818a340d |
node-v20.11.1-darwin-x64/bin/ldata |
Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.