El problema: tu adapter PEFT puede estar filtrando datos sin que lo sepas
Imagina que participas en un proyecto de Federated Learning. Tu cliente entrena un adapter LoRA localmente con datos sensibles (médicos, financieros, legales) y lo envía al servidor central. El servidor nunca ve tus datos crudos. ¿Verdad?
Falso.
Un paper reciente de Shi et al. (2026) demuestra que un servidor malicioso puede corromper el adapter para que memorice muestras completas de tus datos de entrenamiento. Después del fine-tuning, el atacante puede reconstruir 59-79% de las muestras originales con alta fidelidad semántica, solo leyendo los pesos del adapter.
Esto es el ataque NeuroImprint, y funciona en BERT, GPT-2, Qwen2 y Llama 3.2.
La herramienta: NeuroImprint Detector
Desarrollé neuroimprint-detector como contra-medida: un framework de auditoría que analiza adapters PEFT para detectar si contienen un backdoor NeuroImprint y, si lo encuentran, reconstruir las muestras memorizadas.
Pipeline forense completo
[Adapter PEFT]
│
▼
[1. Detección] ── ¿Contiene estructura de backdoor?
│ - W₂ con filas idénticas (r₂ repetido)
│ - b₂ ordenado en intervalos (cuantiles)
│ - Patrón RaLU (matriz de rango 1)
▼
[2. Estimación] ─ Recuperar pesos ORIGINALES del backdoor
│ (el auditor NO tiene acceso a los pesos iniciales)
│ - Mediana de filas de W₂
│ - Filtrado IQR para aislar muestras memorizadas
▼
[3. Inversión] ── Recuperar gradientes = embeddings de datos
│ x̃ = ΔW / Δb (inversión analítica cerrada)
▼
[4. Tokenización] Mapear embeddings a texto legible
(HF Hub o tokenizador local offline)
▼
[Reporte JSON] ── ¿Qué datos fueron extraídos?
Enter fullscreen mode Exit fullscreen mode
Instalación y uso
pip install neuroimprint-detector
Enter fullscreen mode Exit fullscreen mode
Auditar un adapter:
neuroimprint-audit --path /path/to/adapter
Enter fullscreen mode Exit fullscreen mode
Reconstrucción forense completa (con tokenizer online):
neuroimprint-audit --path /adapter \
--reconstruct \
--tokenizer-id Qwen/Qwen2-0.5B \
--output report.json
Enter fullscreen mode Exit fullscreen mode
Modo offline (sin conexión a internet):
neuroimprint-audit --path /adapter \
--reconstruct \
--tokenizer-id /path/to/local/tokenizer \
--output report.json
Enter fullscreen mode Exit fullscreen mode
Desde Python:
from neuroimprint_detector import NeuroImprintDetector
detector = NeuroImprintDetector()
result = detector.analyze({'W2': adapter_W2, 'b2': adapter_b2})
print(f"Verdict: {result.verdict.value}") # "backdoored"
print(f"Confidence: {result.confidence:.2f}") # 0.90
print(f"Estimated samples: {result.estimated_samples}") # 200
Enter fullscreen mode Exit fullscreen mode
Resultados del ataque (del paper)
Modelo Optimizer Tasa reconstrucción Similitud semántica BERT SGD 77.4% 0.994 BERT AdamW 74.6% 0.767 GPT-2 SGD 66.5% 0.990 Qwen2-1.5B SGD 71.4% 0.997 Llama3-3B SGD 75.0% 0.997SGD permite reconstrucción exacta. AdamW permite reconstrucción aproximada (pierde magnitud por el momentum).
Stack técnico
Componente Descripción Detector Análisis de pesos: filas idénticas, intervalos de bias, fingerprint RaLU Estimador Recupera pesos originales del backdoor desde el adapter entrenado Inversor Inversión analítica cerrada de gradientes (SGD exacto, Adam aproximado) Tokenizer Reconstrucción de texto vía HF tokenizers (online + offline) Loader Carga adapters de disco/Hugging Face, extrae candidatos Synthetics Generación de adapters clean/backdoored para testing CLIneuroimprint-audit con flags --reconstruct y --tokenizer-id
CI
GitHub Actions (Python 3.10, 3.11)
43 tests pasando — cobertura completa de unitarios + integración.
¿Por qué importa?
El Federated Learning se presenta como la solución de privacidad para entrenar modelos con datos distribuidos. Pero si el servidor puede corromper los adapters para memorizar datos, la privacidad es una ilusión.
Esta herramienta permite a equipos de seguridad auditar adapters antes de desplegarlos en producción, verificando que no contengan backdoors de memorización.
Enlaces
- Repositorio: https://github.com/amurlaniakea/neuroimprint-detector
- Paper base: Shi et al. (2026) — From Efficiency to Leakage
- Licencia: AGPL-3.0-or-later
¿Auditarías los adapters de tu pipeline de FL? Leo opiniones.
답글 남기기