TLP:CLEAR

AI-nomenclature honeypot poisoning

A coordinated botnet flooding SSH honeypots with AI-brand usernames (claude, nvidia, onkar) to poison automated credential-tuning pipelines — including a 24-hour window where one username briefly got through.

Published 2026-06-25 Source Distributed SSH/Telnet Honeypot Fleet Confidence HIGH Classification Credential / Userdb Poisoning Botnet

01 Executive summary

For over a month, a single botnet fed three fake usernames into every honeypot in the fleet, betting that cowrAI's own tuning automation would add them to the real credential list. If it had worked cleanly, an attacker could have told the honeypots apart from real servers just by trying to log in as claude. It mostly didn't work — except for a 24-hour window on 2026-06-08 where an unrelated auto-apply quirk let nvidia through with a wildcard password, and attackers used the resulting shell access to run hardware-fingerprinting commands. This report walks through both the failed campaign and that one real near-miss.

30
Days analyzed
16,157
Login attempts
721
Distinct source IPs
3
Poisoning usernames
132
Successful logins (2026-06-08 near-miss)
Blocked
Report #24 — partial apply
Key finding: 72–77% IP overlap across all three poisoning usernames (claudenvidia: 72% [172 of 238 nvidia IPs], claudeonkar: 77% [174 of 226 onkar IPs], nvidiaonkar: 76% [171 of 226 onkar IPs]) shows a single coordinated botnet. These are not independent scanning campaigns. They share the same controller and wordlist infrastructure. (Corrected from an earlier internal draft that cited 81–86% against a mistaken 100-IP baseline — re-derived directly from events per the numbers above.)

A botnet distributed across seven /24 subnets flooded all 36 cowrAI honeypots with login attempts for three usernames: claude (AI assistant brand), nvidia (GPU/AI hardware brand), and onkar (personal name used as padding). All three usernames are already present in the earliest data our retention window covers (2026-05-21), so the true campaign start predates our visibility — this report's 2026-05-26–2026-06-25 window is an analysis window, not necessarily the campaign's actual onset. Volume escalated roughly 5–7× on 2026-06-02 and sustained ~450–1,100 claude-username attempts per day through June 24.

The attack goal is userdb injection: force automated honeypot tuning systems to add these accounts by exceeding the minimum distinct-IP threshold. A honeypot that subsequently accepts claude:claude can be fingerprinted as honeypot infrastructure. The same usernames pushed into real SSH targets serve as a reconnaissance signal: a server that accepts them may be running AI workloads with service accounts matching current tech-brand keywords.

cowrAI's AI sanity check on tuning report #24 (2026-06-25) flagged the claude/onkar additions and manual review confirmed poisoning; a partial apply that day accepted the three legitimate co-additions (openvpn, gpadmin, rancher) and excluded the poisoned entries. But report #24 wasn't the campaign's only brush with success: an earlier auto-apply cycle (report #43, 2026-06-08 02:20 UTC) had already added nvidia to the applied userdb as a wildcard-password entry (nvidia:x:*, matching any password) — a shape the credential-pair overlap heuristic doesn't examine, because it isn't a specific observed credential pair. That entry accepted 132 successful nvidia logins across 31 of the fleet's 36 honeypots over the following ~24 hours before the next day's auto-apply (report #44) rebuilt the userdb without it. See Timeline for the full sequence and what attackers did with that access.

02 Attack methodology

Honeypot userdb poisoning

Automated honeypot platforms that learn from observed traffic periodically update their accepted credential list (userdb). A common tuning heuristic: if a username:password pair is seen from N distinct source IPs within a window, it likely represents real-world credential usage and is added to the accepted list.

Attackers exploit this by coordinating botnets to generate synthetic-but-convincing traffic against a target username. Once the account is accepted by the honeypot, two outcomes are possible:

  • Fingerprint confirmation — the attacker's tool observes that claude:claude now logs in successfully and infers the target is a dynamic-userdb honeypot, not a real server.
  • AI infrastructure profiling — scanning real SSH targets with claude and nvidia credentials; a server that accepts them may be running AI workloads with matching service accounts.

Username selection logic

