# NeuroImprint Detector: Audita adapters PEFT para detectar backdoors de privacidad en Federated Learning

> Source: <https://dev.to/magopredator/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad-en-federated-4omi>
> Published: 2026-06-20 19:45:00+00:00

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.

Desarrollé [neuroimprint-detector](https://github.com/amurlaniakea/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.

```
[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?
pip install neuroimprint-detector
```

**Auditar un adapter:**

```
neuroimprint-audit --path /path/to/adapter
```

**Reconstrucción forense completa (con tokenizer online):**

```
neuroimprint-audit --path /adapter \
  --reconstruct \
  --tokenizer-id Qwen/Qwen2-0.5B \
  --output report.json
```

**Modo offline (sin conexión a internet):**

```
neuroimprint-audit --path /adapter \
  --reconstruct \
  --tokenizer-id /path/to/local/tokenizer \
  --output report.json
```

**Desde Python:**

``` 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
```

| 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.997 |

SGD permite reconstrucción exacta. AdamW permite reconstrucción aproximada (pierde magnitud por el momentum).

| 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 |
| CLI |
`neuroimprint-audit` con flags `--reconstruct` y `--tokenizer-id`
|
| CI | GitHub Actions (Python 3.10, 3.11) |

**43 tests pasando** — cobertura completa de unitarios + integración.

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.

¿Auditarías los adapters de tu pipeline de FL? Leo opiniones.
