Skip to content

SecurityNot yet confirmed elsewhere1 publisher2 min readPublished

ToxNetV2 wires an LLM into the decision loop of its botnet controller

Joe Security's teardown of an AArch64 Tox botnet shows a model proposing actions that only an operator command executes, which puts the telemetry worth collecting on the controller rather than on any victim host.

The Watch · Security desk

How we use AISend a correction

What happened

  • Joe Security published analysis on 25 August 2026 of ToxNetV2, an AArch64 Linux peer-to-peer botnet whose controller calls an LLM as part of its normal operating workflow.
  • The documented loop runs from observation to model interpretation to a structured proposal, then to human approval, and only then to a change on the system.
  • The recovered action set includes a model-supplied local shell command, a file write, a command executed remotely as root over SSH, and a fixed cross-compile and deploy workflow.
  • The AI module is bolted into an existing Tox botnet with encrypted peer-to-peer command and control, scanner workers, self-propagation logic and 17 network-attack launchers.
  • One embedded endpoint, 45.130.151.214, matches no public Tox DHT key, which is why Joe Security lists it as custom infrastructure rather than a borrowed bootstrap node.

Why it matters

  • capability With shell_cmd and ssh_check in the action set, a model completion is one operator keystroke from running code, so the review standard for changes to this botnet is whatever the operator reads in the pending queue.
  • constraint A blocklist built from this sample's bootstrap list is mostly public Tox relays, so anyone hunting this family has to work from host behaviour and controller egress rather than IP denial.
  • decision Detection spend does not belong on new victim-host signatures here, because the AI lives in the controller role of a binary that looks the same on an ordinary bot.
  • precedent If the propose-queue-approve pattern is what other families copy, the durable artefacts to hunt are the pending-action queue and the provider credentials and tokens a controller has to hold to reach a model at all.

aiexec is the whole approval step. Model output arrives as pending actions and sits in a queue until an operator runs that command, which executes and clears it [2]. What the operator has to go on beforehand is whatever aistatus prints: provider state, counters, intervals, pending actions, errors [10]. Two other commands, aifix and aiideas, queue recognized actions by themselves [18].

Ten structured action types are documented [6]. Six of them only touch the controller's own bookkeeping, recording a worker restart request, storing a task weight, updating key-value state, adding a log entry, alerting the operator, or saving an observation to AI memory [11]. That leaves four with effects beyond the log [20].

One of those four, ssh_check, runs a model-supplied command remotely as root [7], and the hard-coded target is the same address Joe Security classifies as custom infrastructure, 45.130.151.214 [9]. Read plainly, the model is administering the botnet rather than attacking anyone with it. The 17 network-attack launchers predate the AI module, and what the AI subsystem contributes to them is strategy text and task weights [8][12].

Scope is thin and worth stating. This is a static teardown of a single sample, published 25 August 2026, with no operator named, no victim count, and no linked campaign [3][19].

The blocking problem sits in the bootstrap list. Appendix A sorts the embedded Tox nodes by exact DHT public-key match against the official node list, separating one custom endpoint from nodes that belong to the public network [14]. Counted out, that is 19 public nodes plus four with degraded UDP or TCP availability, so 23 shared relays against a single custom IP on two ports [21]. Joe Security also notes the limit of its own mapping: a hostname match shows only that the same DHT identity is currently published under that name, not that the name still resolves to the IP in the sample [15]. One listed relay answers TCP on 38296 and 3389 [16], which is not where most egress rules look for peer-to-peer C2.

So the alertable indicators are narrow: 45.130.151.214 on 33445 and 443, and the dropper URL on 45.151.139.113 [9][17]. Everything else in that appendix is public Tox infrastructure, and a blocklist built from it will page you about other people's traffic.

What to watch

  • A later sample that drops the aiexec gate, or points ssh_check at victim hosts instead of the operator's own box.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence64
Adoption18
Hype gap−12
Incentives55
Confidence58
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The documented AI pipeline runs observation, model interpretation, structured proposal, human approval, system change.

  2. [2]

    aiexec executes and clears pending AI actions.

  3. [3]

    Joe Security published "ToxNetV2: An AI-Assisted Botnet Controller" on 25.08.2026, describing an AArch64 Linux peer-to-peer botnet that integrates an LLM into the operational workflow of its controller.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. joesecurity.org

    1 article · August 27, 2026

    Joe's Security

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories