NIKKE PC Launcher Served Malware for Five Weeks: Tampered CDN Scripts Installed the K2F Remote-Access Agent and a DLL That Targets Crypto Wallets
High · 2026-11-05 · By H.A
Four JavaScript files on the NIKKE publisher's official CDN were altered on 27 September 2026 to load a LuaJIT K2F remote-access agent and a persistent DLL aimed at browser data and wallet extensions, with a fixed client released on 4 November.
Overview
The PC launcher for the mobile and PC game Goddess of Victory: NIKKE (developer Shift Up, publisher Level Infinite) served malware for more than five weeks. According to an independent researcher, four JavaScript files on the publisher's official CDN were changed on 27 September 2026. When players opened the launcher, the injected code downloaded a remote-access agent from attacker servers and could also install a Windows DLL that targets browser data and cryptocurrency wallets.
The publisher acknowledged on social media that the launcher's script files "may have been tampered with by a third party" and released a fixed client on 4 November 2026 at about 02:30 (UTC+9). It says it is still investigating how many players were affected.
The Campaign
Infection chain:
Players start the official NIKKE PC launcher, which loads JavaScript from the publisher's CDN.
Obfuscated code hidden inside the legitimate scripts contacts insightjs[.]com, or insightjs[.]org if the first domain is unavailable, and runs what it receives.
A LuaJIT payload, insight.bundle, installs a remote-access agent called K2F.
On command, K2F installs platform_experience_helper.dll, which keeps running after the launcher is closed.
According to the researcher, K2F can run remote commands, browse and download local files, take screenshots, steal NIKKE account credentials and collect data stored in web browsers. Strings in the DLL refer to crypto wallet browser extensions such as MetaMask, Phantom and Coinbase Wallet, including the theft of recovery phrases and private keys. It is not yet known whether the wallet component was pushed to infected machines or whether any cryptocurrency was stolen.
Timeline
27 September 2026: Four launcher JavaScript files on the official CDN are modified.
3 November 2026: According to the researcher, three of the four files are replaced with clean copies. A tampered copy of the fourth was still being served afterwards.
4 November 2026, ~02:30 UTC+9: A client update addressing the issue is released, and the publisher confirms possible third-party tampering.
Ongoing: The publisher's investigation and follow-up notice are pending.
Tradecraft
Abuse of a trusted delivery channel: Changing assets on the publisher's CDN instead of the installer binary meant that code signing and installer verification never came into play. The launcher trusted whatever its CDN served.
Staged, modular payloads: A small loader, then a LuaJIT agent, then an optional native DLL. Expensive capabilities were only deployed where the attacker chose to use them.
Fallback infrastructure: Primary and backup domains made the loader resilient to a single takedown. Someone, whose identity is unknown, has since put a multilingual warning page on the backup domain telling players to close the launcher.
Target choice: Gamers often have browser wallets, saved passwords and powerful PCs, and they rarely run enterprise EDR. That makes them an attractive population for theft.
Log string k2f_chan registered in Launcher\intl_service\debug.log inside the NIKKE install folder. This shows the Lua agent ran but does not prove the DLL was loaded.
Detection
# Defensive: check the NIKKE launcher log for the agent marker (adjust the install path)
Select-String -Path "C:\NIKKE\Launcher\intl_service\debug.log" -Pattern "k2f_chan registered"
# Look for the persistent DLL anywhere on the system drive
Get-ChildItem C:\ -Recurse -Filter platform_experience_helper.dll -ErrorAction SilentlyContinue
Organisations should check DNS and proxy logs for the two insightjs domains, because staff may have played on work or BYOD machines.
Recommended Actions
Update the NIKKE launcher to the 4 November build or later, and close it until you have checked the machine.
Run a full scan with up-to-date antivirus and check the log marker and DLL above.
If either indicator is found, back up personal files and reinstall Windows. The RAT could have installed other payloads.
From a clean device, change passwords saved in browsers, sign out of all sessions, and reset NIKKE, email and gaming platform accounts.
If a crypto wallet extension was installed, consider the recovery phrase compromised. Create a new wallet on a clean device and move the funds.
Block insightjs[.]com and insightjs[.]org at DNS and on web proxies.
Analyst Assessment
This is a real supply-chain compromise of a widely played game. It ran for more than five weeks on official infrastructure, and it was confirmed by the publisher's own statement and by independent analysis of the loader. Most technical details still come from one researcher's analysis, and the number of affected players is unknown. Because the attacker had a full remote-access agent on player PCs and possible access to crypto wallets, we rate the threat High for anyone who opened the PC launcher between 27 September and 4 November 2026.
Runtimes, models, MCP servers, agent frameworks, and a security & pentest tooling section — all links out to the real projects.
Add registry item
Local AI console
Talk to a model running on your own machine through Ollama or an OpenAI-compatible server — your prompts and the model's replies always go straight from your browser to your local model, never through a Reef server. Attach files for context, and pick up saved chats where you left off.
Type /image a prompt in the box below to generate
Not connected
Local AI hardware benchmark
A spec-based compatibility advisor — tells you which local models your hardware can run well, which will be slow, and which to skip. Connect to Ollama below for a real, measured speed test instead of an estimate.
1. Your hardware
⌕
2. Live check against your local model server (optional)
If a local model server is running, this cross-references the table above with what you've actually got loaded — and runs a real, measured speed test instead of an estimate.
AI Database
A browsable catalog of AI models across providers — context windows, pricing, and capabilities.
⌕
Loading…
Cyber threat feed
Latest threats pulled automatically every day from CISA's Known-Exploited-Vulnerabilities catalog and NVD — plus threat intel you post yourself.
Shared with everyone on this instance. Don't include client names, internal hostnames, or sensitive data.
Loading threat feed…
Cyber threat map
Attacks happening right now, all over the world. Every route and flash on this map comes from a named live source, explained below.
Connecting…
LIVE · MAURITIUS TIME--:--:--
attack route, country to countryattack route into Mauritiusattacker reported worldwide
Loading live data…
attackers reported per minute · click to rewindnow
Top attack routesweb
Attackers based inlast hour
Networkslast hour
Click any dot, feed row or table row to see that IP's profile.
Mauritius · Cloudflare Radar
Who attacks Mauritius
Loading…
Web attacks malicious requests to Mauritian websites, blocked by Cloudflare Network DDoS floods meant to knock Mauritian servers offline
Mauritius · Cloudflare Radar · last 24 h
How Mauritius is attacked
Network-level attacks (DDoS) aimed at Mauritius, by method. They try to knock servers and networks offline by sheer volume.
Loading…
Cloudflare doesn't publish which ports or services these floods aimed at, or what web attacks on Mauritius tried to do.
Mauritius · blocklist.de · last hour
Attackers located in Mauritius
0attackers located in Mauritius were reported in the last hour
This counts attacks coming from Mauritius, not attacks on it: IPs in Mauritius that servers elsewhere reported for attacking them. Usually zero or one; when it rises, it's often a hacked local server or router.
Reading the Cloudflare figures
Percentages are shares of the attack traffic Cloudflare saw against the sites it protects, so they describe Cloudflare's customers, not every server in a country. A route's origin is where the attacking machines are, which is often a rented or hijacked server, not the attacker's home.
Worldwide today · SANS Internet Storm Center
What attackers are knocking on
Ports most targeted across DShield's volunteer sensors .
Worldwide today · SANS Internet Storm Center
Most active attackers
Ranked by how many separate sensors they hit. Click a row for its profile.
IP
Country
Network
Sensors hit
Reports
What you're looking at
Blue routes
Share of attack traffic from one country to another, measured by Cloudflare across the sites it protects. Thicker, faster streams carry more. Particles show volume, not one per attack.
Cloudflare Radar · every 15 min · published 1–2 h behind
Amber flashes
An attacking IP that servers around the world reported to blocklist.de in the last minute, placed where the IP is. Its targets aren't published, so there's no line.
blocklist.de · every minute · shown about 1 min behind
Locations
IP locations are approximate (city level at best) and show where the machine is hosted, not who controls it.
ip-api.com · SANS ISC DShield for the tables above
News
Articles, guides and updates on pentesting, AI, and cybersecurity — with embedded video. Add your own, including YouTube.
New article
Written content plus an optional video. Paste a YouTube link and it embeds automatically.
Loading…
Posts
Loading…
New post
Stored in the platform database against your account.
⌕
Loading posts…
Forum
Questions, answers, and talk about running AI locally.
Start a thread
⌕
Loading forum…
GitHub repositories
Curated AI and security repos, plus your own pinned shelf.
Add a curated repository
Shown to everyone under the AI & agents / Security & pentest tabs — not the same as your personal shelf.
Pin a repository
Pinned to your account.
Your shelf
⌕
Command board
One-liners, configs, and advice worth keeping — shared by everyone here.
⚠ Commands are shared with all users. Never include credentials, tokens, or internal hostnames. Review anything before you run it.
Share a command
⌕
Loading commands…
Skill packs
Starter files served from the API — AI agent scaffolds plus defensive security & VAPT reporting templates. Click to download.
⌕
Add skill pack
Add a downloadable skill pack. Filename is what users will save the file as.
Loading skills…
Threat Intelligence
Curated threat write-ups, advisories and analysis — with cover media.
⌕
New entry
Add a threat-intel write-up with an optional cover image or YouTube video.
Loading…
Tutorials
Step-by-step guides for running local AI, using the console, and tracking threats. Admins can add their own.
New tutorial
Step-by-step guide. Add an optional cover image or a YouTube video.
⌕
Loading…
Downloads
Direct links to the official homepage/download page for well-known cybersecurity, penetration-testing, and local-AI software. Always verify checksums/signatures from the vendor before running anything.
New download
⌕
Loading…
Terms & Conditions
Loading…
Help & FAQ
Answers to common questions about Reef Sentinel, plus a formatting guide for posts, articles, and comments.
Formatting guide
Commands you can type into the body of a post, comment, or reply — no HTML needed. Comments and short replies only support bold, italic, and inline code.
Contact us
Questions, feedback, or a security disclosure? Reach us directly, or send a message and we'll get back to you by email.
Loading…
Send a message
VAPT Report Generator
Build an engagement, add findings with a live CVSS calculator, and generate a branded, print-ready report.
Recon Toolkit
Passive OSINT lookups for the recon phase of an engagement, plus offline hash identification and a payload cheatsheet.
Website Checker
Reads a website's HTTP response headers to identify its framework and server, shows any known CVEs for the exposed versions with details, and recommends what to do.
Control panel
Manage everything shown on the site — news & videos, posts, homepage headlines, and subscribers. Admin only.
Overview
Content
Site
Account & Security
Email settings
SMTP on ports 25/465/587 is blocked outbound by some hosts (e.g. DigitalOcean droplets by default) — Resend and Brevo send over their HTTPS API instead, so they work even then. Only the selected provider is used to send; the others stay saved but idle, so you can switch back any time without losing settings.
Get a key from resend.com/api-keys. Uses the "From address" below as the sender — it must be on a domain you've verified with Resend.
Get an API key (not an SMTP key) from app.brevo.com/settings/keys/api. Uses the "From address" below as the sender — it must be a verified sender in your Brevo account.
"From address" and "Site name/URL" are shared by SMTP, Resend, and Brevo — they control what recipients see, regardless of which provider is active.
Send a test email
Sends through whichever provider is currently active above. Save your settings first if you just changed them.
Contact page info card
Shown on the public Contact page. Leave a field blank to hide that row entirely.
Recon Toolkit — API keys
Optional third-party keys that unlock extra Recon Toolkit lookups. Everything else in Recon (subdomains, DNS, RDAP, email breach check, password exposure check, a free baseline host lookup) works with no key at all — these just add more depth. Provider names are only ever shown here in the admin panel; the public-facing Recon Toolkit UI never names which providers power it.
Upgrades Host Intel's primary scan-index lookup from the free InternetDB baseline to the full Shodan Host API — adds org/ISP/ASN/OS/geolocation, per-service banner data (product, version, TLS cert issuer, HTTP title), and richer verified CVE data. Get a key from account.shodan.io — a free account key works but is rate-limited; a paid membership raises the limit and query credits.
Adds a secondary, independently-sourced scan-index lookup (all 65,535 ports scanned) alongside the primary lookup in Host Intel — useful for services on non-standard ports. Free — create one at accounts.censys.io (My Account → API Access → Create New Token). No paid plan needed.
Raises the rate limit on Host Intel's IP-reputation check (is this IP a known internet-wide scanner, or a recognised benign service like a public DNS resolver?). Works keyless at a low rate limit already — a free key from viz.greynoise.io/signup raises it.
Enables the Domain Breach summary (org-wide breach exposure for a verified domain) in the Breach Check tab. Requires verifying domain ownership with XposedOrNot first — free key from your XposedOrNot dashboard after verification. The email and password exposure checks don't need this — only the domain-wide summary does.
Password recovery email
The one-time code for changing your password is emailed here. Default: hans.abraham@outlook.com. Change it if needed.
Change master password
For security, changing your password requires the one-time code sent to your recovery email. If SMTP isn't configured yet, the code is shown here for testing.
Database backup
Download a consistent snapshot of the entire site database (SQLite). Keep it safe — you can restore the site from it. Back up regularly.
To restore: stop the app, replace backend/reef.db with this file, then start the app again.
Add user
Create an account directly — it's pre-verified and can sign in immediately.
Audit log
Every action taken by any administrator — including the main administrator. Read-only.
Rotation speed
How long each ad stays on screen before advancing to the next one, for every placement with more than one active ad.
Add ad
Normal ads are self-served image banners — add more than one to a placement and they rotate automatically with a small progress bar. A Google ad unit is shown once, statically, and never rotated by us (most ad networks require this).
Pasted as-is and executed on the page — only paste code from a source you trust, same as you would for any other admin-only content.
About page
Edit the public About us page. The body supports simple markdown: ## heading, - bullet, **bold**, > quote, and links.
Terms & Conditions
Edit the public Terms & Conditions page. The body supports simple markdown: ## heading, - bullet, **bold**, > quote, and links.
Add threat-intel entry
Manage threat-intelligence entries shown on the Threat → Threat Intelligence page. Photo or video cover supported.
Contact messages
Submissions from the Contact Us page. Viewing one marks it read; replies are emailed to the sender.
Everything currently pinned to the homepage featured carousel, across news, threats, tutorials, threat intel, downloads and posts.
Everything currently pinned to the homepage Latest News ticker, across news, posts, tutorials, threat intel and downloads.
Everything currently pinned to the homepage CVE ticker (threat feed entries).
Add news / video
Add post
Posts submitted by regular members land here as "Pending review" — approve, reject, edit, or pin them from this list. Main admins and admins publish directly.
Content Rating — per-user score
Each author's rating score is the average of every 1–5 Content Rating their published posts have received from readers. Only authors with at least one published post are listed.
Add command
Snippets and configs shown on the Command board. Never include credentials or internal hostnames.
Add payload
Reference snippets shown on the Recon Toolkit's Payload Cheatsheet tab. Replace ATTACKER_IP / ports as placeholders — never include real targets or credentials.
Forum reports
Members' reports of threads or replies (e.g. abusive language). Deleting a reported item leaves a public notice with your reason in its place and emails the author; dismissing clears the report without touching the content.
News comment reports
Members' reports of comments (or replies) on news articles. Deleting a reported comment leaves a public notice with your reason in its place; dismissing clears the report without touching the comment.
Post comment reports
Members' reports of comments (or replies) on member posts. Deleting a reported comment leaves a public notice with your reason in its place; dismissing clears the report without touching the comment.
Add registry item
Runtimes, models, MCP servers, agent frameworks, and security tooling shown on the Registry page. Also editable directly from the front-end Registry page itself.
Add download
Curated cybersecurity / pentest / AI software links shown on the Downloads page. Also editable directly from the front-end Downloads page itself.
Pin a repository
Personal pinned GitHub repos shown on the Repos page under "My pins". Also pinnable directly from the front-end Repos page itself.
Formatting commands you can type into the body of a post, tutorial, news article, threat-intel entry, or the About page — no HTML needed. Comments and short replies only support bold, italic and inline code.
FAQ entries shown on the public Help page. Super admin only — same scope as About page / SMTP / API keys.
Add FAQ
Add headline
Add tutorial
Add skill pack
Send newsletter
We use essential cookies/local storage to keep you signed in and remember your preferences. We don't use tracking or advertising cookies. Learn more