A LinkedIn Job Offer Tried to Install Malware on My Machine
2026-01-26 • Code Crank •
A freelance code-review lure on LinkedIn led to a trojanized GitLab real-estate application that hid malware inside an otherwise functional React, Express, MongoDB, and SendGrid project. The infection chain abused npm lifecycle behavior by making `postinstall` run the app, which loaded an obfuscated IIFE in `server/controllers/userController.js`, decoded Base64 configuration, fetched a payload from jsonkeeper.com, and executed it with `Function.constructor`. The payload was designed for socket.io command-and-control at `144.172.108.57:4891`, file discovery and upload to `144.172.108.57:4896`, clipboard monitoring, and persistence through a `.npm` PID file. The case matters because it shows how credible recruiting personas and legitimate-looking repositories can be used to compromise developers before any contract or interview is completed.
Indicators of Compromise
| Type | Value | First Seen | Last Seen |
|---|---|---|---|
| DOMAIN | calendly.com | 2024-10-29 | 2026-03-02 |
| HASH | 098f6bcd4621d373cade4e832627b4f6 | 2026-01-26 | 2026-01-26 |
| [email protected] | 2026-01-26 | 2026-01-26 | |
| URL | https://jsonkeeper.com/b/ARL7M | 2026-01-26 | 2026-01-26 |
| URL | https://calendly.com/jack-murra… | 2026-01-26 | 2026-01-26 |
| IPv4 | 57.108.172.144 | 2026-01-26 | 2026-01-26 |
| IPv4 | 144.172.108.57 | 2026-01-26 | 2026-01-26 |