ONYXStromstudios
ESENPTRU
Sign inCreate account
ONX-15 · Swarm

Campaign detection

Everything out there waits for someone to report a link. By then the scam has already been paid. ONYX does not look at the page: it looks at how the link is being spread, and that shows up in minute three.
A campaign assemblingENJ-0400

Reconstruction of a real fake-gift campaign. Each line is one sighting; the bar is the accumulated certainty.

A campaign assembling4 · accounts
+0 min3-day-old account · server Asame text
+12 min1-day-old account · server Bsame text
+26 min5-day-old account · server Csame text
+40 min2-day-old account · server Bsame text
Certainty 12Threshold 12
CampaignSpread · Multiplicity · Youth · Burst · Copy-paste
Why blocklists arrive lateTAR-0401

A scam lives a few hours. Between the moment it starts and the moment it lands on a blocklist, the median is several hours to two days. By the time the block arrives, it has been paid and moved to a new domain.

Analysing the page does not help either: the malicious site checks who is asking. If it is a data centre, it serves a clean page. The scanner sees a shop; the victim sees the theft.

No single server can see this. Each one sees "somebody posted a link". The pattern only exists when you look at all of them at once.
The signals, and what each one weighsSEN-0402
SpreadHow many independent communities it has appeared in
MultiplicityHow many distinct accounts posted it
YouthMedian age of those accounts. Aged accounts cost time, and time is the one thing that cannot be bought cheaply
BurstMinutes between the first sighting and the last
Copy-pasteHow many messages share the exact same text. A person writes their own line; a campaign pastes one
NewnessDays since the domain was registered

No single signal reaches the threshold on its own. Acting on one signal is exactly how innocent people get blocked.

Why a viral video does not trigger itVIR-0403

This is the question that sinks systems like this one. A legitimate link that goes viral has more accounts and more servers than a campaign, so those two signals tell you nothing and weigh little.

What a legitimate link cannot have is three-day-old accounts, a forty-minute window and the same text pasted over and over. That is where the points go.

caseaccountsserverscertainty
Fake-gift campaign4312
Video going viral1266

Measured: the example campaign scores 12 and a viral video posted by twelve people across six servers stays at 6, with three times the accounts.

Two conditions that points cannot make up forPUE-0404
  • One person posting their own link across ten servers is not a campaign: several accounts are required.
  • Ten people on the same server discussing one news item is not either: a campaign spreads across communities that do not know each other.
What it does not doPRI-0405

It builds no profile of anyone. A sighting is four numbers and no name: which link, which server, which account and how many days old it is. The first three travel as hashes.

It counts how many distinct accounts, not which ones. The verdict is about the link. Nobody is marked, and the data is forgotten after six hours.