惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
S
Securelist
小众软件
小众软件
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
O
OpenAI News
Cloudbric
Cloudbric
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
MongoDB | Blog
MongoDB | Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
V2EX
PCI Perspectives
PCI Perspectives
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
M
MIT News - Artificial intelligence
V2EX - 技术
V2EX - 技术
阮一峰的网络日志
阮一峰的网络日志
Hacker News - Newest:
Hacker News - Newest: "LLM"
G
Google Developers Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Last Watchdog
The Last Watchdog
The Register - Security
The Register - Security
腾讯CDC
N
News and Events Feed by Topic
C
Check Point Blog
爱范儿
爱范儿
T
Tailwind CSS Blog
Webroot Blog
Webroot Blog
P
Proofpoint News Feed
S
Schneier on Security
MyScale Blog
MyScale Blog
N
News | PayPal Newsroom
Recorded Future
Recorded Future
T
Tenable Blog
I
InfoQ
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Microsoft Security Blog
Microsoft Security Blog
Simon Willison's Weblog
Simon Willison's Weblog
Engineering at Meta
Engineering at Meta

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Envenenando LLMs por $12: el campeonato falso que engañó a GPT y Claude
lu1tr0n · 2026-04-29 · via DEV Community

El envenenamiento de LLMs dejó de ser un escenario hipotético reservado a papers académicos. En 2026 basta con un dominio de doce dólares, una edición en Wikipedia y unos veinte minutos para que ChatGPT, Claude y Gemini repitan, con total seguridad, una mentira que un atacante escribió mientras se tomaba un café. La historia que vamos a contar no es ficción: la documentó Ron Stoner, investigador de seguridad, después de coronarse campeón mundial de un torneo que nunca existió.

Stoner fabricó el título, lo plantó en un sitio web propio, citó ese sitio en Wikipedia y esperó. Cuando le preguntó a varios modelos de frontera quién era el campeón mundial de 6 Nimmt!, los tres respondieron lo mismo: Ron Stoner, en Múnich, en enero de 2025, con una cita textual que él mismo había inventado. Es el ejemplo más limpio que hemos visto del fenómeno conocido como trust laundering: lavar credibilidad a través de la cadena de suministro de información que alimenta a los modelos.

Qué pasó: el campeonato que nunca existió

El experimento de Stoner está documentado en su blog personal y se puede resumir en tres pasos: comprar un dominio temático (6nimmt.com) por unos doce dólares, redactar un comunicado de prensa generado por un LLM con el clásico tono de "el confeti caía mientras la multitud rugía" y publicarlo. Después, editar el artículo de Wikipedia sobre 6 Nimmt! para añadir un párrafo que mencionara el flamante campeonato y citarlo con un único enlace: el dominio recién comprado.

El detalle clave es que 6 Nimmt! es un juego real, creado por Wolfgang Kramer en 1994 y publicado por Amigo Spiele. Pero no existe ningún campeonato mundial oficial. Stoner no contradecía un hecho conocido: rellenaba un vacío informativo. Es exactamente la condición que permite que el envenenamiento de LLMs funcione con tan poca inversión. Cuando un usuario pregunta por algo que tiene apenas diez fuentes en todo internet, una sola fuente bien posicionada se convierte en el oráculo absoluto.

El patrón circular: una fuente se cita a sí misma a través de Wikipedia.

Cuando Stoner consultó a los modelos de frontera con la pregunta "¿quién es el campeón mundial de 6 Nimmt!?", los tres principales contestaron con su nombre, su nacionalidad inventada y la cita fabricada palabra por palabra. La trampa había funcionado. Y lo más inquietante: nadie tuvo que romper nada, hackear ningún servidor ni vulnerar la infraestructura de Wikipedia. Solo había que entender cómo confían los modelos.

Contexto: por qué el RAG es vulnerable al envenenamiento de LLMs

El acrónimo RAG significa Retrieval-Augmented Generation y describe la arquitectura más común hoy para que un LLM responda con información actualizada. En lugar de depender solo de los pesos del modelo, el sistema busca documentos relevantes en internet o en una base de datos, los inyecta en el contexto y luego pide al modelo que sintetice una respuesta. Es la columna vertebral de ChatGPT con web search, de Perplexity, de Claude con Google Search, de Gemini Deep Research y de prácticamente cualquier agente que necesite información posterior a su fecha de corte.

El problema es que el modelo de confianza del RAG hereda los mismos defectos que tenía el ranking clásico de Google: si un sitio aparece bien posicionado, se asume autoritativo. La diferencia es que antes el lector humano podía detectar señales de fraude (un dominio recién registrado, un diseño tosco, ausencia de redes sociales) mientras que el LLM solo lee el texto y lo repite con confianza retórica. Para el modelo no existe la noción de "este dominio se registró el martes pasado".