UsernameCategoryRationaleReal-world service?
claude AI brand Anthropic's AI assistant — plausible service account on AI inference infrastructure; tests for orgs running Claude API workloads No standard Linux service
nvidia AI hardware brand NVIDIA GPU management tools; plausible on GPU server farms running CUDA workloads No standard Linux service
onkar Personal name Padding entry — adds lexical diversity to avoid pattern detection; single-password format (onkar123) consistent with credential-list padding No — personal name only

Password strategy

The three usernames use distinct password approaches, likely from different tooling configurations running under the same botnet controller:

UsernameDistinct PasswordsStrategyTop Credentials
claude 55 Two-tier: brand-specific wordlist (claude123, claude2026, Claude2026!) + generic spray (123456, password, root) claude:claude (231 IPs), claude:claude123 (133 IPs), claude:12345678 (131 IPs)
nvidia 29 Brand-specific wordlist only (nvidia123, nvidia@1234, nvidia2025!) nvidia:nvidia (236 IPs), nvidia:nvidia123 (12 IPs)
onkar 1 Single entry: onkar:onkar123 — minimal-effort padding onkar:onkar123 (226 IPs)
Tool fingerprint: The onkar campaign uses exactly one password (onkar123) across 226 distinct IPs — a minimal-effort, single-entry wordlist rather than a tuned brute-force list, consistent with a padding entry bolted onto an existing wordlist rather than a dedicated poisoning tool. The claude campaign using 55 passwords from 614 IPs suggests a longer-running general-purpose brute-forcer with the poisoning username added to its wordlist. (An earlier internal draft mis-stated the onkar/nvidia figures as 100/99 IPs from a scoping bug in the credential-aggregation query — corrected here from a direct re-query.)

Dual-purpose botnet

The core high-volume IPs (45.153.34.x, 45.156.87.x, 176.65.132.x, 176.65.139.x) are not single-purpose poisoning bots. Across the same 30-day window they generated 357,971 successful logins and 291,103 failed logins against all other cowrAI-monitored usernames, ordinary SSH brute-force activity. The poisoning usernames are an added layer in an existing botnet's wordlist, not a dedicated attack infrastructure. (Corrected from an earlier draft's 106,616/83,140 figures, which undercounted by roughly 3.3×/3.5× — re-derived directly from the same four /24 subnets against all non-poisoning usernames.)

03 Timeline

