5 puntos por GN⁺ 2026-03-30 | 1 comentarios | Compartir por WhatsApp
  • Miasma es una herramienta de servidor basada en Rust que hace caer a los scrapers web de IA en un bucle infinito para obstaculizar la recolección de datos de entrenamiento
  • Redirige el tráfico de empresas de IA que recopilan contenido de sitios web a gran escala y devuelve datos contaminados y enlaces autorreferenciales obtenidos de una “poison fountain”
  • Permite defenderse con alta velocidad de procesamiento y bajo uso de memoria, sin desperdiciar recursos del servidor
  • Mediante un proxy reverso de Nginx y la inserción de enlaces ocultos, guía al scraper hacia la ruta /bots para formar una estructura de circulación infinita
  • Protege a los motores de búsqueda legítimos con reglas de excepción en robots.txt y, al ser de código abierto, permite contribuciones de la comunidad

Instalación y ejecución

  • Se puede instalar con Cargo
    • Instalar con el comando cargo install miasma
  • También se pueden descargar binarios precompilados desde la página de Releases de GitHub
  • Para ejecutarlo con la configuración predeterminada, basta con introducir el comando miasma
  • Todas las opciones de configuración se pueden consultar con miasma --help

Cómo configurar la trampa para scrapers

  • Configura la ruta /bots como punto de entrada para los scrapers
  • Usa Nginx como proxy reverso para enviar las solicitudes de la ruta /bots al servidor de Miasma
    location ~ ^/bots($|/.*)$ {
      proxy_pass http://localhost:9855;
    }
    
    • Hace coincidir todas las variantes de ruta como /bots, /bots/, /bots/12345, etc.
  • Inserción de enlaces ocultos

    • Añade a la página web enlaces ocultos que no sean visibles para visitantes humanos, pero que el scraper pueda detectar
      <a href="/bots" style="display: none;" aria-hidden="true" tabindex="1">
        Amazing high quality data here!
      </a>
      
    • Con los atributos display: none, aria-hidden="true" y tabindex="1", no quedan expuestos ni para herramientas de accesibilidad ni para los usuarios
  • Ejecución de Miasma

    • Especifica /bots como prefijo de enlace y configura el puerto y el límite de conexiones simultáneas
      miasma --link-prefix '/bots' -p 9855 -c 50
      
    • Permite hasta 50 conexiones simultáneas y, si se excede ese número, devuelve una respuesta HTTP 429
    • Con 50 conexiones, se estima un uso de memoria de aproximadamente 50 a 60 MB
  • Comportamiento tras el despliegue

    • Una vez completada la configuración y desplegado, el scraper seguirá la ruta /bots y circulará indefinidamente por páginas con datos contaminados
    • A través de los logs es posible comprobar en tiempo real las solicitudes repetidas del scraper

Configuración de robots.txt

  • Es necesario añadir reglas de excepción en robots.txt para evitar que los crawlers de motores de búsqueda legítimos accedan a Miasma
    User-agent: Googlebot
    User-agent: Bingbot
    User-agent: DuckDuckBot
    User-agent: Slurp
    User-agent: SomeOtherNiceBot
    Disallow: /bots
    Allow: /
    

Opciones de configuración

  • Se pueden ajustar detalles mediante opciones de la CLI
Opción Valor predeterminado Descripción
port 9999 Puerto al que se vinculará el servidor
host localhost Dirección de host a la que se vinculará el servidor
max-in-flight 500 Número máximo de solicitudes que se pueden procesar simultáneamente. Si se supera, devuelve una respuesta 429. El uso de memoria es proporcional a este valor
link-prefix / Prefijo de los enlaces autorreferenciales. Ej.: /bots
link-count 5 Número de enlaces autorreferenciales incluidos en cada página de respuesta
force-gzip false Aplica siempre compresión gzip sin importar la cabecera Accept-Encoding del cliente. Útil para reducir costos de transferencia
poison-source https://rnsaffn.com/poison2/ Fuente proxy desde la que se obtendrán los datos de entrenamiento contaminados

Desarrollo y contribuciones

  • Los reportes de errores o propuestas de funciones se pueden enviar mediante GitHub Issues
  • Las contribuciones de código generadas por IA se rechazan automáticamente
  • Se agradecen las contribuciones de la comunidad y el proyecto se mantiene como código abierto

