Anubis funktioniert tatsächlich
(xeiaso.net)- Anubis wurde auf policytoolbox.iiep.unesco.org der UNESCO ausgerollt und erhält damit mehr Aufmerksamkeit als Beispiel für ein Bot-Abwehr-Tool, das von großen Organisationen eingesetzt wird
- Nach der Bestätigung, dass
unesco.orgdie offizielle Domain der UNESCO ist, gilt dieses Deployment als realer Einsatzfall einer Organisation im Umfeld der Vereinten Nationen - Zusammen mit bereits bekannten Deployments wie den Linux Kernel Mailing List Archives, FreeBSD SVN, SourceHut, FFmpeg, Wine und GNOME GitLab weitet sich der Einsatzbereich aus
- Dass solche Organisationen Anubis einführen, zeigt, dass das Problem des Bot-Traffics im Internet ernster sein könnte als erwartet
- Anubis und der zugehörige Stack brauchen mehr Zeit; mit ausreichender Förderung wären Vollzeitentwicklung und sogar Einstellungen möglich
UNESCO-Deployment bestätigt
- Anubis wurde auf policytoolbox.iiep.unesco.org der UNESCO, einer Unterorganisation der Vereinten Nationen, ausgerollt
unesco.orgist laut Wikipedia als offizielle Domain der United Nations Educational, Scientific and Cultural Organization eingetragen- Es soll Kontakt mit dem Systemadministrator-Team der UNESCO aufgenommen werden, um zu klären, ob es bei der Installation Probleme gab, und den Installationsprozess einfacher zu machen
Bekannte Deployments und nächste Arbeiten
- Zu den bestätigten großen Deployments gehören unter anderem:
- Linux Kernel Mailing List Archives
- SVN von FreeBSD, bald git
- SourceHut
- FFmpeg
- Wine
- UNESCO
- The Science Olympiad Student Center
- Enlightenment Desktop Environment
- GitLab von GNOME
- Wenn Organisationen dieser Größenordnung Anubis einsetzen, könnte das Bot-Traffic-Problem deutlich gravierender sein als bisher angenommen
- Wie bei YouTube, das zeitweise nahe an „the inversion“ war, also dem Punkt, an dem es mehr Bot-Traffic als menschlichen Traffic gibt, bleibt die Frage, wie weit ein ähnliches Phänomen im gesamten Internet verbreitet ist
- In Anubis und den zugehörigen Stack muss ernsthaft Zeit investiert werden; mit ausreichender Förderung wäre es möglich, in Vollzeit daran zu arbeiten und sogar Personal einzustellen
- Wenn Anubis hilfreich ist, wird um Unterstützung über Patreon gebeten
1 Kommentare
Hacker-News-Kommentare
Verwandter Beitrag: Anubis: Ein Proof-of-Work-Proxy, um AI-Crawler abzuwehren (100 Punkte, vor 23 Tagen, 58 Kommentare) https://news.ycombinator.com/item?id=43427679
Ich finde es interessant, dass Xe etwas, das früher fast wie ein Witz/Blödsinn wirkte, zu einem tatsächlich nützlichen Produkt gemacht hat. Es hieß ja schon immer: Timing ist alles
Dass so viele Websites das wollen oder brauchen, überrascht mich etwas. Das Problem langsamer Git-Seiten bei manchen Git-Servern, die sehr tief verschachtelt sind, keinen Cache haben und von langsamen Platten ausgeliefert werden, verstehe ich
UNESCO war etwas unerwartet. Die betreffende Unterseite ist mit Tausenden Dokumenten zwar ziemlich groß, aber statischer Content sollte leicht auszuliefern sein. Beim Nachsehen stellte sich heraus: schlampig deploytes WordPress auf Apache, ohne Cache, ohne Content-Kompression und ohne HTTP/2 oder HTTP/3
Es wäre wahrscheinlich einfach, das so zu reparieren, dass es selbst auf einer sehr kleinen Maschine extrem günstig ausgeliefert werden kann, aber natürlich braucht man dafür Expertise, und Expertise ist weiterhin nicht billig
Man könnte zwar ein LLM fragen, aber wenn man nicht einmal weiß, was man fragen soll, hilft das noch nicht besonders. Wenn man nicht einmal weiß, dass die Website überhaupt langsam ist, warum sollte man fragen? Vermutlich hört man nur, dass sie vom Traffic überrollt wird, und sucht sich dann einen furry Verteidiger
Ich meine nicht, dass es schwierig ist, sondern dass schon nur wenige überhaupt wissen, dass es existiert
Meine Vermutung: Der Grund, WordPress nicht anzufassen, ist kein technisches Problem, sondern eher, dass niemand eine fragile Instanz berühren will, dass es organisatorische Berechtigungsprobleme gibt oder dass der Admin bereits davon ausgeht, WP sei gut eingerichtet
Das lässt sich nicht cachen, und Bots halten sich nicht an die robots-Datei; sie fordern immer weiter URLs an und holen Artikel wiederholt mit verschiedenen Zahlen und Kombinationen ab. Das ist wirklich ein Ärgernis
Die einzigen Lösungen, die ich bisher gesehen habe, waren Cloudflare, Login-Pflicht, Anubis oder Infrastruktur in völlig absurdem Maßstab
Eine Website sagte, 60 % ihres Traffics kämen von Bots; bei kleineren Websites dürfte der Anteil wahrscheinlich noch viel höher sein
Ich erinnere mich auch an Projekte, die Proof of Work in nützliche Berechnungen verwandeln wollten
Falls unklar ist, was das ist: Es ist dafür gedacht, AI-Scraping zu verhindern
„Anubis verwendet Proof-of-Work-Aufgaben, um sicherzustellen, dass der Client einen modernen Browser nutzt und SHA-256-Prüfsummen berechnen kann“
https://anubis.techaro.lol/docs/design/how-anubis-works
Ziemlich cool, und es könnte auch ein oder zwei meiner Projekte unterstützen
Content zu veröffentlichen oder Aktionen auszuführen kann natürlich in vielen Situationen problematisch sein
Aber beim bloßen Ausliefern von Content ist normalerweise nicht entscheidend, ob es ein Mensch oder ein Bot ist, wenn man filtern oder blockieren will. Solange ein bestimmter Client das System nicht missbraucht, warum sollte es mich kümmern, ob dieser Client ein Mensch ist?
„Außerdem wird auch die Zeit als Eingabewert verwendet. Aufgrund der Natur einer linearen Zeitachse wissen sowohl der Server als auch der Anfragende, was Zeit ist“
Ein lustiger Satz aus der Dokumentation
Aus verschiedenen Gründen sind Abweichungen bei der Uhrzeitsynchronisierung häufig. Man kann nicht erwarten, dass die unteren 10 % der Nutzer auch nur auf Tagesebene korrekt liegen, und selbst die unteren 25 % können um etwa fünf Minuten danebenliegen
Die Zwischenseiten-Bilder, die angezeigt werden, bis die Anubis-Prüfung abgeschlossen ist, sind wirklich niedlich. Die Illustrationen und Figuren in Xes Blog fand ich schon immer schön
Nebenbei habe ich mich gefragt, welche Auswirkungen das auf normale Suchmaschinen hat und wie es sich von Cloudflares Lösung gegen AI-Crawler unterscheidet; das wird auf der GitHub-Seite erklärt [1]
„Wenn man das installiert und verwendet, ist es sehr wahrscheinlich, dass manche Suchmaschinen die Website nicht indexieren können. Das gilt nicht als Bug von Anubis, sondern als Feature“
„Das ist zwar eine Art nukleare Antwort, aber die AI-Scraper-Bots haben so aggressiv gescrapet, dass keine andere Wahl blieb“
„In den meisten Fällen muss man das nicht verwenden; wahrscheinlich reicht es, einen bestimmten Origin-Server mit Cloudflare zu schützen. Falls man Cloudflare jedoch nicht nutzen kann oder nicht nutzen will, gibt es Anubis“
[1]: https://github.com/TecharoHQ/anubis/
Allerdings verwenden Anbieter wie Google teils dieselben IPs für AI und Suchindexierung
Trotzdem wird daran gearbeitet, etwa Open-Graph-Tags durchzulassen, damit zumindest Rich Previews funktionieren
Ich habe über Anubis gelesen, ein cooles Projekt. Leider müssen Website-Besucher, wie in den Kommentaren erwähnt, JavaScript™ aktivieren.
Wenn eine Website ohnehin JavaScript™ braucht, um die User Experience zu verbessern, ist das völlig in Ordnung, aber für statische Sites oder Ähnliches, die überhaupt kein JS benötigen, ist es eher ungeeignet.
Ich habe mir eine eigene Lösung gebaut, die solche „bösen Bots“ effektiv auf Netzwerkebene blockiert. Mit der MaxMind-Datenbank sowie einem selbstgebauten WAF und Reverse Proxy blockiere ich mehrere große „Big Tech / Big LLM“-Netze komplett auf ASN-(BGP-)Ebene.
Natürlich gibt es auch ASN-Spielchen und Reputationsbetrug, aber das ist sehr schwer zu bekämpfen. Eine grobe Untersuchung der Logs zeigte, dass diese Bots von bestimmten privaten IPs ungefähr einmal anfragen, und diese Bereiche werden wahrscheinlich auch von echten menschlichen Nutzern verwendet.
Kurz gesagt: Es besteht das Risiko, legitimen Traffic zu blockieren. Auch diese Lösung birgt Risiken, aber für die meisten Menschen ist das tatsächliche Risiko deutlich geringer.
Es wäre schön, wenn man ohne JavaScript auskäme und auch Nutzer unterstützen könnte, die es deaktiviert haben, aber Kunden oder Endnutzer haben sich noch nie darüber beschwert, dass JavaScript aktiviert sein muss.
Die Ablehnung der JavaScript-Anforderung kommt von einer lauten Minderheit, und die meisten davon schalten es einfach ein, wenn sie auf eine Site stoßen, die JavaScript braucht. Selbst dann dürften nur sehr wenige dabei einen ergebenen Seufzer ausstoßen.
Mir gefällt die Idee, aber sobald die Art der Challenge klarer umrissen ist, muss sie wahrscheinlich auf die Protokollebene hinunter.
Für die Barrierefreiheit wäre es am Ende besser, wenn eine Proof-of-Work-Challenge eher Teil von etwas TCP-Nahem würde, statt von jeder Website separat in JavaScript implementiert zu werden.
[0] https://datatracker.ietf.org/wg/privacypass/about/
Die „gut genug“-Lösung, die es bereits breit im Einsatz gibt, ist SHA(seed, nonce). Wenn die großen Tech-Konzerne gewollt hätten, hätte sich das leicht in eine niedrigere Ebene des Stacks integrieren lassen.
Auf meinem Handy dauert das Lösen der Bot-Erkennung ganze 5 Sekunden.
Persönlich finde ich die User Experience nicht so schlecht, weil ich nichts tun muss. Ich ziehe das CAPTCHA definitiv vor.
Ich baue gerade einen Prototyp, den ich derzeit „Enigma Webfont“ nenne. Für ausgelieferte und gecachte Webfonts möchte ich pro Nutzersitzung einen Custom Seed und Rotationswerte anwenden.
Ziel ist es, Web Scraping wegen der OCR-Rechenkosten unpraktikabel zu machen. Im Moment ist es ein Katz-und-Maus-Spiel, und ich möchte das Kräfteverhältnis etwas verschieben.
Ohne Nutzersitzung wäre der HTML-Quelltext praktisch bedeutungslos, und wenn der Asset-Cache durch ein OTP-ähnliches Verhalten wegfällt, ließe sich auch die Webseite nicht mehr lesen.
Damit könnte man effektiv ein CAPTCHA bauen, bei dem der Nutzer ein lokales Seed-Fenster anpasst, bis er ein bestimmtes Wort lesen kann. Zum Beispiel: „Bewegen Sie den Schieberegler, bis das Wort Foxtrott lesbar ist.“
Ich würde sehr gern Xes Meinung dazu hören. Können wir unsere Kräfte bündeln?
Der Tech-Stack ist Go, weil es die einzige Sprache war, mit der sich Webfont-Dateien problemlos direkt verändern ließen.
Text kaputtzumachen wird nicht helfen. Sie werden trotzdem weiter darauf einhämmern. Wenn man sich die Traffic-Muster ansieht, ist die Person, die diese Bots gebaut hat, einfach ... <https://www.youtube.com/watch?v=ulIOrQasR18>
Zu „Ich würde gern Xes Meinung hören. Können wir unsere Kräfte bündeln?“: Soweit ich das sehe, braucht dieses Projekt eher Hilfe dabei, kurz- und langfristig nachhaltiger zu werden, als noch mehr Features. Anubis scheint bereits sehr gut zu funktionieren.
Es funktioniert definitiv gut darin, Nutzer zu blockieren, die JavaScript deaktiviert haben.