Adaptive Text Anonymization: Learning Privacy-Utility Trade-offs via Prompt Optimization
Paper β’ 2602.20743 β’ Published β’ 2
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Hβ: Anonymization of CTI threat reports via SLM (Small Language Model) + RAG does NOT significantly decrease the downstream ATT&CK technique classification accuracy.
Hβ: Anonymization via SLM+RAG causes a statistically significant drop (>2% F1) in ATT&CK classification performance.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EXPERIMENT PIPELINE β
β β
β ββββββββββββββββ βββββββββββββββββββββββ β
β β Raw CTI βββββΆβ ATT&CK Classifier ββββΆ F1_original β
β β Report β β (SecureBERT) β β
β ββββββββ¬ββββββββ βββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββ β
β β SLM Anonymizer + RAG β β
β β β β
β β Step 1: NER Detection β β
β β - GLiNER / SecBERT NER β β
β β - Entity types: β β
β β ORG, THREAT_ACTOR, β β
β β MALWARE, TOOL, IP, β β
β β LOC, CVE β β
β β β β
β β Step 2: RAG Context β β
β β - ATT&CK KB embeddings β β
β β - Guides what to β β
β β preserve vs. mask β β
β β β β
β β Step 3: SLM Replacement β β
β β - Typed placeholders β β
β β - [MALWARE_1], etc. β β
β ββββββββββββ¬ββββββββββββββββ β
β βΌ β
β ββββββββββββββββ βββββββββββββββββββββββ β
β β Anonymized βββββΆβ ATT&CK Classifier ββββΆ F1_anon β
β β CTI Report β β (same SecureBERT) β β
β ββββββββββββββββ βββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β EVALUATION β β
β β - ΞF1 = F1_original - F1_anon β β
β β - McNemar's test for statistical significance β β
β β - Per-technique F1 comparison β β
β β - Entity leakage rate β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Strategy ID | Method | Description |
|---|---|---|
baseline |
None | No anonymization (control) |
placeholder |
NER β Typed Placeholder | APT29 β [THREAT_ACTOR_1] |
slm_replace |
SLM generates synthetic replacements | APT29 β ThreatGroup-Alpha |
slm_rag |
SLM + RAG-guided anonymization | RAG retrieves ATT&CK context, SLM preserves behavioral terms |
full_redact |
Full entity redaction | APT29 β [REDACTED] |
| Dataset | HF ID | Usage |
|---|---|---|
| Security-TTP-Mapping | tumeteor/Security-TTP-Mapping |
Train/eval ATT&CK classifier |
| CTI-Bench (ATE) | AI4Sec/cti-bench config cti-ate |
Eval benchmark |
| CTI-Bench (TAA) | AI4Sec/cti-bench config cti-taa |
Natural anonymization baseline |
| AnnoCTR | priamai/AnnoCTR |
NER training data |
| Component | Model | HF ID | Size |
|---|---|---|---|
| ATT&CK Classifier | SecureBERT | ehsanaghaei/SecureBERT |
125M |
| ATT&CK Classifier v2 | SecureBERT 2.0 | cisco-ai/SecureBERT2.0-base |
149M |
| Semantic Ranker | SentSecBert | QCRI/SentSecBert_10k |
~110M |
| SLM Anonymizer | Foundation-Sec-8B | fdtn-ai/Foundation-Sec-8B-Instruct |
8B |
| NER Model | GLiNER | urchade/gliner_mediumv2.1 |
90M |
python experiments/run_experiment.py \
--classifier-model ehsanaghaei/SecureBERT \
--epochs 5 \
--batch-size 16 \
--hub-model-id Dinegonos/securbert-ttp-classifier
python experiments/run_experiment.py \
--classifier-model ehsanaghaei/SecureBERT \
--use-gliner \
--hub-model-id Dinegonos/securbert-ttp-classifier
python experiments/run_experiment.py \
--classifier-model ehsanaghaei/SecureBERT \
--use-gliner \
--use-slm-rag \
--slm-model fdtn-ai/Foundation-Sec-8B-Instruct \
--hub-model-id Dinegonos/securbert-ttp-classifier
| Study | Finding | Relevance |
|---|---|---|
| arXiv:2306.05561 | NER-based pseudonymization drops classification F1 by only 0.27-0.36% | Strongest evidence for Hβ |
| arXiv:2309.03057 | Hide-and-Seek framework maintains translation quality after anonymization | Architectural precedent |
| arXiv:2412.10918 | Fine-tuned small NER models achieve F1=0.97+ for de-identification | SLM capability evidence |
| arXiv:2411.01073 | RAG over ATT&CK KB achieves context recall ~0.85 | RAG effectiveness for ATT&CK |