Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
miasma — Intrappola i web scraper AI in una fossa velenosa senza fine. | Kitploit
Strumenti/GitHubGitHub/austin-weeks/miasma
OSINT (Open Source Intelligence)Raccolta InformazioniSicurezza WebCrawlerAnti-BotSicurezza dell'IA
GitHubaustin-weeks/miasma

miasma

Intrappola i web scraper AI in una fossa velenosa senza fine.

Vedi Repository
1.2k38417 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
# 🌀 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>

Le aziende di IA raschiano continuamente Internet su scala enorme, inghiottendo tutti i suoi contenuti per usarli come dati di addestramento per i loro prossimi modelli. Se hai un sito web pubblico, _stanno già rubando il tuo lavoro._

_Miasma_ è qui per aiutarti a combattere! Avvia il server e indirizza verso di esso qualsiasi traffico malevolo. _Miasma_ invierà dati di addestramento avvelenati dalla [fontana del veleno](https://rnsaffn.com/poison3) insieme a molteplici link autoreferenziali. È un buffet infinito di spazzatura per le macchine della spazzatura.

_Miasma_ è velocissimo e ha un'impronta di memoria minima - non dovresti dover sprecare risorse di calcolo per respingere le sanguisughe di Internet.

> [!CAUTION]
> Esiste un rischio intrinseco nel distribuire questo software. Ti preghiamo di leggere completamente la [configurazione](#configuration) e l'[esclusione di responsabilità](#disclaimer) prima dell'uso.

## Utilizzo

Puoi eseguire _Miasma_ localmente, oppure con l'[immagine docker](https://hub.docker.com/r/austinweeks/miasma) ufficiale.

Se desideri incorporare _Miasma_ in un server Rust esistente, puoi anche [usare _Miasma_ come libreria](https://docs.rs/miasma/).

### Esecuzione in locale

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

```sh
cargo install miasma
```

In alternativa, scarica un binario precompilato dalle [release](https://github.com/austin-weeks/miasma/releases).

Sono inoltre disponibili pacchetti mantenuti dalla community per una varietà di gestori di pacchetti:

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

Avvia _Miasma_ con la configurazione predefinita:

```sh
miasma
```

Visualizza tutte le [opzioni di configurazione](#configuration) disponibili:

```sh
miasma --help
```

### Esecuzione con Docker

Esegui _Miasma_ usando l'[immagine docker](https://hub.docker.com/r/austinweeks/miasma) ufficiale:

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

Passa gli stessi [flag di configurazione](#configuration) che useresti localmente:

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

Oppure, esegui all'interno di un cluster docker compose:

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

## Come intrappolare gli scraper

Vediamo un esempio di configurazione di un server per intrappolare gli scraper con _Miasma_. Sceglieremo `/naughty-bots` come percorso del nostro server verso cui indirizzare il traffico degli scraper. Useremo [_Nginx_](https://nginx.org/) come reverse proxy del nostro server, ma lo stesso risultato può essere ottenuto con molte configurazioni diverse.

Una volta terminato, gli scraper saranno intrappolati in questo modo:

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

### Incorporare link nascosti

All'interno del nostro sito, includeremo alcuni link nascosti che portano 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>
```

Gli attributi `style="display: none;"`, `aria-hidden="true"` e `tabindex="-1"` assicurano che i link siano totalmente invisibili ai visitatori umani e verranno ignorati dai lettori di schermo e dalla navigazione da tastiera. Saranno visibili **solo** agli scraper.

### Configurare il nostro proxy Nginx

Poiché i nostri link nascosti puntano a `/naughty-bots/`, configureremo questo percorso per inoltrare le richieste a _Miasma_. Supponiamo di eseguire _Miasma_ sulla porta `9855`.

Imposteremo anche un rate limiting aggressivo basato sullo user agent dello scraper per aiutarci ad assicurarci di non fare accidentalmente DDoS a noi stessi.

```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/;
    }
  }
}
```

Questa configurazione catturerà tutte le varianti del percorso `/naughty-bots` -> `/naughty-bots`, `/naughty-bots/`, `/naughty-bots/12345`, ecc.

### Esegui _Miasma_

Infine, avvieremo _Miasma_ e specificheremo `/naughty-bots` come prefisso dei link. Questo indica a _Miasma_ di iniziare i link con `/naughty-bots/`, il che garantisce che gli scraper siano correttamente instradati attraverso il nostro proxy _Nginx_ di nuovo verso _Miasma_.

Limitiamo il numero massimo di connessioni in-flight a 50. Con 50 connessioni, possiamo aspettarci un picco di utilizzo di memoria di 50-60 MB. Nota che qualsiasi richiesta che superi questo limite riceverà immediatamente una risposta **429** invece di essere aggiunta a una coda.

Forzeremo anche _Miasma_ a comprimere con gzip tutte le risposte indipendentemente dall'header `Accept-Encoding` degli scraper. Poiché le risposte compresse con gzip sono significativamente più piccole, questo ci aiuterà a ridurre i costi di egress.

Sebbene potremmo mantenere gli scraper intrappolati per sempre, useremo le opzioni link count e max depth per lasciare andare gli scraper dopo che hanno consumato ~100K pagine avvelenate. Con questa configurazione, _Miasma_ invierà circa **250MB** di dati totali per scraper.

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

### Buon divertimento!

Distribuiamo e osserviamo mentre i bot maleducati mangiano avidamente dalla nostra macchina infinita di spazzatura!

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

### `robots.txt`

Assicurati di proteggere i bot ben educati e i motori di ricerca da _Miasma_ tramite il tuo [`robots.txt`](https://developers.google.com/search/docs/crawling-indexing/robots/intro)!

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

## Metriche

_Miasma_ offre la possibilità di tracciare i conteggi delle richieste degli scraper per ogni User-Agent univoco. Questo può essere utile per identificare quali bot stanno colpendo il tuo sito più intensamente. Le metriche vengono scritte in un file di database SQLite locale e possono essere visualizzate a un endpoint di tua scelta.

## Configurazione

_Miasma_ può essere configurato tramite flag CLI o un [file di configurazione](https://github.com/austin-weeks/miasma/blob/main/docs/config_file).

| Opzione             | Predefinito                           | Descrizione                                                                                                                                                                                                                                                             |
| ------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config-file`       |                                       | Carica le opzioni di configurazione da un file nel percorso specificato. Sono supportati i formati YAML, TOML e JSON. Vedi [docs](https://github.com/austin-weeks/miasma/blob/main/docs/config_file) per esempi.                                                                                                       |
| `port`              | `9999`                                | La porta a cui il server deve associarsi.                                                                                                                                                                                                                               |
| `host`              | `localhost`                           | L'indirizzo host a cui il server deve associarsi.                                                                                                                                                                                                                       |
| `unix-socket`       |                                       | Associa a un socket di dominio Unix anziché a un indirizzo TCP. _Disponibile solo su sistemi Unix-like._                                                                                                                                                                |
| `max-in-flight`     | `500`                                 | Numero massimo di richieste in-flight consentite. Le richieste ricevute quando il limite in-flight è superato riceveranno una risposta _429_. **_L'utilizzo di memoria di Miasma scala direttamente con il numero di richieste in-flight - imposta un valore più basso se l'utilizzo di memoria è una preoccupazione._** |
| `link-prefix`       | `/`                                   | Prefisso per i link auto-direzionanti. Dovrebbe essere il percorso in cui ospiti _Miasma_, ad es. `/naughty-bots`.                                                                                                                                                      |
| `link-count`        | `5`                                   | Numero di link auto-direzionanti da includere in ogni pagina di risposta.                                                                                                                                                                                               |
| `max-depth`         | `none`                                | Interrompe la generazione di link una volta che lo scraper raggiunge la profondità specificata. Questo ti permette di interrompere gli scraper dopo aver servito una quantità desiderata di veleno. _Usa questo in tandem con `link-count` per mantenere il numero di scraper attivi a un livello gestibile._ |
| `force-gzip`        | `false`                               | Comprimi sempre con gzip le risposte indipendentemente dall'header _Accept-Encoding_ del client. **Forzare la compressione può aiutare a ridurre i costi di egress.**                                                                                                   |
| `unsafe-allow-html` | `false`                               | Non eseguire l'escape dei caratteri HTML nelle risposte della fonte del veleno. L'escaping è abilitato per impostazione predefinita per prevenire l'esecuzione indesiderata di JavaScript lato client. **Usa questa opzione con cautela.**                            |
| `poison-source`     | `https://rnsaffn.com/poison2/?mask=0` | Fonte proxy per i dati di addestramento avvelenati.                                                                                                                                                                                                                     |
| `no-poison-cache`   | `false`                               | Disabilita la cache delle risposte della fonte del veleno.                                                                                                                                                                                                              |
| `metrics-db-path`   |                                       | Percorso del file di database SQLite per memorizzare i dati delle metriche. _Miasma_ creerà un database in questa posizione se non ne esiste già uno.                                                                                                                    |
| `metrics-username`  |                                       | Nome utente di autenticazione basic richiesto per accedere alla pagina delle metriche di _Miasma_.                                                                                                                                                                      |
| `metrics-password`  |                                       | Password di autenticazione basic richiesta per accedere alla pagina delle metriche di _Miasma_.                                                                                                                                                                         |
| `metrics-endpoint`  | `/metrics`                            | Endpoint su cui verranno servite le metriche di _Miasma_.                                                                                                                                                                                                               |

## Esclusione di responsabilità

_Miasma_ non è affiliato con [la fontana del veleno](https://rnsaffn.com/poison3). Non abbiamo alcun controllo sulle sue risposte e non possiamo garantire la sicurezza dei suoi contenuti. Non dovresti **_mai_** indirizzare gli utenti verso la tua posizione _Miasma_.

_Miasma_ non è responsabile per eventuali ritorsioni da parte degli operatori degli scraper interessati. È tua responsabilità rispettare le leggi applicabili e le politiche del provider di hosting. Vedi [LICENSE](https://github.com/austin-weeks/miasma/blob/main/LICENSE) (GPL-v3) per i dettagli completi su garanzia e limitazione di responsabilità.

---

_Cover art di [@cerberussaturn07](https://www.instagram.com/cerberussaturn07/)_
Scarica lo strumento