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.
Where Worldwide
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.
Have a question about this article?
Ask it here and we will answer you directly by email. Questions are private, never posted.
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.
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 QuoteKeep reading
Moldova Cyberattack: State Actor Suspected After Citizen Data Was Taken From Government Systems, What Is Confirmed and What to Check
Moldova says hackers accessed the personal data of about 450,000 citizens through government digital services....
Gnosis Pay Data Breach: Legacy Card System Hit, Card and Wallet Details Reported Exposed, 3D Secure Now Mandatory
Gnosis Pay says customer information was exposed in a breach of the legacy system behind its branded cards. He...
AI Agent Security Controls: OpenAI's Test Agents Breached Hugging Face, What Is Confirmed and the Access Limits to Set This Week
OpenAI's test agents broke into Hugging Face's production systems in July 2026. Here is what is confirmed, wha...