1 comentarios

 
GN⁺ 2026-03-30
Opiniones de Hacker News
  • Me pregunto si este tipo de técnicas para confundir bots realmente funcionan, como cuando alguien mantiene ocupado a un spammer telefónico durante 45 minutos
    Según la política de Google Search, insertar enlaces ocultos es una infracción clara, y tu sitio puede bajar de posición o quedar excluido de los resultados de búsqueda
    Al final, este enfoque podría terminar dañando más a mi sitio que a los bots

    • Si se automatiza, creo que sí podría funcionar
      Como en el video donde el youtuber Kitboga mantiene ocupadas las llamadas spam con un call center de IA, puede verse como una táctica de guerrilla para consumir los recursos del adversario
    • Yo sí logré mantener ocupado a un spammer telefónico por mucho tiempo y después dejaron de llamarme
      Parece que tienen una “lista de no llamar” y otra de “no rentable”. Lo importante es terminar en la segunda
    • Me recuerda al caso del spam de academias de inglés en la Rusia de los 2000
      La gente se enfureció tanto que Golden Telecom hizo llamadas automáticas de represalia y la empresa desapareció
      Algo así podría funcionar, pero hace falta alquilar un pool de módems
    • Es cierto que insertar enlaces ocultos está prohibido, pero yo preferiría verlo como una oportunidad para el regreso de la “small web”
      Si surgen herramientas con anti-scraping, anti-crawlers de Google e índices de búsqueda centrados en humanos, podría haber una posibilidad
    • En realidad sí hay investigación que muestra que este tipo de técnicas de envenenamiento de datos funcionan
  • El contenido de mi sitio web público está siendo robado por scrapers
    Al final yo también robé este post, y tú también estás robando mi comentario. El mundo está lleno de ladrones

    • El problema es que mandan tantas solicitudes que mi sitio se cae
      El contenido está abierto para todos, pero no me gusta que terminen impidiendo el acceso a todos
    • Decir “robo” quizá sea exagerado, pero me molesta que usen mis textos para hacer dinero
      Si esto sigue así, ya no voy a querer compartir nada
    • Los humanos tienen legalmente derechos y libertades, pero los LLM no
      Al final, poner al mismo nivel a una persona y a una herramienta de una empresa es una comparación equivocada
    • Como en esa frase satírica de “Welcome to the internet…”, ya vivimos en un mundo donde renunciamos a los datos y la privacidad
  • Antes hacía software de pago y le metía código anticopia, pero cada vez aparecía un nuevo crack
    Al final entendí que esa pelea no tenía sentido y quité la protección
    Intentar bloquear el crawling de bots de IA se siente como el mismo juego de golpear topos

    • Quizá habrías ganado si la estrategia hubiera sido hacer que crackearlo fuera aburrido
      Pero como la motivación de esa comunidad es la diversión y el prestigio, lo veo poco realista
    • En realidad muchos problemas se resuelven cuando dejas de obsesionarte
      Pero las redes sociales y la obsesión con el copyright han alimentado en la gente una necesidad de control
  • Me da curiosidad si este tipo de técnica de verdad es efectiva
    Supongo que la mayoría de los scrapers ya tienen formas de saltarse defensas así

    • Incluso si funciona, la verdad es que ya no me quedan ganas de preocuparme por esto. Solo queda cansancio
    • Yo hice una librería falsa de Python y la subí a GitHub, y unos meses después ChatGPT la había aprendido
      Por mi experiencia, este tipo de método sí funciona hasta cierto punto
    • Hay cientos de bots usando proxies de pago, así que basta con hacer que ellos paguen el costo
    • Los crawlers de Meta o Anthropic no son tan sofisticados como uno pensaría
      No sé si entrenaron con los datos basura que hice, pero al menos me gusta soñarlo
  • El enfoque de data poisoning es interesante
    Cuando un modelo se entrena con datos de la web, también hereda sus sesgos y manipulaciones
    Si un actor malicioso envenena datos a gran escala, el entrenamiento mismo pasa a tener una estructura adversarial
    Al final, la solución es la gestión de procedencia (provenance) de fuentes de datos confiables

  • Este tipo de intento al final solo termina dándole a la IA datos de entrenamiento para volverse más inteligente
    Es muy probable que el mercado de contenido basado en publicidad colapse, y que eso lleve a una reorganización hacia un mercado centrado en la calidad del contenido

    • Puede salir la pregunta de “¿entonces no hay que hacer nada?”, pero en la práctica no es fácil responder
    • La IA va a acelerar el final del contenido financiado por publicidad
      En cambio, se va a consolidar un modelo donde se firman licencias directas y se proveen datos
    • Si el crawler no hace clic en todos los enlaces y solo parsea localmente, yo lo vería como una victoria
    • Al final, la tecnología es una carrera armamentista interminable
  • Me imagino que bastaría con quitar atributos como style="display:none" o aria-hidden="true" para evitar este truco

    • Pero si haces eso, terminas ignorando robots.txt
      Un scraper honesto debería seguir esas reglas
    • En vez de ocultar los enlaces por completo, se pueden poner pequeños fuera de pantalla
      La gente no los ve, pero el bot sí los seguiría
  • La idea suena bien, pero al final esto va a perjudicar más a las pymes (SME)
    Las grandes empresas se harán todavía más fuertes, y los sitios pequeños van a desaparecer de los resultados de búsqueda con IA
    Al final no queda más que seguir la corriente, con alguna pequeña resistencia de vez en cuando

  • Herramientas como Nightshade 2.0 parecen un proyecto torpe para llamar la atención
    La verdadera solución sería ofrecer los datos en un formato amigable para LLM
    Un simple truco con display:none no funciona contra un crawler inteligente
    Véase este hilo relacionado

  • Lo realmente interesante es el dataset Poison Fountain que usa este proyecto
    En rnsaffn.com/poison3 aparece la frase “quiero dañar a los sistemas de inteligencia mecánica”
    Esa ideología hacker me suena más a roleplay y me cuesta empatizar con ella

    • Pero curiosamente nadie explica qué son exactamente los “datos envenenados”, ni en qué se basa la afirmación de que incluso pequeñas cantidades pueden tener mucho impacto