{"slug": "neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad", "title": "NeuroImprint Detector: Audita adapters PEFT para detectar backdoors de privacidad en Federated Learning", "summary": "A developer released NeuroImprint Detector, an open-source framework that audits PEFT adapters in Federated Learning for backdoors that memorize training data. The tool can detect and reconstruct up to 79% of original samples from corrupted adapters, addressing a privacy vulnerability demonstrated in recent research.", "body_md": "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?\n\n**Falso.**\n\nUn 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.\n\nEsto es el ataque **NeuroImprint**, y funciona en BERT, GPT-2, Qwen2 y Llama 3.2.\n\nDesarrollé [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.\n\n```\n[Adapter PEFT]\n      │\n      ▼\n[1. Detección] ── ¿Contiene estructura de backdoor?\n      │             - W₂ con filas idénticas (r₂ repetido)\n      │             - b₂ ordenado en intervalos (cuantiles)\n      │             - Patrón RaLU (matriz de rango 1)\n      ▼\n[2. Estimación] ─ Recuperar pesos ORIGINALES del backdoor\n      │             (el auditor NO tiene acceso a los pesos iniciales)\n      │             - Mediana de filas de W₂\n      │             - Filtrado IQR para aislar muestras memorizadas\n      ▼\n[3. Inversión] ── Recuperar gradientes = embeddings de datos\n      │             x̃ = ΔW / Δb (inversión analítica cerrada)\n      ▼\n[4. Tokenización] Mapear embeddings a texto legible\n                   (HF Hub o tokenizador local offline)\n      ▼\n[Reporte JSON] ── ¿Qué datos fueron extraídos?\npip install neuroimprint-detector\n```\n\n**Auditar un adapter:**\n\n```\nneuroimprint-audit --path /path/to/adapter\n```\n\n**Reconstrucción forense completa (con tokenizer online):**\n\n```\nneuroimprint-audit --path /adapter \\\n  --reconstruct \\\n  --tokenizer-id Qwen/Qwen2-0.5B \\\n  --output report.json\n```\n\n**Modo offline (sin conexión a internet):**\n\n```\nneuroimprint-audit --path /adapter \\\n  --reconstruct \\\n  --tokenizer-id /path/to/local/tokenizer \\\n  --output report.json\n```\n\n**Desde Python:**\n\n``` python\nfrom neuroimprint_detector import NeuroImprintDetector\n\ndetector = NeuroImprintDetector()\nresult = detector.analyze({'W2': adapter_W2, 'b2': adapter_b2})\n\nprint(f\"Verdict: {result.verdict.value}\")       # \"backdoored\"\nprint(f\"Confidence: {result.confidence:.2f}\")    # 0.90\nprint(f\"Estimated samples: {result.estimated_samples}\")  # 200\n```\n\n| Modelo | Optimizer | Tasa reconstrucción | Similitud semántica |\n|---|---|---|---|\n| BERT | SGD | 77.4% | 0.994 |\n| BERT | AdamW | 74.6% | 0.767 |\n| GPT-2 | SGD | 66.5% | 0.990 |\n| Qwen2-1.5B | SGD | 71.4% | 0.997 |\n| Llama3-3B | SGD | 75.0% | 0.997 |\n\nSGD permite reconstrucción exacta. AdamW permite reconstrucción aproximada (pierde magnitud por el momentum).\n\n| Componente | Descripción |\n|---|---|\n| Detector | Análisis de pesos: filas idénticas, intervalos de bias, fingerprint RaLU |\n| Estimador | Recupera pesos originales del backdoor desde el adapter entrenado |\n| Inversor | Inversión analítica cerrada de gradientes (SGD exacto, Adam aproximado) |\n| Tokenizer | Reconstrucción de texto vía HF tokenizers (online + offline) |\n| Loader | Carga adapters de disco/Hugging Face, extrae candidatos |\n| Synthetics | Generación de adapters clean/backdoored para testing |\n| CLI |\n`neuroimprint-audit` con flags `--reconstruct` y `--tokenizer-id`\n|\n| CI | GitHub Actions (Python 3.10, 3.11) |\n\n**43 tests pasando** — cobertura completa de unitarios + integración.\n\nEl 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**.\n\nEsta herramienta permite a equipos de seguridad auditar adapters antes de desplegarlos en producción, verificando que no contengan backdoors de memorización.\n\n¿Auditarías los adapters de tu pipeline de FL? Leo opiniones.", "url": "https://wpnews.pro/news/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad", "canonical_source": "https://dev.to/magopredator/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad-en-federated-4omi", "published_at": "2026-06-20 19:45:00+00:00", "updated_at": "2026-06-20 20:06:56.886283+00:00", "lang": "en", "topics": ["machine-learning", "ai-safety", "ai-research", "developer-tools", "artificial-intelligence"], "entities": ["NeuroImprint Detector", "Shi et al.", "BERT", "GPT-2", "Qwen2", "Llama 3.2", "Hugging Face", "GitHub Actions"], "alternates": {"html": "https://wpnews.pro/news/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad", "markdown": "https://wpnews.pro/news/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad.md", "text": "https://wpnews.pro/news/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad.txt", "jsonld": "https://wpnews.pro/news/neuroimprint-detector-audita-adapters-peft-para-detectar-backdoors-de-privacidad.jsonld"}}