YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

SLM+RAG Anonymization for TRAM Threat Reports

Hypothesis

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 Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    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                            β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Anonymization Strategies (Ablation)

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]

Datasets

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

Models

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

Quick Start

Phase 1: Regex-only anonymization (no GPU needed)

python experiments/run_experiment.py \
  --classifier-model ehsanaghaei/SecureBERT \
  --epochs 5 \
  --batch-size 16 \
  --hub-model-id Dinegonos/securbert-ttp-classifier

Phase 2: GLiNER NER + anonymization (GPU needed)

python experiments/run_experiment.py \
  --classifier-model ehsanaghaei/SecureBERT \
  --use-gliner \
  --hub-model-id Dinegonos/securbert-ttp-classifier

Phase 3: Full SLM+RAG pipeline (A10G/A100 needed)

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

Key References

  1. TRAM: github.com/center-for-threat-informed-defense/tram
  2. NCE Matching for TTP: arXiv:2401.10337 β€” F1@3=0.555 on TRAM
  3. Privacy-Preserving NLP: arXiv:2306.05561 β€” NER-PS drops <0.4% F1
  4. CTIBench: arXiv:2406.07599 β€” GPT-4 F1=0.639 on CTI-ATE
  5. SecureBERT: arXiv:2204.02685
  6. SecureBERT 2.0: arXiv:2510.00240 (ModernBERT-based)
  7. Foundation-Sec-8B: arXiv:2508.01059
  8. AnnoCTR: arXiv:2404.07765
  9. Adaptive Anonymization: arXiv:2602.20743
  10. LLM-in-the-Loop De-identification: arXiv:2412.10918

Literature Evidence Supporting Hypothesis

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
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Papers for Dinegonos/slm-rag-anonymization-tram