On or before 2026-05-21
Campaign already underway. PG's retention window starts 2026-05-21, and all three poisoning usernames (claude, nvidia, onkar) are already present in the data that day. The true campaign start predates our current visibility and cannot be pinned down. (An earlier internal draft claimed a specific "campaign begins 2026-05-26 02:59 UTC, first seen from 192.109.200.78" moment; that couldn't be reproduced — the 02:59 UTC event that day was from a different IP, 49.207.40.162, and 192.109.200.78's own first appearances were spread across a week: claude on 05-22, onkar on 05-25, nvidia not until 05-29 — not a coordinated same-day launch. Corrected/removed.)
2026-05-21 – 2026-06-01
Low-volume probe phase. Roughly 4–86 claude attempts/day, ~2–20 nvidia, ~2–11 onkar. Volume trends up gradually through this window; consistent with either an ongoing low-and-slow campaign or a warm-up before scaling.
2026-06-02
Escalation. claude: 433 attempts (~6.7× the prior day), nvidia: 113 (~5.7×), onkar: 64 (~6.4×). Distinct IPs jump to 76. Sustained high-volume phase begins.
2026-06-08 02:20 UTC
Near-miss: nvidia briefly accepted, fleet-wide. honey-tune's auto-apply cron (tuning report #43) pushes a userdb containing nvidia:x:* — a wildcard-password entry that accepts any password for username nvidia. This shape isn't examined by the exact-credential-pair overlap heuristic. Deployed as applied userdb #35.
2026-06-08 02:25 – 2026-06-09 02:18 UTC
132 successful nvidia logins accepted across 31 of the fleet's 36 honeypots. 112 of those sessions (from 40 distinct source IPs) followed through with commands — exclusively recon/fingerprinting (uname -s -v -n -r -m, nproc, uptime, and lspci | egrep VGA && lspci | grep 3D — a GPU hardware check). No dropper or persistence commands observed in these sessions.
2026-06-09 02:18 UTC
Wildcard entry reverted. The next auto-apply cycle (report #44 → applied userdb #36) rebuilds the userdb from that day's top-credential-pair recommendations, which don't include the synthetic nvidia:x:* wildcard entry. nvidia does not reappear in any applied userdb through report #24.
2026-06-02 – 2026-06-24
Sustained campaign. ~250–1,100 claude attempts/day, ~32–143 nvidia, ~30–97 onkar. Spread across ~38–77 distinct IPs/day. Peak day: 2026-06-22 (1,114 claude attempts, 62 IPs).
2026-06-25 02:17 UTC
Tuning report #24 generated. honey-tune recommends adding six new usernames as exact credential pairs, including claude, nvidia, onkar.
2026-06-25 02:17 UTC
AI sanity check blocks auto-apply. Flags additions as "unusual — exotic usernames not typically seen in organic scanner populations." Alert delivered to operator.
2026-06-25 02:28 UTC
Partial apply — poisoning blocked. Operator manually reviews, confirms botnet poisoning (72–77% IP overlap across the three usernames), applies report without claude/nvidia/onkar. Applied userdb #52 deployed. No further poisoning-username logins accepted after this point; the 2026-06-08 wildcard near-miss remains the campaign's only confirmed successful-login window.

Daily volume chart

DateclaudenvidiaonkarDistinct IPs
2026-05-26422537
2026-05-277612433
2026-05-284471128
2026-05-2966121040
2026-05-307981042
2026-05-315419832
2026-06-0165201046
2026-06-024331136476
2026-06-03333835155
2026-06-045441217259
2026-06-05371785063
2026-06-064671095649
2026-06-075671155969
2026-06-087661339774
2026-06-095841096975
2026-06-10451785042
2026-06-11274433343
2026-06-12325413846
2026-06-13359373960
2026-06-14249363045
2026-06-15353323845
2026-06-16392453952
2026-06-17633656666
2026-06-18477595568
2026-06-19567626263
2026-06-207521437569
2026-06-21872697377
2026-06-221,114816968
2026-06-23762838485
2026-06-24784837768

04 Botnet infrastructure

The botnet is concentrated in six /24 subnets. The 176.65.0.0/16 and 45.153/45.156 ranges account for the highest-volume nodes. All core IPs are general-purpose SSH brute-force bots with the poisoning usernames layered into their existing wordlists.

Subnet concentration

Subnet (/24)Distinct IPsTotal HitsNotes
176.65.139.0/24302,739Highest IP count; general-purpose fleet
91.92.40.0/24251,200Mid-tier volume
91.92.42.0/24101,321Same /22 as 91.92.40/24
45.156.87.0/2493,485Highest per-IP volume; long-running nodes
45.153.34.0/2472,857Long-running; active since May 26
176.65.132.0/2452,003Same /16 as 176.65.139/24
192.109.200.0/242844Earliest observed IPs in campaign

Highest-volume nodes

Source IPclaudenvidiaonkarTotalFirst Seen
176.65.139.181678006782026-06-21
45.153.34.11253481516662026-05-27
45.153.34.23551274546402026-05-26
45.156.87.25450978506372026-05-27
176.65.132.2446174475822026-05-27
45.156.87.20445972455762026-05-27
192.109.200.7846066395652026-05-26
176.65.132.12940062415032026-05-27
45.153.34.7137359374692026-05-27
45.156.87.25331453344012026-05-27

176.65.139.181 is the single highest-volume node overall (678 hits, all claude) but was only active for ~28 hours (2026-06-21 to 2026-06-22) — a compressed high-rate burst, not a long-running node like the rest of this table. All other rows are consistent with sustained activity since 2026-05-26/27.

IP overlap proof

Set sizes: claude 614 distinct IPs, nvidia 238, onkar 226 (report window 2026-05-26–2026-06-24). Overlap % below is shared IPs ÷ the smaller of the two sets.

PairShared IPsOverlap %Interpretation
claudenvidia172 of 23872%Same botnet
claudeonkar174 of 22677%Same botnet
nvidiaonkar171 of 22676%Same botnet

05 Observed payloads

Nearly all observed traffic is SSH login attempts with no follow-up. The one exception is the 2026-06-08 nvidia wildcard-userdb window (see Timeline): 112 of the 132 accepted sessions ran commands, exclusively hardware/OS recon (uname, nproc, uptime, and a GPU check via lspci) — no dropper or persistence activity in any session. Full credential lists observed during the 30-day analysis window:

claude username — top credentials (by IP spread)

claude:claude           (231 IPs)
claude:claude123        (133 IPs)
claude:12345678         (131 IPs)
claude:123              (116 IPs)
claude:1234             (112 IPs)
claude:123456           (107 IPs)
claude:password         (104 IPs)
claude:1                 (88 IPs)
claude:root              (87 IPs)
claude:abc123            (85 IPs)
claude:Claude2026!       (35 IPs)
claude:claude2025        (30 IPs)
claude:claude!           (30 IPs)
claude:Claude2025!       (20 IPs)
claude:claude2026        (19 IPs)
# ... 39 additional low-spread passwords (claude12345, claude@123, Claude11!, etc.)

nvidia username — top credentials

nvidia:nvidia          (236 IPs)   ← includes the 132 accepted logins during the 2026-06-08 wildcard-userdb window
nvidia:nvidia123        (12 IPs)
nvidia:nvidia@1234       (1 IP)
# ... 26 additional brand-variation passwords (nvidia2025!, nvidia#2024, etc.)

onkar username — full credential list

onkar:onkar123         (226 IPs)   ← single-password campaign

06 MITRE ATT&CK mapping

Technique IDNameEvidence
T1110.001 Brute Force: Password Guessing Brand-specific wordlists (claude123, nvidia2026!) targeting potential AI service accounts
T1110.003 Brute Force: Password Spraying Generic passwords (123456, password, root) sprayed from 100+ IPs against claude username
T1595 Active Scanning Fleet-wide systematic probing; same IPs also conduct general SSH brute-force (357K+ other-username logins in same period)
T1592 Gather Victim Host Information AI-branded username targeting (claude, nvidia) to identify AI infrastructure; confirmed by the 2026-06-08 near-miss, where accepted nvidia sessions ran lspci | egrep VGA && lspci | grep 3D and nproc — an explicit GPU/hardware check
T1205 Traffic Signaling Honeypot fingerprinting: a server accepting claude:claude after 600+ attempts signals it's a dynamic-userdb honeypot, not production infrastructure — allows attacker to filter honeypots from real targets
T1584 Compromise Infrastructure Attempting to manipulate honeypot userdb to accept attacker-chosen accounts — the 2026-06-08 near-miss shows this isn't purely theoretical: a wildcard-password entry was briefly accepted and used for recon
T1205 (Traffic Signaling) is the primary novel technique here. Most botnet campaigns try to avoid honeypots. This one deliberately targets them — using the honeypot's own adaptive behavior as a detection mechanism. Most of the campaign failed, but the 2026-06-08 near-miss shows the mechanism does work when a tuning-pipeline edge case (a wildcard-password entry) slips past the exact-credential-pair heuristic.

07 Indicators of compromise

Poisoning usernames

UsernameClassificationAction
claudePoisoning — AI brandBlock; never add to userdb
nvidiaPoisoning — AI hardware brandBlock; never add to userdb
onkarPoisoning — personal-name paddingBlock; never add to userdb

High-confidence botnet IPs (all 3 poisoning usernames observed)

45.153.34.112 45.153.34.235 45.156.87.254 176.65.132.24 45.156.87.204 192.109.200.78 176.65.132.129 45.153.34.71 45.156.87.253 45.156.87.147 45.156.87.93 176.65.132.17 176.65.132.22 45.153.34.149 45.156.87.13 192.109.200.220 45.156.87.34 45.153.34.114 45.156.87.216 45.156.87.166

Botnet subnets (block at network perimeter)

CIDRObserved IPsTotal Hits
176.65.139.0/24302,739
91.92.40.0/24251,200
91.92.42.0/24101,321
45.156.87.0/2493,485
45.153.34.0/2472,857
176.65.132.0/2452,003
192.109.200.0/242844

Password patterns (detection/blocklist)

PatternTarget UsernameSpread
claudeclaude231 IPs
claude123claude133 IPs
claude2025 / claude2026claudeMulti-IP
Claude2025! / Claude2026!claude35 IPs combined
nvidianvidia236 IPs
nvidia123nvidia12 IPs
onkar123onkar226 IPs — single-password campaign

08 Detection & hardening

Userdb tuning hardening

Three controls that ultimately stopped this campaign — plus one gap the 2026-06-08 near-miss exposed:

  1. AI sanity check on tuning reports — LLM review of proposed additions flags AI-brand and personal-name usernames as anomalous before auto-apply.
  2. IP-overlap cross-analysis — computing overlap across candidate-username IP sets; 70%+ shared IPs is a strong coordination signal.
  3. Poisoning shape filter in honey-tunesuccess=0, count <= distinct_ips × 1.5 heuristic. Note: this filter did not catch this campaign because count > distinct_ips × 1.5 for all three usernames. A stronger heuristic: flag usernames with no prior appearances in any tuning report that appear from >50 IPs simultaneously.
  4. Gap found in this campaign — wildcard-password entries bypass all three of the above. The 2026-06-08 near-miss got through because nvidia:x:* is a wildcard-password entry, not a specific observed credential pair — none of the three controls above evaluate that shape. Recommendation: automated tuning should never emit user:x:* wildcard entries from candidate additions; only exact observed credential pairs should reach auto-apply.

Suricata rules

alert ssh any [45.153.34.0/24,45.156.87.0/24,176.65.132.0/24,176.65.139.0/24,91.92.40.0/22,192.109.200.0/24] any -> $SSH_SERVERS any (msg:"SSH brute-force from AI-username poisoning botnet subnet"; flow:to_server,established; threshold:type both,track by_src,count 5,seconds 60; sid:9100001; rev:1;)

alert ssh any any any -> $SSH_SERVERS any (msg:"SSH login attempt with AI-brand username claude"; flow:to_server; content:"claude"; nocase; threshold:type both,track by_src,count 3,seconds 300; sid:9100002; rev:1;)

alert ssh any any any -> $SSH_SERVERS any (msg:"SSH login attempt with AI-brand username nvidia"; flow:to_server; content:"nvidia"; nocase; threshold:type both,track by_src,count 3,seconds 300; sid:9100003; rev:1;)

Blocklist recommendation

Operators running adaptive honeypot userdb tuning should add claude, nvidia, and onkar to a permanent exclusion list — these should never be auto-added regardless of observation count. The subnets listed above are suitable for SSH blocklist or rate-limit application.

Broader implication: AI-brand username campaigns

This campaign marks the first observed systematic use of AI product brand names (claude, nvidia) as SSH brute-force usernames at scale. As AI inference infrastructure proliferates, attackers are pre-staging credential wordlists for accounts that may exist on GPU servers, LLM hosting platforms, and AI API gateway infrastructure. Operators of AI workloads should audit for claude, nvidia, openai, gemini, llama, ollama, anthropic, and similar AI-brand service accounts in their SSH authentication systems.

09 Collection methodology

All data collected via a distributed SSH/Telnet honeypot fleet spanning multiple cloud providers and geographic regions. Login attempts are captured in near-real-time with source IP, username, password, and timestamp fields preserved for analysis.

Tuning analysis via honey-tune cron worker (daily, 02:17 UTC): aggregates top credential pairs by distinct-IP count over 7-day window, diffs against current applied userdb, runs AI sanity check, and gates auto-apply on sanity approval. Report #24 (2026-06-25) was the first to trigger the AI sanity gate on this campaign's exact-credential-pair additions and block auto-apply — but it was not the campaign's first brush with acceptance: report #43 (2026-06-08) had already auto-applied a wildcard-password nvidia entry that fell outside the exact-pair heuristic (see Timeline).

IP-overlap analysis computed directly against the events table, comparing distinct-src_ip sets per username. No external enrichment (ASN/geo) applied — userdb poisoning classification based solely on observed traffic patterns and username semantics.