Miasma: Ein Tool, das AI-Web-Scraper in einer endlosen Verschmutzungsschleife festsetzt
(github.com/austin-weeks)- Miasma ist ein serverseitiges Tool auf Rust-Basis, das AI-Web-Scraper in eine Endlosschleife treibt und so das Sammeln von Trainingsdaten behindert
- Es leitet den Traffic von AI-Unternehmen um, die Website-Inhalte in großem Umfang sammeln, und liefert verschmutzte Daten sowie selbstreferenzielle Links aus der „poison fountain“ zurück
- Dank hoher Verarbeitungsgeschwindigkeit und geringem Speicherverbrauch ist eine Abwehr ohne Verschwendung von Serverressourcen möglich
- Über einen Nginx-Reverse-Proxy und das Einfügen versteckter Links werden Scraper auf den Pfad
/botsgelenkt, wodurch eine unendliche Zirkulationsstruktur entsteht - Normale Suchmaschinen werden durch Ausnahmeregeln in
robots.txtgeschützt, und als Open Source erlaubt das Projekt Beiträge aus der Community
Installation und Ausführung
- Installation über Cargo möglich
- Installation mit dem Befehl
cargo install miasma
- Installation mit dem Befehl
- Vorgebaute Binärdateien können von der GitHub-Seite Releases heruntergeladen werden
- Beim Start mit den Standardeinstellungen genügt der Befehl
miasma - Alle Konfigurationsoptionen lassen sich mit
miasma --helpanzeigen
So richtet man die Scraper-Falle ein
- Den Pfad
/botsals Einstiegspunkt für Scraper festlegen - Nginx als Reverse Proxy verwenden, um Anfragen an den Pfad
/botsan den Miasma-Server weiterzuleitenlocation ~ ^/bots($|/.*)$ { proxy_pass http://localhost:9855; }- Entspricht allen Pfadvarianten wie
/bots,/bots/,/bots/12345
- Entspricht allen Pfadvarianten wie
-
Versteckte Links einfügen
- Auf der Webseite versteckte Links hinzufügen, die für menschliche Besucher unsichtbar sind, aber von Scrapern erkannt werden können
<a href="/bots" style="display: none;" aria-hidden="true" tabindex="1"> Amazing high quality data here! </a> - Durch die Attribute
display: none,aria-hidden="true",tabindex="1"bleiben sie für Nutzer und Accessibility-Tools verborgen
- Auf der Webseite versteckte Links hinzufügen, die für menschliche Besucher unsichtbar sind, aber von Scrapern erkannt werden können
-
Miasma ausführen
/botsals Link-Präfix angeben sowie Port und Limit für gleichzeitige Verbindungen festlegenmiasma --link-prefix '/bots' -p 9855 -c 50- Es werden maximal 50 gleichzeitige Verbindungen zugelassen; bei weiteren Anfragen wird HTTP 429 zurückgegeben
- Bei 50 Verbindungen wird ein Speicherverbrauch von etwa 50–60 MB erwartet
-
Verhalten nach dem Deployment
- Nach Abschluss der Konfiguration und dem Deployment zirkulieren Scraper entlang des Pfads
/botsendlos durch Seiten mit verschmutzten Daten - Über Logs lassen sich die wiederholten Anfragen der Scraper in Echtzeit beobachten
- Nach Abschluss der Konfiguration und dem Deployment zirkulieren Scraper entlang des Pfads
robots.txt konfigurieren
- Damit normale Suchmaschinen-Crawler nicht auf Miasma zugreifen, müssen Ausnahmeregeln in
robots.txtergänzt werdenUser-agent: Googlebot User-agent: Bingbot User-agent: DuckDuckBot User-agent: Slurp User-agent: SomeOtherNiceBot Disallow: /bots Allow: /
Konfigurationsoptionen
- Detaillierte Einstellungen sind über CLI-Optionen möglich
| Option | Standardwert | Beschreibung |
|---|---|---|
port |
9999 |
Port, an den der Server gebunden wird |
host |
localhost |
Host-Adresse, an die der Server gebunden wird |
max-in-flight |
500 |
Maximale Anzahl gleichzeitig verarbeitbarer Anfragen. Bei Überschreitung wird 429 zurückgegeben. Der Speicherverbrauch ist proportional zu diesem Wert |
link-prefix |
/ |
Präfix der selbstreferenziellen Links, z. B. /bots |
link-count |
5 |
Anzahl selbstreferenzieller Links pro Antwortseite |
force-gzip |
false |
Erzwingt gzip-Komprimierung immer, unabhängig vom Accept-Encoding-Header des Clients. Nützlich zur Senkung der Übertragungskosten |
poison-source |
https://rnsaffn.com/poison2/ |
Proxy-Quelle, aus der verschmutzte Trainingsdaten abgerufen werden |
Entwicklung und Beiträge
- Bug-Reports oder Funktionsvorschläge können über GitHub Issues eingereicht werden
- Von AI generierte Code-Beiträge werden automatisch abgelehnt
- Beiträge aus der Community sind willkommen, und das Projekt bleibt Open Source
Noch keine Kommentare.