The Library

Hugging Face Malware: Fake Qwen2 Models Hijack GPU Servers for Crypto Mining, and a Fake Solana Kit Targets AI Coding Agents

Fake 'qwen2-tiny' models on Hugging Face ran hidden code when loaded, turning GPU servers into crypto miners and sometimes opening reverse shells. Here is what is confirmed and what to check this week.

Elite Performance Exclusive LLC 8 min read

Where Worldwide

Hugging Face Malware: Fake Qwen2 Models Hijack GPU Servers for Crypto Mining, and a Fake Solana Kit Targets AI Coding Agents
On this page 9 sections

Attackers have been uploading fake AI models to Hugging Face that run hidden code as soon as they load. The code turns GPU servers into cryptocurrency miners, and some versions also open a back door for the attacker. If your team downloads models to try AI on its own hardware, this is a supply chain risk inside your network, not only a problem for AI labs.

The research comes from Pluto Security and was published on Thursday, October 29, 2026. On the same day, Air Security published a separate report about a fake Solana developer kit on GitHub that appears built to be found and installed by AI coding agents. This post covers both and separates what is confirmed from what is not.

What happened with the Hugging Face malware

Pluto's researchers found 31 malicious repositories on Hugging Face and on ModelScope, a Chinese model hub, published in two waves. The first wave ran from September 21 to October 12, 2026. It had 12 repositories across three accounts and about 728 recorded downloads. Hugging Face and ModelScope removed those accounts after Pluto reported them.

A second wave of 19 repositories then appeared under new accounts. Pluto says it was still live eight days after being reported. The flagship model, MENXIANGYU/qwen2-tiny, posed as a tiny Qwen2 test checkpoint, but its weights file is 42 bytes and holds no model at all. Pluto recorded its downloads rising from 7,354 to 9,584 by the evening of October 20, then to 28,412 by October 28. Across all 44 related repositories, including 13 linked ones, Pluto counted 32,376 downloads.

Pluto is careful with that number, and so are we: "That figure measures downloads, not confirmed infections or unique victims."

When we checked on Sunday, November 1, the flagship's page said "Access to this model has been disabled." A near-identical model, htt0118/qwen2-tiny, from an account Pluto lists in the second wave, was still available.

How a malicious AI model runs code on your server

This campaign did not rely on poisoned weights or the older pickle file trick. Instead it abused a documented feature of the Hugging Face Transformers library. Some models need custom Python code, and loading them requires permission to run code supplied by the repository. That permission is given with trust_remote_code=True or by accepting an interactive prompt. The model's config.json points to a Python file, and that file's code runs on import, before any weights load. Pluto notes this is documented behavior, not a default setting.

Pluto's analysis found that, once loaded, the code:

  • Runs a cryptocurrency miner from memory, disguised as a Linux kernel process named [kworker/u20:1]
  • Restarts the miner every 120 seconds with a watchdog script (svc.py) and adds lines to shell startup files
  • Kills rival miners and deletes competing model registrations
  • Planted an SSH login key in the first wave; later builds replaced that with reverse shells to the attacker
  • Turns off configured proxies while it downloads its next stage

The payloads were written mainly for servers running Xinference, an open-source tool for hosting models yourself. One later model, MENXIANGYU/qa-whl-1021, carried a script that breaks out of privileged containers and looks for the host's root or GPUStack's /var/lib/gpustack folder to gain root on the machine underneath.

Did Hugging Face malware scanning catch it?

Not according to Pluto. None of the 12 first-wave repositories was flagged, and the second-wave flagship scanned clean. Pluto's point is that signature scanning and pickle scanning look for known malware and unsafe file formats. They do not analyze what a model's Python code actually does. A clean scan on a model page does not mean the model is safe to load with remote code turned on.

What is confirmed and what is not

Claim Status
31 malicious repositories in two waves Confirmed in Pluto's report
Miner, persistence, SSH key and reverse shells Confirmed by Pluto's code analysis
28,412 downloads of the flagship model Pluto's count of downloads, not infections
Real victims Not confirmed. Pluto saw nine mining workers with notebook-style and A100 partition names join within 90 seconds and stop about six minutes later. It reads this as a shared research GPU cluster where an admin ended the jobs.
Earnings About 2,276 PRL, roughly $5,000, reached the first-wave wallet, per Pluto's on-chain count
Who is behind it Pluto's assessment, not confirmed: a "financially motivated, Chinese-speaking operator or small group," based on Simplified Chinese comments, Alibaba Cloud servers and activity times
How each victim came to load the model Not explained in the report. Pluto's advice to require authentication on the Xinference API suggests exposed servers are part of the risk.

The fake Solana starter kit aimed at AI coding agents

Air Security's report covers a GitHub repository called SolanaUpdateTools/solana-starter-kit. It was created in November 2025, has 286 stars and describes itself as a full Solana app template. In reality the README is the only file. Air says the repository "ranks as the top result when an agent searches for one," so a developer who asks an AI coding agent to start a Solana project could end up following its instructions.

