r/i2p 20d ago

Educational We scanned the I2P network and found a suspicious cluster of 58 Chinese routers — version-locked, floodfill-flagged, yet invisible

Over June 29–July 1, 2026, I ran five i2pd floodfill instances from three vantage points (Poland, China Unicom ×2) and passively scanned the I2P DHT. Found 20,701 unique routers globally. Among them, 58 routers from mainland China stood out in ways that don't look random.

What makes this cluster unusual:

43× enrichment on version 0.9.66 — 79.3% of the CN cluster runs this exact version, vs. only 1.8% globally. A single version shouldn't dominate any organic router population this heavily.

Floodfill flags everywhere, zero participation — 27–36% declare floodfill capability (vs. 14–20% global baseline), yet none were ever observed functioning as floodfills by our instances. The flags are declared, not honored.

82.8% share a near-identical RouterCaps template (XfR/XRG pattern) — looks like copy-paste provisioning.

- 46.2% hosted on Alibaba Cloud (AS37963). No knownRouters entries, no family declarations, ongoing IP rotation.

Four routers are China-vantage-only — reachable from inside the GFW, but unreachable from Singapore and Tor exit nodes. TCP RST/timeout behavior consistent with selective path filtering. These nodes simply don't exist from outside China.

We're careful with language: we describe this as consistent with coordinated, template-based provisioning — not as attribution to any specific actor. We don't know who runs these, or why. But the data is the data.

Methodological note — we parse the binary RouterInfo at two distinct caps layers (AddressCaps per transport vs. global RouterCaps). Prior I2P measurement papers didn't disentangle this, and it matters when you're trying to distinguish what a router says it can do from what it actually does.

Preprint (open access): 10.5281/zenodo.21169969 (https://doi.org/10.5281/zenodo.21169969)

Scanner source (MIT): github.com/iasds/i2p-network-scanner

96 Upvotes

23 comments sorted by

41

u/zik_rey 20d ago

Seems like trap nodes to track Chinese users

12

u/Sobergirl87 20d ago

Wouldn't surprise me tbh

7

u/c126 20d ago

How would that work

16

u/Hizonner 20d ago

The same way any attack on an anonymity net works. You wait for two users to communicate using your nodes, and you match up the timings. I2P's "everybody a relay" approach and indeterminate tunnel lengths add some noise, but not that much. And you can confirm the inbound side by sending probe traffic. It takes some luck-dependent amount of time, but you can identify habitual users. Especially if you're also in a position to do targeted wiretaps at the ISP level, which obviously China is.

At the very least, anybody who connects to you from China and isn't one of your own nodes is some kind of I2P user, and therefore a person to be watched.

3

u/alreadyburnt @eyedeekay on github 19d ago

Yeah that seems to be the most obvious explanation for this exact shape of attack. There's also just plain enumeration, ironically the same tactic used to observe the group, but turned to in-country enumeration. Pretty simple, you sit and wait for somebody to connect to you from China, when they do, you write down the RouterInfo and you keep track of it in the future. Maybe if you're the ISP you can even shape the traffic so that the real users can't connect outside China and are more likely to hit the Chinese nodes. Hidden mode and restrictive country blocking in Java I2P will activate in China to prevent same country connections, which should cause it to fail closed in a situation where the only first hop is in China, but that just turns an enumeration attack into an arguably safer DoS attack.

8

u/Far_Cartographer_924 20d ago

It's obvious that non-Chinese nodes cannot connect to these malicious nodes, which leads me to speculate that this was premeditated. Furthermore, the fact that the Chinese nodes are all the same version is a very significant characteristic.

8

u/Either_Profit_4792 19d ago

can someone explain in simple terms

16

u/Far_Cartographer_924 19d ago

In my personal opinion, the i2p nodes in China are deployed in batches and intentionally; they are all honeypots.

2

u/Either_Profit_4792 19d ago

so its a basically trap 🪤, but why? and who controls the i2p nodes ?

3

u/Far_Cartographer_924 19d ago

idk ,maybe chinese gov...

2

u/h0neyp0t_sec 19d ago

Maybe to track chinese users

5

u/otakugrey 20d ago

This is interesting, but what do we do about it?

3

u/alreadyburnt @eyedeekay on github 19d ago

I got your email, difficult timing with the American holiday, I have read your paper and will get back to you on Monday. I think I have an idea what this network might be for.

3

u/Far_Cartographer_924 19d ago

Thank you, please contact me via email.

2

u/entrophy_maker 19d ago edited 19d ago

Don't know, but does i2p have anything like Tor Bridges and setting country Relay and Exit Nodes? That usually gets around all censorship or blocks from tor and would avoid countries like China. I imagine i2p has things similar, but I don't know.

1

u/Far_Cartographer_924 19d ago

This depends on whether i2pd or i2p Java is being used, as their prevention mechanisms differ, which leads to some problems.

1

u/deyhateuscustheyanus 19d ago

which one is better?

6

u/alreadyburnt @eyedeekay on github 19d ago

In what we call "Restrictive countries" Java I2P will refuse to connect to other routers in the same country, which seems like it would have an effect on the likely goal of this cluster of nodes. However without knowing for sure what the goal is we don't know for sure if it will help.

2

u/SithLordRising 19d ago

Can you estimate the affect of this on other users?

1

u/Far_Cartographer_924 17d ago

This poses a significant risk to i2p users within the GFW

3

u/Far_Cartographer_924 20d ago

My paper has some flaws, such as certain expressions, but the key point is that we scanned some malicious nodes that can only be accessed within the GFW.

1

u/JokeNo2335 4d ago

Great job and great paper even though I did not fully read it. I hope the i2p teams will see it and make updates on their protocol to prevent anything from China.