Security3 publishers3 min readPublished
Qrator finds x47.c's AI credit drain works only with a key the attacker already holds
Qrator says x47.c, a Windows botnet sold for up to $950, burns a victim's OpenAI or xAI credit with a valid API key while the website stays up. Website filtering never sees the requests, so the defenses are key revocation and spending caps.
The Watch · Security desk

What happened
- Qrator Research Labs on September 23 described x47.c, a previously undocumented Windows botnet sold by WraithTools with 18 attack methods.
- The panel's AI API drain command sends repeated billable requests straight to OpenAI, xAI or a compatible chat API, drawing down the victim's paid credits.
- An AI Stealth module asks xAI's Grok to choose from a predefined list of persistence actions such as startup entries and scheduled tasks.
- The stealer component takes browser passwords and cookies, Discord tokens, wallet data and AI-site tokens from infected machines.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- constraint A website's DDoS filtering cannot see drain traffic, so the only controls that apply sit in the AI provider account: the key, the billing limit and the top-up setting.
- cost The account owner pays up to whatever extra spending the account permits, and an automatic top-up left on keeps raising that ceiling.
- decision Teams running AI chatbots or trading bots on a paid key now have to choose between a hard cap that lets the feature go dark and an open top-up that keeps it running on their money.
The drain needs a key the attacker already has. The operator supplies a model name and a valid API key for the target account [4]. Qrator said anyone holding a valid key could script the same attack without the botnet [10]. The stealer lists AI-site tokens among the data it takes, but the seller's documentation does not show those tokens being turned into API keys for the drain command [11].
With a key in hand, the attacker bills the victim without touching the victim's infrastructure. "Because those requests go straight to the provider, they do not need to pass through the victim's application. The website can remain reachable while the account behind its AI features runs out of credits," Qrator wrote [6]. Filtering traffic at the website will not stop the requests, Qrator said [7]. OWASP calls this class of attack denial of wallet [5].
How big the bill gets depends on how much extra spending the account allows, according to Qrator [9]. The seller pitched the drain against chatbots, AI-connected content management systems, trading bots and scanners, including as a service to use against competitors [8]. He also pointed buyers to automatic top-ups as a way to keep charges accruing after a balance runs out [8].
Qrator's advice is to revoke exposed AI keys, check billing against legitimate usage, and set spending limits and controls on automatic top-ups [23]. Those controls do different jobs. A spending limit caps the charge, but an account that hits its limit is out of credit, the same state Qrator describes for a drained account [27]. Revoking the key removes the one input the drain command cannot run without [27]. For the flood methods and the infected hosts, Qrator recommended endpoint cleanup and DDoS protection at both the application and network layers [24].
The evidence comes from the seller. Qrator drew its findings from the seller's advertisement, technical documentation, panel screenshots and follow-up messages [12]. It found no test results supporting the advertised protection-bypass modes [13]. The administrator advertises fast flux across six domains and eight IP addresses [21]. Several of those domains can point to a single server, according to Infosecurity Magazine's account of the research [22]. The priced offer dates to an August 3 advertisement [14]. The drain sits on the panel's DDoS tab [16]. The base package plus the DDoS add-on comes to $350, and the full kit costs $600 more [17][26].
The Grok-driven persistence is optional to the malware [20]. The Grok calls run on an xAI key the operator includes in the build [19]. "They also show local fallback actions when a model call fails, allowing host maintenance to continue without a successful AI response," Qrator wrote of the seller's status messages [20].
What to watch
- A confirmed victim account or provider billing record showing the x47.c drain used in the wild, beyond the seller's own materials.
- Evidence that x47.c's stolen AI-site tokens are being converted into API keys, which would let the botnet supply its own drain keys.
- Recovered x47.c samples containing the xAI key embedded for the Grok persistence calls, and whether that key gets revoked.