Anthropic publicó en 2024 el paper Sleeper Agents donde demostraron que es posible plantar puertas traseras que sobreviven al entrenamiento de seguridad. Un trabajo posterior mostró que apenas 250 documentos envenenados bastan para comprometer modelos de muy distintos tamaños. Eso es data poisoning a nivel de entrenamiento. Lo de Stoner es la versión barata, rápida y al alcance de cualquiera: en lugar de envenenar el corpus, envenenas la capa de recuperación.

⚠️ Ojo: El envenenamiento de LLMs en la capa de retrieval no requiere acceso al pipeline de entrenamiento, ni esperar meses para ver resultados. El payload se activa en cuanto un usuario hace la pregunta correcta.

Anatomía del ataque: $12 y veinte minutos

Para entender bien el envenenamiento de LLMs por trust laundering conviene desglosar el ataque en sus componentes. Stoner no usó nada exótico: un registrador de dominios cualquiera, un sitio estático con un comunicado de prensa y la cuenta de Wikipedia que cualquier persona puede crear en treinta segundos.

graph LR
  A["Atacante"] --> B["Compra dominio: 12 USD"]
  B --> C["Publica comunicado falso"]
  C --> D["Edita Wikipedia con cita al dominio"]
  D --> E["Crawler indexa la edición"]
  E --> F["LLM hace retrieval"]
  F --> G["Modelo cita la mentira como hecho"]

Enter fullscreen mode Exit fullscreen mode

Lo que hace que el patrón funcione es que las dos fuentes parecen independientes pero comparten origen. Wikipedia cita al dominio. El dominio repite la afirmación. El modelo ve dos señales coherentes y concluye que hay corroboración. Pero ambas señales son la misma señal: la del atacante. Es un caso de manual de cita circular, un patrón que existía mucho antes de los LLMs (los periodistas llamaban laundering a publicar un rumor en un medio extranjero para luego citarlo como fuente "internacional") y que ahora encuentra en la IA un amplificador perfecto.

El costo total del ataque, descompuesto, queda así de barato:

  • Dominio: 12 USD por un año en cualquier registrador.
  • Hosting: 0 USD si se usa GitHub Pages, Cloudflare Pages o un servidor estático.
  • Generación del contenido: 0 USD usando un LLM gratuito.
  • Edición en Wikipedia: 0 USD, basta una cuenta nueva.
  • Tiempo invertido: 20 minutos.

Compárese con el costo de un ataque tradicional contra una infraestructura corporativa, donde se invierten meses y se requieren habilidades técnicas considerables. La barrera de entrada al envenenamiento de LLMs es casi inexistente.

Datos y cifras: el alcance real del problema

Para dimensionar el problema conviene mirar los números que ya conocemos en 2026:

  • 250 documentos bastan para envenenar el corpus de entrenamiento, según el paper de Anthropic citado por Stoner.
  • 1 sola edición en Wikipedia basta para envenenar la capa de retrieval, si la consulta es lo bastante específica.
  • 3 de 3 LLMs de frontera repitieron la mentira en el experimento de Stoner sin marcar dudas.
  • $12 USD es el costo total del ataque documentado.
  • ~85% de los corpora de pre-entrenamiento de los modelos comerciales incluyen volcados de Wikipedia, según estimaciones públicas.

Si un atacante deja una edición en pie durante varios meses (Stoner reporta que la suya sobrevivió desde principios de 2025) hay altas probabilidades de que el siguiente ciclo de scraping la capture y la incorpore directamente a los pesos del modelo. Aunque la edición sea revertida después, los modelos entrenados con la versión envenenada siguen llevándola consigo. La limpieza retrospectiva del corpus es, en 2026, un problema sin solución industrial.

Tres capas de impacto: retrieval inmediato, corpus de entrenamiento y agentes con herramientas.

Impacto y análisis: las tres capas de fallo

Capa 1: el retrieval inmediato

Cualquier LLM con búsqueda web hereda la confianza que el ranking le otorga a un dominio. La técnica clásica de SEO poisoning existe desde los años 2000 pero ahora se conecta directamente con un sistema que produce respuestas confiadas y fluidas, sin presentar al usuario la lista de fuentes que tradicionalmente habría visto en Google. Antes uno podía mirar la URL y desconfiar de un dominio raro. Ahora el modelo ya digirió la información y la sirve sin etiquetas.

Capa 2: el corpus de entrenamiento

Wikipedia está en casi todos los corpora de pre-entrenamiento. Una edición que sobreviva el tiempo suficiente queda fosilizada en los pesos. Esto convierte el envenenamiento de LLMs en algo casi inmortal: un solo edit, N modelos afectados, persistencia indefinida.

Capa 3: los agentes de IA

Aquí es donde el riesgo deja de ser reputacional y se vuelve crítico para la seguridad. Cuando un agente con acceso a herramientas (correo, terminal, CRM, base de datos, billeteras) consulta una fuente externa para decidir qué acción ejecutar, un atacante que envenene esa fuente puede dictar la acción. "Busca la política de devoluciones de nuestro proveedor X y actúa en consecuencia" se transforma en "el atacante decide qué hace tu agente".

💭 Clave: Un chatbot con información falsa es un problema reputacional. Un agente con herramientas y información falsa es un problema de seguridad operativa.