The only install step is a Windows PowerShell one-liner that builds a URL on developer-update.app, downloads a script and runs it in memory. Air recovered that script from the Web Archive because the live link returned an error. It installs genuine, signed NetSupport Manager 12.10 remote access software, set up to connect to maxwintodaybtc.com and to start at every login through a registry Run key named SecureModule. Air links the setup to a NetSupport cluster tracked by eSentire and to an earlier campaign that used fake TradingView tools to lure crypto traders.

Why AI model security matters for a business network

GPU servers are expensive. A miner on one burns money, power and the capacity your team is paying for. The bigger problem is what else sits on those machines: cloud keys, Hugging Face tokens, database passwords and access to the rest of the network. A reverse shell on a GPU box is a foothold, not just a power bill.

AI pilots also tend to run outside normal IT controls, on a data scientist's workstation, a rented GPU or a CI job that nobody patches. We wrote about that ownership gap in AI can build it, who keeps it running and who is patching your servers. If you host models yourself, treat those servers like any other production system, which is how we approach self-hosted infrastructure.

What to do this week

Check How
Find remote code loading Search code, notebooks and pipelines for trust_remote_code=True and list every model each one loads
Review before loading Read the Python files a model's config.json points to (auto_map) and pin the model to a reviewed commit with the revision setting
Lock down Xinference Require authentication on its API and keep it off the public internet
Look for Pluto's indicators A [kworker/u20:1] process using heavy CPU or GPU, /tmp/.cch/, /etc/cron.d/.sync-helper, svc.py lines in .bashrc or .profile, traffic to 212.32.253.3
Watch GPU use Use nvidia-smi to see which processes hold the GPU, and alert on GPU load outside scheduled jobs
Isolate untrusted models Run them in unprivileged containers with no production secrets; never use privileged containers for testing
Control AI coding agents Do not auto-approve download-and-run commands such as iwr piped to iex or curl piped to sh
Check Windows developer machines Look for a SecureModule Run key, client32.exe in a hidden AppData folder, and block developer-update.app and maxwintodaybtc.com
If you find anything Isolate the machine, preserve evidence, remove persistence, rebuild if in doubt, and rotate credentials from a clean machine

Hugging Face malware questions people are asking

Is Hugging Face safe to download models from?

The platform is widely used and most models are legitimate, but anyone can upload. The risk rises sharply when you load a model with trust_remote_code=True, because that runs the uploader's Python on your machine.

Can an AI model contain malware?

Yes. In this campaign the "model" had no real weights at all. The malicious part was Python code shipped in the repository and run when the model loaded.

Was my server infected if we downloaded qwen2-tiny?

Not necessarily. A download alone is not an infection. The code runs when the model is loaded with remote code allowed. If that happened, check for the indicators in the table above.

How do I know if my GPU is being used for crypto mining?

Run nvidia-smi and look for processes you do not recognize, or GPU load when no jobs are scheduled. This miner hides as a kernel-style process name, so compare against what should be running.

Are AI coding agents a security risk?

They can be. The fake Solana kit shows an attacker aiming a README at agents that search the web and follow instructions. Require a human to approve any command that downloads and runs code.

The bigger lesson

AI tools have made it easy to pull code, models and setup steps from strangers, often faster than anyone reviews them. Scanners help, but they do not read intent. The fix is old-fashioned: know what loads on your servers, give it the least access possible, and have someone responsible for checking.

Want your AI and GPU servers reviewed? See our security hardening service or request a quote.

Get security alerts by email, with our free checklist, at /security-alerts.

Sources: Pluto Security, Load/Mine Hugging Face malware campaign; Air Security, SolanaCry.

Share X LinkedIn Facebook

Was this article helpful?

We only keep the note with this article. No name, no email.

Protected by reCAPTCHA - Privacy and Terms.

Have a question about this article?

Ask it here and we will answer you directly by email. Questions are private, never posted.

Protected by reCAPTCHA - Privacy and Terms.

Security alerts by email

Hear about the next one first.

When attackers start using a flaw in software businesses run on, we email what it is, whether it touches you and what to do that week, with a round-up of our latest security writing. Free, one-click unsubscribe. You get the checklist straight away: 12 things to secure this week.

Protected by reCAPTCHA - Privacy and Terms.

Want a result like this?

Security alerts, breaches and the technology a business runs on: what happened, who it affects and what to do.

Get a Tech Quote

Security alerts by email

The next security hole is already out there. Hear about it from us first.

When attackers start using a flaw in software businesses run on, we email what it is, whether it touches you and what to do that week, with a round-up of our latest security writing. Free, one-click unsubscribe. You get the checklist straight away: 12 things to secure this week.

Protected by reCAPTCHA - Privacy and Terms.