Skip to main content

Module raid

Module raid 

Source
Expand description

Raid assessment: which members read as people, and which read as spawned identities.

A sybil raid never looks like spam from one account. It looks like one message each from a hundred fresh accounts, so per-sender rate limits and per-account reputation both miss it entirely. What survives is the COHORT: many distinct senders posting the same shape inside one window, from identities that were minted minutes ago. This module folds those signals into a per-member verdict plus the reasons behind it, so a moderator sees why before acting — the output drives a rotation’s retain set, and a wrong call there evicts a real member.

Conviction rests on cohort evidence, never on freshness alone: a community that just posted an invite link is supposed to see a burst of quiet new accounts.

Structs§

Cohort
A duplicate-text cluster: the evidence a raid actually leaves behind.
MemberAssessment
One member’s verdict with the evidence that produced it.
MemberSignals
What the caller knows about one member before any judgement is applied.
RaidParams
Tunables for assess. The defaults are the shape of a real raid; a moderator can widen them from the panel when a wave is slower or quieter than the norm.
RaidReport
The whole picture for one community.

Enums§

Verdict
Where a member lands. Only Verdict::Suspect is pre-selected for removal.

Functions§

assess
Judge every member against the cohort evidence. now_secs is the clock the caller reads once, so a long assessment can’t drift mid-pass.
skeleton
Collapse a message to the shape a raid script repeats. Case, punctuation, spacing and digit variation are all one line of attacker code to randomise, so none of them may carry weight.
skeleton_with
skeleton against a set of shortcodes that actually render as images. A :code: outside the set reaches the reader as literal text, so it stays in the skeleton — otherwise wrapping the payload in colons hides a cohort in plain sight.