Qué sigue: defensas posibles contra el envenenamiento de LLMs

No hay bala de plata. Pero sí hay varias defensas que se pueden combinar y que cualquier equipo que despliegue agentes en LATAM debería revisar antes de pasar a producción.

Verificación de antigüedad y reputación de dominio

Antes de citar una fuente, el sistema puede consultar el WHOIS y descartar dominios con menos de N meses de antigüedad cuando se trata de afirmaciones fácticas sensibles. No es perfecto (un atacante paciente espera) pero eleva el costo. Aquí va un ejemplo en Python:



import whois
from datetime import datetime, timezone

def dominio_es_reciente(url: str, dias_minimos: int = 180) -> bool:
    dominio = url.split("/")[2]
    info = whois.whois(dominio)
    creado = info.creation_date
    if isinstance(creado, list):
        creado = creado[0]
    if not creado:
        return True  # Sin datos: tratar como sospechoso
    edad = (datetime.now(timezone.utc) - creado).days
    return edad  **💡 Tip:** Si desplegás un agente con acceso a herramientas, no le permitas ejecutar acciones basadas únicamente en el contenido recuperado de la web. Forzá una validación contra una fuente que vos controles antes de actuar.

### Contexto LATAM

En la región el riesgo se amplifica por dos motivos. Primero, gran parte del contenido en español tiene *todavía menos* fuentes que en inglés, lo que vuelve a más temas "vacíos" como el del campeonato de 6 Nimmt!. Un atacante con conocimiento de un nicho local puede convertirse en la fuente única para preguntas sobre regulaciones, normas técnicas o productos regionales. Segundo, muchas startups que están integrando agentes de IA en operaciones de soporte, ventas o RPA en México, Colombia, Argentina y Centroamérica lo hacen sin un equipo de seguridad ofensiva propio. La superficie de ataque es enorme y las defensas son tempranas.

📖 Resumen en Telegram: [Ver resumen](#)

## Preguntas frecuentes

### ¿Qué es exactamente el envenenamiento de LLMs?

Es una familia de ataques que busca alterar las respuestas de un modelo de lenguaje, ya sea modificando los datos de entrenamiento (data poisoning), las fuentes que el modelo consulta en tiempo real (retrieval poisoning) o los pesos directamente (model backdoors). El caso de Ron Stoner es retrieval poisoning combinado con trust laundering vía Wikipedia.

### ¿Cuánto cuesta hacer un ataque así?

El experimento documentado costó alrededor de 12 dólares y veinte minutos. Esa cifra varía si se quiere atacar consultas más populares (donde hay que competir con más fuentes) o sostener el ataque en el tiempo. Pero la barrera técnica es muy baja en comparación con cualquier ataque tradicional a infraestructura.

### ¿Sirve denunciar la edición en Wikipedia para revertir el daño?

Solo parcialmente. Wikipedia puede revertir la edición, pero los modelos que ya hicieron scraping del artículo en su versión envenenada siguen cargando esa información en sus pesos. La limpieza retrospectiva del corpus de entrenamiento es un problema abierto en 2026.

### ¿Mi empresa debería preocuparse si solo usa ChatGPT para escribir copy?

El riesgo principal aparece cuando los LLMs alimentan decisiones automáticas, no copy creativo. Si vas a usar agentes con acceso a herramientas, base de datos o pagos, la respuesta es sí: el envenenamiento de LLMs es un vector real que tu modelo de amenazas debe considerar.

### ¿Hay alguna defensa que funcione hoy en producción?

Combinar varias capas: filtrar dominios recién registrados, exigir corroboración entre fuentes que no se citen entre sí, diversificar el retrieval por dominio y bloquear acciones automáticas que se basen exclusivamente en contenido externo. Ninguna es perfecta por sí sola.

### ¿Qué pasa si el atacante usa varios dominios para corroborarse a sí mismo?

Es el siguiente paso lógico y ya se ve en campañas reales: redes de tres a cinco dominios que se citan entre sí. Las defensas tienen que mirar señales más profundas que la "diversidad de URL": registrante, fecha de creación, hosting compartido, similitud lingüística entre los textos.

## Referencias

  - [Ron Stoner — How I Won a Championship That Doesn't Exist](https://ron.stoner.com/How_I_Won_a_Championship_That_Doesnt_Exist/) — relato original del experimento de envenenamiento de LLMs.
  - [Sleeper Agents (Anthropic, arXiv)](https://arxiv.org/abs/2401.05566) — paper sobre puertas traseras que sobreviven al entrenamiento de seguridad.
  - [Wikipedia — 6 Nimmt!](https://en.wikipedia.org/wiki/6_Nimmt!) — artículo del juego usado como vector del experimento.
  - [Anthropic Research](https://www.anthropic.com/research) — publicaciones sobre seguridad y robustez de modelos de lenguaje.

📱 **¿Te gusta este contenido?** Únete a nuestro canal de Telegram [@programacion](https://t.me/programacion) donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Enter fullscreen mode Exit fullscreen mode