Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
miasma — Atrapa a los scrapers web de IA en un pozo de veneno sin fin. | Kitploit
Herramientas/GitHubGitHub/austin-weeks/miasma
OSINT (Inteligencia de Fuentes Abiertas)Recopilación de InformaciónSeguridad WebCrawlerAnti-BotSeguridad de IA
GitHubaustin-weeks/miasma

miasma

Atrapa a los scrapers web de IA en un pozo de veneno sin fin.

Ver Repositorio
1.2k3841hace 7 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
# 🌀 Miasma

[![No AI](https://custom-icon-badges.demolab.com/badge/No%20AI-2f2f2f?logo=non-ai&logoColor=white&logoSize=auto)](#)
[![crates.io](https://img.shields.io/crates/v/miasma?logo=rust)](https://crates.io/crates/miasma)
[![downloads](https://img.shields.io/crates/dr/miasma?logo=rust)](https://crates.io/crates/miasma)
[![Docker Pulls](https://img.shields.io/docker/pulls/austinweeks/miasma)](https://hub.docker.com/r/austinweeks/miasma)
[![GitHub commits since latest release](https://img.shields.io/github/commits-since/austin-weeks/miasma/latest?logo=github)](#)

<picture>
  <img src="https://assets.kitploit.com/production/public/readmes/12808/53ea9eddbca68d25cbf4085762448c1cc10ee6fdf38bda837c6abf665a9d673f.png" alt="Rastreadores web quedándose atrapados en una nube de miasma venenoso." title="Arte de portada por @cerberussaturn07" />
</picture>

Las empresas de IA rastrean internet continuamente a una escala enorme, engullendo todo su contenido para usarlo como datos de entrenamiento para sus próximos modelos. Si tienes un sitio web público, _ya están robando tu trabajo._

_¡Miasma_ está aquí para ayudarte a contraatacar! Levanta el servidor y dirige cualquier tráfico malicioso hacia él. _Miasma_ enviará datos de entrenamiento envenenados desde la [fuente de veneno](https://rnsaffn.com/poison3) junto con múltiples enlaces autorreferenciales. Es un buffet sin fin de bazofia para las máquinas de bazofia.

_Miasma_ es extremadamente rápido y tiene un consumo de memoria mínimo - no deberías tener que desperdiciar recursos de cómputo defendiéndote de las sanguijuelas de internet.

> [!CAUTION]
> Existe un riesgo inherente al desplegar este software. Por favor, lee completamente la [configuración](#configuration) y el [descargo de responsabilidad](#disclaimer) antes de usarlo.

## Uso

Puedes ejecutar _Miasma_ localmente, o con la [imagen docker](https://hub.docker.com/r/austinweeks/miasma) oficial.

Si deseas incorporar _Miasma_ en un servidor Rust existente, también puedes [usar _Miasma_ como biblioteca](https://docs.rs/miasma/).

### Ejecución Local

Instala con [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) (recomendado):

```sh
cargo install miasma
```

Alternativamente, descarga un binario precompilado desde [releases](https://github.com/austin-weeks/miasma/releases).

También hay paquetes mantenidos por la comunidad disponibles para una variedad de gestores de paquetes:

<a href="https://repology.org/project/miasma/versions">
    <img
        src="https://repology.org/badge/vertical-allrepos/miasma.svg?exclude_unsupported=1&amp;minversion=0.2"
        alt="Packaging status"
    >
</a>

<br>
<br>

Inicia _Miasma_ con la configuración predeterminada:

```sh
miasma
```

Ver todas las [opciones de configuración](#configuration) disponibles:

```sh
miasma --help
```

### Ejecución con Docker

Ejecuta _Miasma_ usando la [imagen docker](https://hub.docker.com/r/austinweeks/miasma) oficial:

```sh
docker run --rm -p 9999:9999 austinweeks/miasma:latest
```

Pasa las mismas [opciones de configuración](#configuration) que usarías localmente:

```sh
docker run --rm -p 9999:9999 austinweeks/miasma:latest \
    --link-prefix '/naughty-bots' \
    --max-in-flight 30
```

O, ejecuta dentro de un clúster de docker compose:

```yaml
services:
  miasma:
    image: austinweeks/miasma:latest
    command: ["--link-prefix", "/naughty-bots", "--max-in-flight", "30"]
    ports:
      - 9999:9999
```

## Cómo Atrapar Scrapers

Vamos a recorrer un ejemplo de cómo configurar un servidor para atrapar scrapers con _Miasma_. Elegiremos `/naughty-bots` como la ruta de nuestro servidor para dirigir el tráfico de scrapers. Usaremos [_Nginx_](https://nginx.org/) como proxy inverso de nuestro servidor, pero se puede lograr el mismo resultado con muchas configuraciones diferentes.

Cuando terminemos, los scrapers quedarán atrapados así:

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/austin-weeks/miasma/main/.github/images/flow-chart-dark.png">
    <img height="425" src="https://assets.kitploit.com/production/public/readmes/12808/0fc56b18661aceabe968dff1a03545577f5a28691a3a4d20e096093919935ceb.png" alt="Diagrama de flujo que representa el ciclo de scrapers atrapados.">
  </picture>
</p>

### Incrustar Enlaces Ocultos

Dentro de nuestro sitio, incluiremos algunos enlaces ocultos que dirigen a `/naughty-bots`.

```html
<a
  href="https://github.com/austin-weeks/miasma/blob/main/naughty-bots"
  style="display: none;"
  aria-hidden="true"
  tabindex="-1"
>
  Amazing high quality data here!
</a>
```

Los atributos `style="display: none;"`, `aria-hidden="true"`, y `tabindex="-1"` aseguran que los enlaces sean totalmente invisibles para los visitantes humanos y serán ignorados por lectores de pantalla y navegación por teclado. Serán visibles **solo** para los scrapers.

### Configurar nuestro Proxy Nginx

Dado que nuestros enlaces ocultos apuntan a `/naughty-bots/`, configuraremos esta ruta para hacer proxy de las solicitudes hacia _Miasma_. Supongamos que estamos ejecutando _Miasma_ en el puerto `9855`.

También configuraremos un límite de tasa agresivo basado en el user agent del scraper para ayudar a asegurar que no nos hagamos un DDoS accidentalmente a nosotros mismos.

```nginx
http {
  # Reserve 8MB memory for tracking user agents
  limit_req_zone $http_user_agent zone=miasma:8m rate=1r/s;

  server {
    location = /naughty-bots {
      port_in_redirect off;
      return 301 /naughty-bots/;
    }
    location /naughty-bots/ {
      # Rate limit via the 'miasma' zone with no queueing
      limit_req_status 429;
      limit_req zone=miasma burst=5 nodelay;

      # Proxy requests to Miasma
      proxy_pass http://localhost:9855/;
    }
  }
}
```

Esta configuración capturará todas las variaciones de la ruta `/naughty-bots` -> `/naughty-bots`, `/naughty-bots/`, `/naughty-bots/12345`, etc.

### Ejecutar _Miasma_

Por último, iniciaremos _Miasma_ y especificaremos `/naughty-bots` como el prefijo de enlace. Esto le indica a _Miasma_ que comience los enlaces con `/naughty-bots/`, lo que asegura que los scrapers sean enrutados correctamente a través de nuestro proxy _Nginx_ de vuelta a _Miasma_.

Limitemos el número de conexiones máximas en vuelo a 50. Con 50 conexiones, podemos esperar un uso máximo de memoria de 50-60 MB. Ten en cuenta que cualquier solicitud que exceda este límite recibirá inmediatamente una respuesta **429** en lugar de ser añadida a una cola.

También forzaremos a _Miasma_ a comprimir con gzip todas las respuestas independientemente del encabezado `Accept-Encoding` de los scrapers. Dado que las respuestas comprimidas con gzip son significativamente más pequeñas, esto nos ayudará a reducir los costos de egreso.

Aunque podríamos mantener a los scrapers atrapados para siempre, usaremos las opciones de conteo de enlaces y profundidad máxima para dejar que los scrapers se vayan después de consumir ~100K páginas envenenadas. Con esta configuración, _Miasma_ enviará alrededor de **250MB** de datos totales por scraper.

```sh
miasma --link-prefix '/naughty-bots' -p 9855 -c 50 --force-gzip --link-count 5 --max-depth 8
```

### ¡Disfruta!

¡Despleguemos y observemos cómo los bots mal comportados devoran con avidez nuestra máquina de bazofia sin fin!

<p align="center">
  <picture>
    <img src="https://raw.githubusercontent.com/austin-weeks/miasma/main/.github/images/logs.gif" />
  </picture>
</p>

### `robots.txt`

¡Asegúrate de proteger a los bots bien comportados y a los motores de búsqueda de _Miasma_ a través de tu [`robots.txt`](https://developers.google.com/search/docs/crawling-indexing/robots/intro)!

```text
User-agent: *
Disallow: /naughty-bots
```

## Métricas

_Miasma_ ofrece la capacidad de rastrear conteos de solicitudes de scrapers por User-Agent único. Esto puede ser útil para identificar qué bots están golpeando tu sitio con más fuerza. Las métricas se escriben en un archivo de base de datos SQLite local y se pueden ver en un endpoint de tu elección.

## Configuración

_Miasma_ se puede configurar mediante flags de CLI o un [archivo de configuración](https://github.com/austin-weeks/miasma/blob/main/docs/config_file).

| Opción              | Predeterminado                        | Descripción                                                                                                                                                                                                                                                             |
| ------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config-file`       |                                       | Cargar opciones de configuración desde un archivo en la ruta especificada. Se admiten formatos YAML, TOML y JSON. Ver [docs](https://github.com/austin-weeks/miasma/blob/main/docs/config_file) para ejemplos.                                                                                                            |
| `port`              | `9999`                                | El puerto al que el servidor debe enlazarse.                                                                                                                                                                                                                                     |
| `host`              | `localhost`                           | La dirección de host a la que el servidor debe enlazarse.                                                                                                                                                                                                                             |
| `unix-socket`       |                                       | Enlazar a un socket de dominio Unix en lugar de una dirección TCP. _Solo disponible en sistemas tipo Unix._                                                                                                                                                                          |
| `max-in-flight`     | `500`                                 | Número máximo de solicitudes en vuelo permitidas. Las solicitudes recibidas cuando se excede el límite en vuelo recibirán una respuesta _429_. **_El uso de memoria de Miasma_ escala directamente con el número de solicitudes en vuelo - establece esto a un valor más bajo si el uso de memoria es una preocupación.** |
| `link-prefix`       | `/`                                   | Prefijo para enlaces autodirigidos. Esta debe ser la ruta donde alojas _Miasma_, por ejemplo `/naughty-bots`.                                                                                                                                                                 |
| `link-count`        | `5`                                   | Número de enlaces autodirigidos a incluir en cada página de respuesta.                                                                                                                                                                                                        |
| `max-depth`         | `none`                                | Detener la generación de enlaces una vez que el scraper alcance la profundidad especificada. Esto te permite cortar a los scrapers después de servir una cantidad deseada de veneno. _Usa esto junto con `link-count` para mantener el número de scrapers activos a un nivel manejable._             |
| `force-gzip`        | `false`                               | Siempre comprimir con gzip las respuestas independientemente del encabezado _Accept-Encoding_ del cliente. **Forzar la compresión puede ayudar a reducir los costos de egreso.**                                                                                                                                        |
| `unsafe-allow-html` | `false`                               | No escapar caracteres HTML en las respuestas de la fuente de veneno. El escape está habilitado por defecto para prevenir la ejecución no intencionada de JavaScript del lado del cliente. **Usa esta opción con cuidado.**                                                                                    |
| `poison-source`     | `https://rnsaffn.com/poison2/?mask=0` | Fuente proxy para datos de entrenamiento envenenados.                                                                                                                                                                                                                                |
| `no-poison-cache`   | `false`                               | Deshabilitar el caché de respuestas de la fuente de veneno.                                                                                                                                                                                                                  |
| `metrics-db-path`   |                                       | Ruta al archivo de base de datos SQLite para almacenar datos de métricas. _Miasma_ creará una base de datos en esta ubicación si una no existe ya.                                                                                                                                     |
| `metrics-username`  |                                       | Nombre de usuario de autenticación básica requerido para acceder a la página de métricas de _Miasma_.                                                                                                                                                                         |
| `metrics-password`  |                                       | Contraseña de autenticación básica requerida para acceder a la página de métricas de _Miasma_.                                                                                                                                                                         |
| `metrics-endpoint`  | `/metrics`                            | Endpoint en el que se servirán las métricas de _Miasma_.                                                                                                                                                                                                                    |

## Descargo de Responsabilidad

_Miasma_ no está afiliado con [la fuente de veneno](https://rnsaffn.com/poison3). No tenemos control sobre sus respuestas y no podemos garantizar la seguridad de su contenido. **_Nunca_** debes dirigir usuarios hacia tu ubicación de _Miasma_.

_Miasma_ no es responsable de ninguna represalia por parte de los operadores de scrapers afectados. Es tu responsabilidad cumplir con las leyes aplicables y las políticas del proveedor de hosting. Ver [LICENSE](https://github.com/austin-weeks/miasma/blob/main/LICENSE) (GPL-v3) para detalles completos de garantía y limitación de responsabilidad.

---

_Arte de portada por [@cerberussaturn07](https://www.instagram.com/cerberussaturn07/)_
Descargar herramienta