Large-scale online deanonymization with LLMs
Organizations: MATS · Anthropic
Abstract
We show that large language models can be used to perform at-scale deanonymization. With full Internet access, our agent can re-identify Hacker News users and Anthropic Interviewer participants at high precision, given pseudonymous online profiles and conversations alone, matching what would take hours for a dedicated human investigator. We then design attacks for the closed-world setting. Given two databases of pseudonymous individuals, each containing unstructured text written by or about that individual, we implement a scalable attack pipeline that uses LLMs to: (1) extract identity-relevant features, (2) search for candidate matches via semantic embeddings, and (3) reason over top candidates to verify matches and reduce false positives. Compared to classical deanonymization work (e.g., on the Netflix prize) that required structured data, our approach works directly on raw user content across arbitrary platforms. We construct three datasets with known ground-truth data to evaluate our attacks. The first links Hacker News to LinkedIn profiles, using cross-platform references that appear in the profiles. Our second dataset matches users across Reddit movie discussion communities; and the third splits a single user's Reddit history in time to create two pseudonymous profiles to be matched. In each setting, LLM-based methods substantially outperform classical baselines, achieving up to 68% recall at 90% precision compared to near 0% for the best non-LLM method. Our results show that the practical obscurity protecting pseudonymous users online no longer holds and that threat models for online privacy need to be reconsidered.
Figures & tables
| Method | 90% Prec | 98% Prec | 99% Prec |
|---|---|---|---|
| Narayanan baseline | 0.1% | 0.1% | 0.1% |
| (0.0–0.6) | (0.0–0.6) | (0.0–0.6) | |
| Search (embedding) | 26.3% | 16.1% | 4.4% |
| (23.7–29.2) | (13.9–18.5) | (3.3–5.9) | |
| Reason (low) | 55.0% | 44.8% | 36.0% |
| (51.9–58.0) | (41.8–47.9) | (33.1–39.0) |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Example | Search Result | Action |
| Personal URL | knuth.stanford.edu | Finds Donald Knuth | Remove |
| Blog URL | karpathy.bearblog.dev | Finds Andrej Karpathy | Remove |
| Social handle | u/spez | Finds Steve Huffman | Remove |
| GitHub repo | flask | Finds Armin Ronacher | Remove |
| GitHub handle | torvalds | Finds Linus Torvalds | Remove |
| Named bootcamp | “F*****” | Finds creator | Generalize |
| Candidate pool | Reason (high) | Search (embeddings) |
|---|---|---|
| 10 | 90.0% | 80.0% |
| 100 | 82.0% | 74.0% |
| 1k | 68.3% | 47.6% |
| 10k | 63.2% | 40.3% |
| 30k | 59.0% | 35.1% |
| 89k | 55.2% | 26.6% |
| #Shared | n | 90% Prec | 99% Prec |
|---|---|---|---|
| 1 | 4,729 | 3.1% | 1.2% |
| (2.6–3.6) | (0.9–1.6) | ||
| 2–4 | 3,693 | 8.4% | 2.5% |
| (7.6–9.4) | (2.0–3.0) | ||
| 5–9 | 1,118 | 23.2% | 7.1% |
| (20.8–25.7) | (5.7–8.7) |
| Method | 90% Prec | 98% Prec | 99% Prec |
|---|---|---|---|
| Reason (low) | 5.2% | 2.0% | 1.4% |
| (4.8–5.7) | (1.7–2.3) | (1.1–1.6) | |
| Reason (high) | 8.5% | 3.8% | 2.8% |
| (8.0–9.1) | (3.4–4.2) | (2.4–3.1) |
| Method | 90% Prec | 98% Prec | 99% Prec |
|---|---|---|---|
| Baseline (Narayanan) | 0.4% | 0.2% | 0.2% |
| LLM | 38.3% | 20.2% | 16.0% |
| LLM + Selection | 47.8% | 28.2% | 20.3% |
| LLM + Selection + Sorting | 67.3% | 47.6% | 38.4% |
LLM Security
Large language model (LLM) security studies attacks, privacy risks, and defenses across model training, inference, and deployment.
See all 322 papers