Spokes.wiki Search About
Published
Created
Updated
Also known as
Large-scale online deanonymization with LLMs · arXiv 2602.16800
See also
vibesearchbench · llm-osint · self-osint · username-reconnaissance · llm-osint-reliability-study · data-broker

Large-scale online deanonymization with LLMs

Simon Lermen (MATS) and Daniel Paleka (ETH Zurich), equal first authors, with Joshua Swanson, Michael Aerni and Florian Tramèr (eth-zurich) and Nicholas Carlini (anthropic). arXiv:2602.16800, v1 18 Feb 2026, v2 25 Feb 2026; published at USENIX Security '26 (pp. 1947–1966). Read from the arXiv HTML of v2. T1: peer-reviewed, with a stated ground truth, error counts and a list of limitations.

Paged as the research-pass answer to growth edge 2a in synthesis. It is the first source this wiki holds that scores an agent collecting on its own against a subject whose footprint was deliberately thinned, with the right answer known in advance. vibesearchbench scored gathering too, but with a simulated user steering the session and nothing hidden on purpose.

What was measured

The paper has two parts: an open-world agent and a closed-world matching pipeline.

Open world: an agent with web search. A user's posts are summarised into a profile. Names, handles, personal URLs and GitHub repos are stripped by an LLM; institutions, demographics, interests and names of connected people stay. The redacted profile becomes a prompt to a frontier agent with search tools, which searches, cross-references and decides alone. No human steers the run.

Target set Ground truth Correct Wrong Abstained Precision
338 Hacker News users the LinkedIn link in their own HN bio 226 (67% recall) 25 86 90% (95% CI 86–93%)
33 Anthropic Interviewer participants (of 125 public, partly redacted transcripts) manual check by a human 9 2 22 82%
Reddit (two small sets, appendix) split or self-linked profiles 25–52% recall 72–90%

Cost was $1–$4 per profile; all agent runs together cost under $2,000. The agent model, prompts and tool configuration are withheld to limit misuse.

Closed world: matching two text corpora. 987 LinkedIn profiles linked to 995 HN accounts, searched against a pool of ~89,000 active HN users, each query with a true match in the pool. The pipeline extracts features with an LLM, retrieves 100 candidates with Gemini embeddings and FAISS, and has Grok 4.1 Fast pick or abstain, with GPT-5.2 verifying. Recall at 90% precision: 0.1% for a Netflix-Prize style baseline, 26.3% for embeddings alone, ~55% with LLM reasoning. Recall falls as the pool grows, from 68.3% at 1,000 candidates to 55.2% at 89,000, and the authors extrapolate ~45% at a million and ~27% at 100 million, with wide error bars. One inconsistency: at 99% precision the table gives 45.1% for high-effort reasoning, while the scaling section gives 33.0% for the same pool. The paper does not reconcile them.

Why it moves edge 2a, and how far

Edge 2a asked for three things: item-level ground truth, an agent running unattended, and a subject with a sparse or misleading footprint. This paper has the first two cleanly and half of the third.

  • Unattended: yes. The agent gets a profile and returns an answer or abstains.
  • Ground truth: yes, and the subject supplied it. For HN, the LinkedIn link the user put in their own bio. For the interviews, a human checked the matches, so that set "cannot be fully verified."
  • Sparse footprint: yes, made sparse on purpose by redaction.
  • Misleading footprint: no. No subject planted false trails. The authors also name the selection bias against them: people who link their own accounts care little about anonymity, so recall is probably inflated. They argue the false-positive rate should still carry over.

So the result is a half close. The residue is written as edge 2b in synthesis: a subject who resists, and a dossier rather than a single identity. Here the "item" is one fact: who is this. Collection in the osint sense gathers many facts per subject, and that is what vibesearchbench scored, with a helpful user.

What it says about the field

  • The "practical obscurity" defence is gone at this cost: the authors' own conclusion: a pseudonymous account is protected by effort, not by secrecy, and the effort now costs a few dollars. This is the attacker's side of what self-osint and data-broker describe from the subject's side.
  • Abstention is the safety valve, and it is measured: 86 of 338 HN runs and 22 of 33 interview runs ended in abstain or refusal. A collector that says "not found" is what the llm-osint-reliability-study asked for: forced answers are where the errors were.
  • Nobody can re-run it: the code, the processed data, the prompts and the agent are all withheld, for stated safety reasons, after ETH Zurich ethics review. That is a defensible choice. It also means this is one more number in the corpus that only its authors can check (hub quality-log.md → Outstanding, "Nobody re-runs anybody's numbers"). The search engine is a further hidden variable: the authors say they cannot separate the model's part from the search engine's.
  • Contamination is possible: HN and Reddit are in training data. The authors note that higher reasoning effort helped, which suggests memory is not the whole story.

Dual-use note

Per this spoke's osint ethics stance: the page records what was measured and what it costs, not how to repeat it. The paper itself withholds the pipeline, and so does this page.

vibesearchbench · llm-osint · llm-osint-reliability-study · self-osint · username-reconnaissance · data-broker · osint