Back to Blog
product updates

Bots haben ihm über Nacht eine Rechnung über Tausende Dollar beschert — wie man das vermeidet

Ein Entwickler auf Reddit bekam eine Rechnung über Tausende Dollar wegen Bots. Ich schaute mir meinen Code an und war in derselben Lage.

GoStylo Team
3 min read
Bots haben ihm über Nacht eine Rechnung über Tausende Dollar beschert — wie man das vermeidet

Auf Reddit bin ich auf einen Post von einem Entwickler gestoßen. Er hatte eine SaaS-App gestartet, die AI-Modelle aufrief — ähnlich wie GoStylo. Eines Morgens öffnete er seine E-Mail und da war sie. Eine Rechnung über mehrere Tausend Dollar. Für eine Nacht.

Bots. Hunderte verschiedener IP-Adressen, jede innerhalb des Free-Tier-Limits, aber zusammen hatten sie sein gesamtes Monatsbudget in wenigen Stunden aufgefressen.

Ich schaute mir meinen eigenen Code an und stellte fest, dass ich in genau derselben Lage war.

Was falsch war

Mein Rate Limiting basierte auf Fingerprints — IP-Adresse plus ein paar Browser-Header. Jeder Fingerprint hatte 6 Requests pro Stunde erlaubt. Aber ein Bot mit tausend verschiedenen IPs bedeutet tausend Fingerprints. Tausend mal sechs sind sechstausend Requests pro Stunde. Jeder davon ruft ein AI-Modell auf. Jeder davon kostet echtes Geld.

Schlimmer noch: 10 von 12 API-Endpunkten hatten überhaupt kein Rate Limiting. Ein Bot konnte die Datenbank spammen, die Authentifizierung auslasten — und ich hätte es erst erfahren, wenn die Rechnung gekommen wäre.

Was ich dagegen getan habe

Ich habe es schichtweise gelöst. Nicht eine große Schutzmaßnahme, sondern mehrere kleinere, die jeweils einen anderen Angriffstyp abfangen.

Middleware — noch bevor ein Request irgendeinen Code erreicht. Ein Limit von 200 Requests pro Minute pro IP (kein Mensch erreicht das, Bots schon), Blockierung bekannter Bot-Tools anhand ihres User-Agent-Headers und eine Whitelist für Suchmaschinen, damit ich mein SEO nicht zerstöre. Plus Caching auf statischen Seiten — wenn ein Bot den Blog tausendmal aufruft, bekommt er tausendmal dieselbe gecachte Seite. Keine Serverlast, keine Kosten.

Rate Limits auf jedem Endpunkt — ich bin alle durchgegangen und habe Limits nach Sensitivität gesetzt. Öffentliche Endpunkte 60 pro Stunde pro IP, authentifiziertes Lesen 120, Schreiben 60, Kontolöschung 5. Vorher gab es buchstäblich nichts.

Bot-Scoring auf dem Transform-Endpunkt — das ist der, der AI-Modelle aufruft und Geld kostet. Jeder Request bekommt eine Punktzahl, je nachdem wie sehr er nach Bot aussieht. Ein ausgefülltes Honeypot-Feld (ein verstecktes Formularfeld, das Menschen nie sehen, aber Bots automatisch ausfüllen), eine fehlende kryptografische Signatur vom Frontend (bedeutet jemand ruft die API direkt auf), 5 Requests in 5 Sekunden von derselben Quelle — jedes Signal gibt Punkte. Niedrige Punktzahl verlangsamt den Request, mittlere löst ein CAPTCHA aus (einmal lösen, 24 Stunden Ruhe), hohe Punktzahl blockiert.

Kostenverfolgung — nicht nur die Anzahl der Requests, sondern auch was sie tatsächlich in Dollar kosten. Ein Bot muss nicht viele Requests senden, es reicht lange Texte zu schicken. Wenn ein Fingerprint sein Stundenbudget aufbraucht, ist Schluss.

Monitoring — alle 15 Minuten eine automatische Überprüfung des gesamten Traffics. Wenn anonyme Requests 80% des Limits erreichen, bekomme ich eine Benachrichtigung. Ich will von einem Angriff nicht erst beim Morgenkaffee erfahren.

Für normale Nutzer hat sich nichts geändert

Kein CAPTCHA bei normaler Nutzung, keine Verlangsamung. Wenn Sie GoStylo normal nutzen, werden Sie nichts davon bemerken.


Dieser Reddit-Post hat mich dazu gebracht, mich um die Sicherheit zu kümmern, bevor es zu spät ist. Lieber ein paar Tage Prävention als morgens mit einer Rechnung über Tausende aufzuwachen.

AI-Powered Writing

Ready to improve your writing?

Try Stylo for free and experience AI-powered writing assistance that adapts to your style.

Try Stylo Free
Bot-SchutzSaaS-SicherheitRate LimitingAPI-SchutzAI-KostenWeb Security