# **StyloBot-:-Kampf gegen Scraper-Teile**

*Scrapers sind im Begriff, mit KI zu beginnen, um echte Benutzer nachzuahmen. Also baute ich einen Bot-Detektor, der lernt.,. passt sich an und kämpft zurück.*

**[Lesen Sie Teil, wie Bots Smarter bekamen - die neue Frontier bei der Bot-Erkennung](https://www.mostlylucid.net/blog/botdetection-part2-signature-pipeline-and-stylobot-architecture)**

**[StyloBot®.®net](https://stylobot.net)** Dies ist das reale Produktionssystem, das Ihre Anfrage in einzelnen Millisekunden erkennt.

**Schlüsselbegriffe Verhaltensregeln** Dies ermöglicht eine neue Kategorie, in der durchsichtige, regulierbare und einstellbare "-Teams, Detektoren und Lernsysteme reflexiv Routenverkehr basierend auf gelernten Verhaltensmustern, nicht statische Regeln, sondern [YARP Gateway](https://hub.docker.com/r/scottgal/mostlylucid.yarpgateway)Bots erreichen nie Ihr Backend oder verwenden die Middleware, um Verhaltensrouting direkt in Ihre App Layer zu erstellen.

<pinned/>
<!--category-- ASP.NET, Bot Detection, Security -->
<datetime class="hidden">2025-12-08T07:00</datetime>

[![NuGet](https://img.shields.io/nuget/v/mostlylucid.botdetection.svg)](https://www.nuget.org/packages/mostlylucid.botdetection/)
[![GitHub](https://img.shields.io/github/stars/scottgal/mostlylucid.nugetpackages?style=social)](https://github.com/scottgal/mostlylucid.nugetpackages/blob/main/Mostlylucid.BotDetection/README.md)
[![Docker](https://img.shields.io/docker/pulls/scottgal/mostlylucid.yarpgateway)](https://hub.docker.com/r/scottgal/mostlylucid.yarpgateway)

---


## **Warum dies existiert**

Bot-Erkennung hat sich leise zu einem der härtesten Probleme in modernen Web-Engineering

**Das Problem hat sich gerade geändert.** Vor drei Jahren: , , du konntest von Bots mit Regex auf dem User , - , Agent string ,. , nicht mehr blockieren , . , Nicht weil bots wurde smarter auf ihre eigenen , aber weil **große Sprachmodelle machten es trivial, echtes Nutzerverhalten im Maßstab nachzuahmen**Eine LLM-- , angetriebene Schaber doesns.' , nur blind anfordern den gleichen Weg wiederholt , . , Es versteht Ihre Website Struktur, wenn blockiert , , und Anfragen Seiten in realistischer Reihenfolge ,. , es nicht von einem Menschen unterscheiden, außer im aggregierten Verhalten , . ,

* Drehende Wohnproxies
* Perfekt gültige Browser-Fingerabdrücke
* Realistische Mausbewegung
* Ausführen von JavaScript
* Anpassung bei Blockierung

Kommerzielle Lösungen lösen dies, ,, aber sie sind teuer (£3, und gebunden an bestimmte CDNs, ., Sie wissen nie wirklich, was unter der Haube passiert ., und sie haben eine Begrenzung :, die meisten wurden für die Bedrohung Landschaft gebaut ( headless Browsern, MSC14, verteilte Proxies, MKS15, Sie stoppen vor v.4—, dem LLM--, angetriebenen Grenzüberschreitungen., Wenn du ', die durch intelligente Automatisierung geschrottet werden, ,, sie arbeiten okay ., wenn du unter koordiniertem ,, intelligentem ?,, adaptiver Angriff bist ,, das sie spielen fangen ', spielen Fang -,

Ich wollte etwas anderes.

* **Öffnen** Sie können jede Erkennungsregel lesen und ändern
* **Lokale** Keine Daten, die Ihre Infrastruktur verlassen
* **Verständlich** Erklärbare Entscheidungen – nicht ein schwarzes Modell – -«box ML
* **Leicht zu erweitern** Fügen Sie benutzerdefinierte Detektoren für Ihre spezifische Bedrohungsoberfläche hinzu
* **Billig zu laufen** Nicht Lizenzkosten (, auch nicht auf einem Himbeer-Pi.)
* **Gebaut für v-4-** Behandelt die modernen LLM-- driven Grenzüberschreitungen nicht nur gestern

Also baute ich **StyloBot** Eine modulare Bot Detektions-Engine zum Erlernen von Bots für die neue Bot-Ära

Es begann einfach... und wuchs dann zu etwas viel interessanteren...

---


[TOC]

---


## **Ein konkretes Beispiel Was dieses tatsächlich fängt**

Hier ist ein reales Szenario von -.

Ein Schaber spoofs

```
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120
```

Sieht legitim aus

Aber es *vergißt* ein Header Chrome sendet immer ?: ?

```
Sec-Fetch-Mode
```

Und seine `Accept-Language` header doesns.’.t entspricht dem beanspruchten locale...

Und die Request-Rate ist klar automatisiert

**Ein Signal ist fein... 2 ist verdächtig... 3 ist ein Muster.**

Das System flattert es in unter 100- Millisekunden - keine KI benötigt

Dies ist die Grundlage des gesamten Designs.
**don-’-t verlassen sich auf einen großen Bot oder nicht -”-Modell - .- Accumulate evidences**

---


## Philosophie des Systems

Im Kern dieses Projekts geht es um Bot-Detektion an allen **den Verkehr als ein lebendes System behandeln** eher als ein Strom von isolierten Anfragen

**Warum das jetzt zählt** LLM---powered Bots sind ' stumm . adaptieren Sie . , ein LLM bot schlägt Ihre API ,, , bekommt Rate , - , begrenzt , , Änderungen Benutzer - , Agent , rotiert IP , , , Anfragen verwandte Produkte , wie ein Mensch würde ), , dann systematisch extrahiert Daten . , Statische Regeln können ' , halten Sie up .. , Aber ein adaptives System kann . ,

Moderne Scraper verhalten sich wie Organismen, die sie lernen, , mutate, M, - Sonde für Schwächen, , - und reagieren auf Druck, . - So muss sich auch die Verteidigung entwickeln.

Die Philosophie hier ist einfach.

1. **Viele Signale beobachten** Verhaltensmuster von cross--layer
2. **Kombiniere sie** ,- , Don ,' ,t Vertrauen in ein Signal ,mesK2 , Aggregat Evidenz
3. **Lassen Sie sie interagieren** Eine perfekte UA ist verdächtig, wenn die IP ein Datacenter ist.
4. **Über die Zeit anpassen** Muster zerfallen .Aus neuen Mustern entstehen .Aus Lernen kontinuierlich.Aus

Anstelle eines einzigen "-Bots wird der Motor **ein Netz von kleinen Detektoren**Die Politik wird zu komposierbaren Flüssen, die nicht hart sind, die -codierten Regeln, die sich allmählich verändern, anstatt Staaten umzudrehen.. KI ist nur ein weiterer Mitwirkender von ,, der neben Heuristics auch eine Monolithe von MSC9 ist.

Das System ist gebaut, um **transparant, erklärbar, erweiterbar, , und Selbst---Korrigieren**Mit dem langfristigen Ziel, sich weniger wie eine Firewall zu verhalten und mehr wie ein **Immunsystem**Schnell an der Kante, intelligent im Kern und immer lernen

---


## **Warum eine Single-Signalerkennung fehlschlägt und wie StyloBot sie vermeidet**

Die meisten Systeme verlassen sich auf ein oder zwei Signale

- **Verriegeln Sie, wenn der Benutzer sagt: -** Moderne Bots verwenden echte Benutzer ,- ,Agent strings , . ,
- **Verriegeln Sie, wenn die Rate X-Anfragen an /esec."e** Intelligente Bots drosseln . , Sie blockieren ' ll reale Leistung
- **Schließen Sie, wenn sich IP in einem Rechenzentrum befindet.** Wohn-Proxy-Netzwerke haben echte Heimat-ISPs, ., viel Glück
- **Schließen Sie, wenn JavaScript nicht ausgeführt wird.** Headless-Browser führen JS perfekt aus

Das Muster **jedes einzelne Signal kann gefälscht werden** Die Lösung **don-'-t verlassen sich auf ein Signal**

StyloBot kombiniert viele schwache Signale zu einem starken Urteil.... ein perfekter Benutzer. *zuzüglich* ein Rechenzentrum IP *zuzüglich* fehlende Sicherheits-Header *zuzüglich* Unregelmäßigkeiten bei der Antragsquote *zuzüglich* cross---Schichtinkonsistenz

---


## **Wie es funktioniert, die kurze Version**

Anfragen fließen durch mehrere kleine Detektoren... jeder trägt ein kleines Stück Beweismaterial bei....

Betrachten Sie es als Flughafensicherheit, ein TSA-Agent, der Dokumente überprüft, ist ausreichend, aber drei Agenten überprüfen Dokumente, die Bordkarten, , und Gepäck zusammen fangen, was man vermisst

```mermaid
flowchart TB
    subgraph Request["Incoming Request"]
        R[HTTP Request]
    end

    subgraph FastPath["Fast Path (< 100ms)"]
        UA[User-Agent Check]
        HD[Header Analysis]
        IP[Datacenter IP Lookup]
        RT[Rate Anomalies]
        HE[Heuristic Model]
    end

    subgraph SlowPath["Slow Path (Async Learning)"]
        LLM[LLM Reasoning]
        Learn[Weight Learning]
    end

    subgraph Output["Decision"]
        Score[Risk Score 0-1]
        Action[Allow / Throttle / Block]
    end

    R --> UA & HD & IP & RT
    UA & HD & IP & RT --> HE
    HE --> Score --> Action

    HE -.-> LLM -.-> Learn
    Learn -.->|updates weights| HE

    style FastPath stroke:#10b981,stroke-width:2px
    style SlowPath stroke:#6366f1,stroke-width:2px
    style Output stroke:#f59e0b,stroke-width:2px
```

### **Schneller Pfad (<100ms)-**

Läuft synchron ,. , nicht verlangsamt Ihre App , . ,

* Bekannte Bot-Muster
* Fehlende Header echte Browser immer senden
* IPs des Rechenzentrums
* Prozentsätze
* Inkonsistenzen zwischen UA-Headern

Diese Fänge **80%** von Bots sofort

### **Langsamer Pfad**

Läuft im Hintergrund

* Heuristisches Modell mit gelernten Gewichten
* LLM Argumentation über [Ollama](https://ollama.com/)
* Reputation des Musters aktualisieren
* Vergessen von veralteten Signalen

Dies fängt die adaptiven Bots an, die meisten Menschen *denken* sie, die ', fangen mit dem ",regex auf Benutzer, -,agent,".,

---


## **Versuchen Sie es in Sekunden**

### Lokale Installation

```bash
dotnet add package Mostlylucid.BotDetection
```

```csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddBotDetection();

var app = builder.Build();
app.UseBotDetection();
app.Run();
```

Dass-''s es -.' Alles funktioniert aus dem Kasten

### Sehen Sie es zuerst leben

Sie möchten noch nicht installieren? **[Besuchen Sie Stylobot-.-net](https://stylobot.net)** um das Produktionssystem in Aktion zu sehen ,. , Senden von Anfragen ,, , beobachten sie analysiert in einzelnen Millisekunden mit vollen frühen ,mesK2 ,exit aktiviert ,musk3 , keine Anmeldung ., , voll interaktiv ,— ,it' , ist der echte Deal

---


## **Was es auf einen Blick erkennt**

Überprüfe, was es findet
| --------------- | ------------------------------------------------- |
| **Benutzer---Agent** Bekannte Bots, Bibliotheken, Schaber und Schablonen
| **Kopfzeilen** Fehlende Sicherheits-Header, unmögliche Kombinationen
| **RECHTSSACHE** Cloud-Hosts, die so tun, als wären sie zu Hause
| **Steuersatz** Automatisierung platzt, verteiltes Abschrotten
| **Kohärenz** “Chrome, ohne Chrome, ’Ist-Header-Set

Konsistenz ist die Schläfer-Funktion, die moderne Bots spoof *eins* Signal, aber in der Regel bei cross.-; Signalkohärenz;

---


## **Ein wirkliches Erkennungsergebnis**

Hier ist, wie eine echte Detektion aussieht. **[Stylobot-.-net](https://stylobot.net)** Sie können diese gleichen Ergebnisse selbst generieren, indem Sie auf der Live-Site testen.Die angezeigten Latenzzeiten sind echte CPU.-. Nur Performance.,. keine Verlangsamung für die Sichtbarkeit.

### Zusammenfassung

```json
{
  "policy": "fastpath",
  "isBot": false,
  "isHuman": true,
  "humanProbability": 0.8,
  "botProbability": 0.2,
  "confidence": 0.76,
  "riskBand": "Low",
  "recommendedAction": { "action": "Allow", "reason": "Low risk (probability: 20%)" },
  "processingTimeMs": 50.7,
  "detectorsRan": ["UserAgent", "Ip", "Header", "ClientSide", "Behavioral", "Heuristic", "VersionAge", "Inconsistency"],
  "detectorCount": 8,
  "earlyExit": false
}
```

**Detektoren liefen in 51** Dass die parallele Ausführung von ' über mehrere Evidenzquellen erfolgt

### Beiträge der Detektoren

Jeder Detektor trägt einen gewichteten Impact-Effekt bei

Gewichtlich Gewichtlich Grund Gründe
|----------|--------|--------|----------|--------|
| **Benutzeragent** Nutzer-Agent scheint normal zu sein.
| **Kopfzeile** Die Kopfzeilen erscheinen normal.
| **Behavioral** |--0.10-M|-MNSK3-MSSK4-MWSK5-MUSK6-MESSK6 ----MKSK7--Empfangsmuster erscheinen normal
| **Heuristisch** | -0.77 | 2.0 | **-1.54** |-MNSK1-MUSK2-Häufigkeiten
| **ClientSide** Fingerabdruck erscheint legitim
| **VersionAge** Weitere Informationen: http://europa.eu.int/comm/index_de.html
| **Inkonsistenz** Keine Header, keine Inkonsistenzen von |
| **RECHTSSACHE** |0.00| 0.5T| 0.00XSK6 lokale Hosts (-neutral in dev.)9

Das **Heuristischer Detektor** dominiert hier -, es ist ', die gewichtete 2,x und benutzte 16, um das menschliche Vertrauen zu erreichen

### gesammelte Signale

Jeder Detektor sendet Signale aus, die in das heuristische Modell einspeisen.

```json
{
  "ua.is_bot": false,
  "ua.raw": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...",
  "ip.is_local": true,
  "ip.address": "::1",
  "header.has_accept_language": true,
  "header.has_accept_encoding": true,
  "header.count": 16,
  "fingerprint.integrity_score": 1,
  "behavioral.anomaly": false,
  "heuristic.prediction": "human",
  "heuristic.confidence": 0.77,
  "versionage.analyzed": true
}
```

Diese Signale bestehen und trainieren das Lernsystem im Laufe der Zeit

### Untergliederung nach Kategorien

Aggregate nach Kategorien für die endgültige Entscheidung

Gewichtsklasse | Bemerkungen
|----------|-------|--------|-------|
Weitere Informationen finden Sie unter: http:www.cordis.lu/index.htm
Nutzeragent für den normalen Browser UA |
Alle erwarteten Header vorhanden
Keine Ratenanomalien
ClientSide ,| , -0.04 , | , 0.8 , | , gültiger Fingerabdruck erhalten ,| ,
VersionAlter |, aktuelle Browser-Version
Inkonsistenz von UA-Matches mit Headern
IP-Adresse: http:www.cordis.lu/

**Gewichtete Punktzahl insgesamt** Starkes menschliches Signal

> **Anmerkung:** Das ist die Demo. `fastpath` Politik, die läuft **alle** Detektoren für die Sichtbarkeit in der realen Produktion mit frühem Ausgang aktiviert , , hoch , - , Vertrauen fordert Exit nach nur , 2-3 , Detektoren zustimmen typisch ,- , **unter „10"**Der Demo-Modus deaktiviert den frühen Ausgang, um alle Beiträge zu zeigen.

### Vollständige Pipeline-Modus mit LLM-)

Zum Vergleich: `demo` policy Die komplette Pipeline inklusive LLM-Hintergrund: Das zeigt, was passiert wenn Detektoren **Uneinigkeit**:

```json
{
  "policy": "demo",
  "isBot": false,
  "isHuman": true,
  "humanProbability": 0.87,
  "botProbability": 0.13,
  "confidence": 1.0,
  "botType": "Scraper",
  "riskBand": "Low",
  "recommendedAction": { "action": "Allow", "reason": "Low risk (probability: 13%)" },
  "processingTimeMs": 1370,
  "aiRan": true,
  "detectorsRan": ["UserAgent", "Ip", "Header", "ClientSide", "Behavioral",
                   "VersionAge", "Inconsistency", "Heuristic", "HeuristicLate", "Llm"],
  "detectorCount": 10
}
```

**Detektoren in Sekunden** Die LLM lief und *nicht einverstanden* mit den Heuristiken

Gewichtlich Gewichtlich Grund Gründe
|----------|--------|--------|----------|--------|
| **LLM** | +0.85 | 2.5 | **+2.13** Üblich bei Bots , , , Cookies , + , Referer verdächtig ," , , und |
| **HeuristicLate** Mit allen Beweisen für ) und |
| **Heuristisch** (-früher)-|-M-0.77-MNSK4-MUSK5-MWSK6--1.54-MISSK8-MKSK9-Musenwahrscheinlichkeit
| **Benutzeragent** Nutzer-Agent scheint normal zu sein.
| **Kopfzeile** Die Kopfzeilen erscheinen normal.
| **Behavioral** |--0.10-M|-MNSK3-MSSK4-MWSK5-MUSK6-MESSK6 ----MKSK7--Empfangsmuster erscheinen normal
| **ClientSide** Kein Fingerabdruck, der JS.) erwartet
| **VersionAge** Weitere Informationen: http://europa.eu.int/comm/index_de.htm
| **Inkonsistenz** Keine Header, keine Inkonsistenzen von |
| **RECHTSSACHE** |-0.00-M|-MNSK3-MSSK4-MUSK5-MWSK6-Musk6-Ortsgast (-neutral)-MKSK9-Maus

Dies ist der interessante Fall **der LLM markierte ihn als potentiellen Bot** während alle statischen Detektoren sagte human

```json
{
  "ai.prediction": "bot",
  "ai.confidence": 0.85,
  "ai.learned_pattern": "Browser string suggests Chrome, common in bots. Presence of cookies and a specific referer also points to a potential bot."
}
```

Die LLM-''s Argumentation wird als ein Signal aufgezeichnet, das zurück in das Lernsystem füttert..' Im Laufe der Zeit, wenn dieses Muster weiterhin erscheint und als Bot Traffic bestätigt wird, werden die heuristischen Gewichte angepasst.

Hinweis:

1. **Heuristische Fahrten zweimal** Vor allen Detektoren – ) und später –( – nach allen Beweisen – ). – beide sagten: „""human„"" mit 88%-Konfidenz

2. **LLM nicht einverstanden** Es entdeckte Muster, die statischen Detektoren verpassten... Sein gewichteter Einschlag kontert teilweise den heuristischen...'.

3. **Kein Fingerabdruck** ClientSide lieferte 0, weil JS noch ausgeführt hatte'T In einem echten Browser würde dies mehr menschliches Signal hinzufügen.

4. **Endgültiges Urteil** Der kombinierte Beweis begünstigt auch mit dem Verdacht des LLM-'. `botType: "Scraper"` Flagge bedeutet, dass sie beobachtet wird.

Die Kategorieaufgliederung zeigt die Spannung

Gewichtsklasse | Bemerkungen
|----------|-------|--------|-------|
| **Heuristisch** Starkes menschliches Signal
| **KI** |-+2.13-M|-MNSK3-|-LLM sagt Bot
Nutzeragent für |, -0.20, |, MSC4, normale Browser
Alle vorhandenen Kopfbedeckungen
Normale Muster
ClientSide Weitere Informationen über 0.00 »|« Keine Fingerabdrücke
VersionAlter |, aktuelle Versionen |,
Inkonsistenz von UA-Matches mit Headern
IP-Adresse des lokalen Gastgebers

**Gewichtete Punktzahl insgesamt** Der Mensch gewinnt zwar ,, aber der Widerspruch von LLM-' wird festgestellt.

> **Wichtigste Einsichten (MSK)** Das System nicht blind vertraut jedem einzelnen Detektor Wenn sie widersprechen, wird der Beweis für ,e gewichtet und die Mehrheit gewinnt -e aber Minderheitenmeinungen werden zum Lernen aufgezeichnet

> **Wichtig** Diese verbose Ausgabe ist demo---only-.. In der Produktion erhalten Sie eine schlanke Antwort über HTTP-Header.`X-Bot-Confidence`, `X-Bot-RiskBand`,,, usw. , oder eine einfache `context.IsBot()` Die volle JSON ist für Debugging und Tuning -- , die Sie nie senden ' , um diese Clients , . .

---


## **Verwendung der Ergebnisse**

```csharp
if (context.IsBot())
    return Results.StatusCode(403);

var score = context.GetBotConfidence();  // 0.0-1.0
var risk  = context.GetRiskBand();       // Low/Elevated/Medium/High
```

### Endpunkte schützen

```csharp
app.MapGet("/api/data", Secret).BlockBots();
app.MapGet("/sitemap.xml", Sitemap)
   .BlockBots(allowVerifiedBots: true);
```

Risikoniveaus leiten die Aktion

Das Risiko des Risikos des Vertrauens
| -------- | ---------- | ------------------ |
,| , niedrig , | , < , 0.3 , T| , zulassen ,|
|-erhöhte |-erhobene 0.3-0.5-erweiterte |-erläuterte Ms K4-erhebliche Grenze
|-Mittel Mittel |-Mittel 0.5-0.7-Mittel
Hoch-|, hoch->, hoch-/0.7, Block

---


## **KI-Erkennung**

Nicht erforderlich, aber nützlich für das Fangen von fortgeschrittener Automatisierung.

### **Heuristische Detektorin für schnelles Lernen**

Das System enthält einen heuristischen Detektor, der logistische Regression mit dynamisch erlernten Gewichten verwendet . . Es beginnt mit vernünftigen Defaults und entwickelt sich basierend auf Detektion Feedback .

Typische Latenzzeit **,1-5-ms**

```json
{
  "BotDetection": {
    "AiDetection": {
      "Heuristic": {
        "Enabled": true,
        "LoadLearnedWeights": true,
        "EnableWeightLearning": true
      }
    }
  }
}
```

Die Funktionen werden dynamisch extrahiert.Neue Muster erhalten automatisch Standardgewichte und lernen im Laufe der Zeit. *Ihre* Verkehr ,. ,

### **Ollama LLM Deep Reasoning**

Fangt ausweichende Bots, die aussehen "Fein-". zu schnellen Regeln [Ollama](https://ollama.com/) für lokale LLM-Inferenzen

```bash
ollama pull gemma3:1b
```

```json
{
  "BotDetection": {
    "AiDetection": {
      "Provider": "Ollama",
      "Ollama": { "Model": "gemma3:1b" }
    }
  }
}
```

KI ist **fail---sicher** -, wenn es ' nach unten ,, Detektion weiter normal .,

---


## **Das Lernsystem ,: , Adaptive , , , nicht Trigger .- , glücklich**

Statische Blocklisten gehen abgestanden.-Angriffe passen sich an.-
So lernt dieses System

```mermaid
flowchart LR
    N[Neutral] -->|repeated bad activity| S[Suspect]
    S -->|confirmed| B[Blocked]
    B -->|no activity| S
    S -->|stays clean| N

    style B stroke:#ef4444,stroke-width:2px
    style S stroke:#eab308,stroke-width:2px
    style N stroke:#10b981,stroke-width:2px
```

Muster zerfallen im Laufe der Zeit

* IPs werden neu zugewiesen
* Fehlkonfigurierte Skripte werden behoben
* Verkehrsänderungen natürlich

Ohne Zerfall you-’-Block legitime Benutzer forever-MSC1-

```json
{
  "BotDetection": {
    "Learning": {
      "Enabled": true,
      "ScoreDecayTauHours": 168,
      "GcEligibleDays": 90
    }
  }
}
```

---


## **YARP Gateway®:® Kantenschutz für Ihre App**

Es ist auch ein **Docker---erster YARP-Reverse Proxy** das die Erkennung ausführt *Vorher* Anfragen treffen Sie Ihre App.

```mermaid
flowchart LR
    I[Internet] --> G[YARP Gateway]
    G -->|Human| App[Your App]
    G -->|Search Engine Bot| App
    G -->|Malicious| Block[403]
```

Führen Sie es in einer Zeile aus.

```bash
docker run -p 80:8080 \
  -e DEFAULT_UPSTREAM=http://your-app:3000 \
  scottgal/mostlylucid.yarpgateway
```

Arbeitet am ,:'

* Linux
* macOS
* Fenster
* **ARM (-yes-,-Himbeer-Pi-)-**

Für benutzerdefiniertes Routing.

```yaml
services:
  gateway:
    image: scottgal/mostlylucid.yarpgateway
    volumes:
      - ./yarp.json:/app/config/yarp.json
```

---


## **Eine vernünftige Produktionsgemeinschaft**

```json
{
  "BotDetection": {
    "BotThreshold": 0.7,
    "BlockDetectedBots": true,
    "EnableAiDetection": true,
    "Learning": { "Enabled": true },
    "PathPolicies": {
      "/api/login": "strict",
      "/sitemap.xml": "allowVerifiedBots"
    }
  }
}
```

---


## **Wohin das geht**

Dies ist Teil des Überblicks
Die nächsten Teile graben tiefer.

* **Teil**: [Wie Bots Smarter wurden Die neue Frontier bei der Bot-Erkennung](https://www.mostlylucid.net/blog/botdetection-part2-signature-pipeline-and-stylobot-architecture)
* **Teil**Behaviour Analytics
* **Teil**Fingerabdruck auf der Seite des Kunden
* **Teil**Der Heuristische Detektor Lerngewichte in Echtzeit
* **Teil**LLM-Detektionsinterne
* **Teil**Das Lernsystem wurde richtig erklärt

**Zukünftiger Fahrplan**

* RAG---basiertes Muster, das mit Vektoreinbettungen übereinstimmt
* Lokale kleine Modellableitung über [LlamaSharp](https://github.com/SciSharp/LLamaSharp) ]/-ONNX
* Semantische Ähnlichkeit zur Erkennung neuartiger Angriffsmuster

Wenn Sie einen Bot-Detektor möchten, können Sie *verstehen*, *erweitern*L 347 vom 20.12.2013, S. 671. *irgendwohin laufen*Diese Serie ist für dich.

---


## **Akademisches Lesen in der Industrie**

Wenn Sie eintauchen wollen, warum Bot-Detektion hart ist und was die Forschung sagt

### Bot-Erkennung - Evasion

- [Der Zustand des Bot-Verkehrsberichts](https://www.imperva.com/blog/bot-attack-trends/) Daten des Bot-Angriffs
- [BETRIEBSICHERHEIT](https://owasp.org/www-community/attacks/Bot_attack) Sicherheitsgrundlagen
- [Überblick über die Bot-Erkennung](https://www.cloudflare.com/learning/bots/what-is-bot-detection/) Industrie-Perspektive

### Netzwerkfingerabdruck

- [JAE3:.SSL./.TLS Client-Fingerprinting](https://github.com/salesforce/ja3) TLS-Signatur passend zum Standard )
- [TCP./.IP-Fingerabdrucke, :.p.0.f Referenz](https://lcamtuf.coredump.cx/p0f3/) Netzwerk --Schicht-Erkennung
- [HTTP-Fingerabdruckverfahren](https://www.cloudflare.com/learning/http/http2/) Wie sich Browser in HTTP unterscheiden

### Behavioral Analysis Anomaly Detection

- [Ausreißer-Erkennung in Zeitreihendaten](https://en.wikipedia.org/wiki/Anomaly_detection) Statistische Grundlagen
- [Markov Ketten in Intrusion Detection](https://en.wikipedia.org/wiki/Markov_chain) Zustandsübergangsmodellierung

### LLM.-.Powered Threats Datenvergiftung

- [Datenvergiftung Angriffe auf maschinelles Lernen](https://arxiv.org/abs/1811.03728) Warum Schaber Ihre Daten anvisieren
- [Extrahieren von Trainingsdaten aus großen Sprachmodellen](https://arxiv.org/abs/2302.07933) Warum Bots Ihren Inhalt wünschen
- [Web Scraping und Urheberrechtsfragen](https://en.wikipedia.org/wiki/Web_scraping#Legal_issues) Der rechtliche Winkel

### Headless Browser-Erkennung

- [Puppenspieler-Erkennung für Playwright](https://antoinevastel.com/blog/detect-puppeteer-and-playwright/) Wie kopflose Browser identifiziert werden
- [Canvas Fingerprinting Evasion](https://cvdazzle.com/) Verfahren zur Erkennung der MSK-Seite

---


## **Projekt-Links**

* **GitHub-:** Voll dos
  [Diese Daten werden von den zuständigen Behörden der Mitgliedstaaten gemäß Artikel 2 Absatz 1 der Verordnung (EU) Nr. 1308/2013 übermittelt.](https://github.com/scottgal/stylobot)
* **NuGet-:-** Paket installieren
  [., /, /, ., Bot-Detektion](https://www.nuget.org/packages/mostlylucid.botdetection)
* **Docker Hub-:** YARP Gateway
  [Einzelnachweise Weblinks * Offizielle Website (englisch)](https://hub.docker.com/r/scottgal/stylobot-gateway)

---


**Unlizenzieren Sie die öffentliche Domäne von . Verwenden Sie sie, wie auch immer Sie wollen.**