Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
miasma — Prenda raspadores web de IA em um poço de veneno sem fim. | Kitploit
Ferramentas/GitHubGitHub/austin-weeks/miasma
OSINT (Inteligência de Fontes Abertas)Coleta de InformaçõesSegurança WebRastreadorAnti-BotSegurança de IA
GitHubaustin-weeks/miasma

miasma

Prenda raspadores web de IA em um poço de veneno sem fim.

Ver Repositório
1.2k3841há 7 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# 🌀 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="Web crawlers getting stuck in a cloud of poison miasma." title="Cover art by @cerberussaturn07" />
</picture>

As empresas de IA raspam continuamente a internet numa escala enorme, engolindo todos os seus conteúdos para os usar como dados de treino para os seus próximos modelos. Se tem um site público, _eles já estão a roubar o seu trabalho._

O _Miasma_ está aqui para o ajudar a ripostar! Inicie o servidor e direcione qualquer tráfego malicioso para ele. O _Miasma_ enviará dados de treino envenenados da [fonte de veneno](https://rnsaffn.com/poison3) juntamente com múltiplos links auto-referenciais. É um buffet infinito de porcaria para as máquinas de porcaria.

O _Miasma_ é extremamente rápido e tem um consumo de memória mínimo - não devia ter de desperdiçar recursos computacionais a repelir as sanguessugas da internet.

> [!CAUTION]
> Existe um risco inerente na implementação deste software. Por favor, leia integralmente a [configuração](#configuration) e o [aviso legal](#disclaimer) antes de utilizar.

## Utilização

Pode executar o _Miasma_ localmente, ou com a [imagem docker](https://hub.docker.com/r/austinweeks/miasma) oficial.

Se pretender incorporar o _Miasma_ num servidor Rust existente, também pode [utilizar o _Miasma_ como biblioteca](https://docs.rs/miasma/).

### Executar Localmente

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

```sh
cargo install miasma
```

Em alternativa, descarregue um binário pré-compilado das [releases](https://github.com/austin-weeks/miasma/releases).

Também estão disponíveis pacotes mantidos pela comunidade para vários gestores de pacotes:

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

Inicie o _Miasma_ com a configuração predefinida:

```sh
miasma
```

Veja todas as [opções de configuração](#configuration) disponíveis:

```sh
miasma --help
```

### Executar com Docker

Execute o _Miasma_ utilizando a [imagem docker](https://hub.docker.com/r/austinweeks/miasma) oficial:

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

Passe os mesmos [flags de configuração](#configuration) que usaria localmente:

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

Ou, execute dentro de um cluster docker compose:

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

## Como Apanhar Scrapers

Vamos percorrer um exemplo de configuração de um servidor para apanhar scrapers com o _Miasma_. Vamos escolher `/naughty-bots` como o caminho do nosso servidor para direcionar o tráfego dos scrapers. Vamos usar o [_Nginx_](https://nginx.org/) como proxy reverso do nosso servidor, mas o mesmo resultado pode ser alcançado com muitas configurações diferentes.

Quando terminarmos, os scrapers ficarão presos assim:

<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="Flow chart depicting cycle of trapped scrapers.">
  </picture>
</p>

### Incorporar Links Escondidos

Dentro do nosso site, incluiremos alguns links escondidos que levam 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>
```

Os atributos `style="display: none;"`, `aria-hidden="true"` e `tabindex="-1"` garantem que os links são totalmente invisíveis para visitantes humanos e serão ignorados por leitores de ecrã e navegação por teclado. Serão visíveis **apenas** para scrapers.

### Configurar o nosso Proxy Nginx

Como os nossos links escondidos apontam para `/naughty-bots/`, vamos configurar este caminho para encaminhar pedidos para o _Miasma_. Vamos assumir que estamos a executar o _Miasma_ na porta `9855`.

Também vamos configurar limitação de taxa agressiva com base no user agent do scraper para ajudar a garantir que não nos fazemos DDoS a nós próprios acidentalmente.

```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 configuração irá apanhar todas as variações do caminho `/naughty-bots` -> `/naughty-bots`, `/naughty-bots/`, `/naughty-bots/12345`, etc.

### Executar o _Miasma_

Por último, vamos iniciar o _Miasma_ e especificar `/naughty-bots` como o prefixo dos links. Isto instrui o _Miasma_ a iniciar os links com `/naughty-bots/`, o que garante que os scrapers são devidamente encaminhados através do nosso proxy _Nginx_ de volta para o _Miasma_.

Vamos limitar o número máximo de ligações em curso a 50. Com 50 ligações, podemos esperar um pico de utilização de memória de 50-60 MB. Note que quaisquer pedidos que excedam este limite receberão imediatamente uma resposta **429** em vez de serem adicionados a uma fila.

Também vamos forçar o _Miasma_ a comprimir com gzip todas as respostas, independentemente do cabeçalho `Accept-Encoding` dos scrapers. Como as respostas comprimidas com gzip são significativamente mais pequenas, isto ajudará a reduzir os custos de tráfego de saída.

Embora pudéssemos manter os scrapers presos para sempre, vamos usar as opções de contagem de links e profundidade máxima para deixar os scrapers ir após consumirem ~100K páginas envenenadas. Com esta configuração, o _Miasma_ enviará cerca de **250MB** de dados totais por scraper.

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

### Divirta-se!

Vamos implementar e observar enquanto os bots mal comportados comem avidamente da nossa máquina infinita de porcaria!

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

### `robots.txt`

Certifique-se de que protege os bots bem comportados e os motores de busca do _Miasma_ através do seu [`robots.txt`](https://developers.google.com/search/docs/crawling-indexing/robots/intro)!

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

## Métricas

O _Miasma_ oferece a capacidade de rastrear contagens de pedidos de scrapers por User-Agent único. Isto pode ser útil para identificar quais os bots que estão a atingir o seu site com mais intensidade. As métricas são escritas num ficheiro de base de dados SQLite local e podem ser visualizadas num endpoint à sua escolha.

## Configuração

O _Miasma_ pode ser configurado através de flags CLI ou de um [ficheiro de configuração](https://github.com/austin-weeks/miasma/blob/main/docs/config_file).

| Opção               | Predefinição                          | Descrição                                                                                                                                                                                                                                                               |
| ------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config-file`       |                                       | Carregar opções de configuração a partir de um ficheiro no caminho especificado. Os formatos YAML, TOML e JSON são suportados. Consulte a [documentação](https://github.com/austin-weeks/miasma/blob/main/docs/config_file) para exemplos.                                                                             |
| `port`              | `9999`                                | A porta à qual o servidor se deve ligar.                                                                                                                                                                                                                                |
| `host`              | `localhost`                           | O endereço do host ao qual o servidor se deve ligar.                                                                                                                                                                                                                    |
| `unix-socket`       |                                       | Ligar a um socket de domínio Unix em vez de um endereço TCP. _Disponível apenas em sistemas do tipo Unix._                                                                                                                                                              |
| `max-in-flight`     | `500`                                 | Número máximo de pedidos em curso permitidos. Os pedidos recebidos quando o limite é excedido receberão uma resposta _429_. **_A utilização de memória do Miasma escala diretamente com o número de pedidos em curso - defina um valor mais baixo se a utilização de memória for uma preocupação._** |
| `link-prefix`       | `/`                                   | Prefixo para links auto-direcionais. Este deve ser o caminho onde aloja o _Miasma_, por exemplo `/naughty-bots`.                                                                                                                                                         |
| `link-count`        | `5`                                   | Número de links auto-direcionais a incluir em cada página de resposta.                                                                                                                                                                                                  |
| `max-depth`         | `none`                                | Parar de gerar links assim que o scraper atingir a profundidade especificada. Isto permite-lhe cortar os scrapers após servir a quantidade desejada de veneno. _Use isto em conjunto com `link-count` para manter o número de scrapers ativos num nível gerível._       |
| `force-gzip`        | `false`                               | Comprimir sempre as respostas com gzip, independentemente do cabeçalho _Accept-Encoding_ do cliente. **Forçar a compressão pode ajudar a reduzir os custos de tráfego de saída.**                                                                                        |
| `unsafe-allow-html` | `false`                               | Não escapar caracteres HTML nas respostas da fonte de veneno. O escape está ativado por predefinição para prevenir execução não intencional de JavaScript no lado do cliente. **Use esta opção com cuidado.**                                                          |
| `poison-source`     | `https://rnsaffn.com/poison2/?mask=0` | Fonte proxy para dados de treino envenenados.                                                                                                                                                                                                                           |
| `no-poison-cache`   | `false`                               | Desativar a cache de respostas da fonte de veneno.                                                                                                                                                                                                                      |
| `metrics-db-path`   |                                       | Caminho para o ficheiro de base de dados SQLite para armazenar dados de métricas. O _Miasma_ criará uma base de dados neste local se ainda não existir uma.                                                                                                             |
| `metrics-username`  |                                       | Nome de utilizador de autenticação básica necessário para aceder à página de métricas do _Miasma_.                                                                                                                                                                     |
| `metrics-password`  |                                       | Palavra-passe de autenticação básica necessária para aceder à página de métricas do _Miasma_.                                                                                                                                                                           |
| `metrics-endpoint`  | `/metrics`                            | Endpoint no qual as métricas do _Miasma_ serão servidas.                                                                                                                                                                                                                |

## Aviso Legal

O _Miasma_ não está afiliado à [fonte de veneno](https://rnsaffn.com/poison3). Não temos controlo sobre as suas respostas e não podemos garantir a segurança do seu conteúdo. **_Nunca_** deve direcionar utilizadores para a localização do seu _Miasma_.

O _Miasma_ não é responsável por qualquer retaliação por parte dos operadores dos scrapers afetados. É sua responsabilidade cumprir as leis aplicáveis e as políticas do fornecedor de alojamento. Consulte a [LICENSE](https://github.com/austin-weeks/miasma/blob/main/LICENSE) (GPL-v3) para detalhes completos de garantia e limitação de responsabilidade.

---

_Arte de capa por [@cerberussaturn07](https://www.instagram.com/cerberussaturn07/)_
Baixar ferramenta