StyloBot Release Series: Comportamento, Non Identità (Italiano (Italian))

StyloBot Release Series: Comportamento, Non Identità

Monday, 01 June 2026

//

26 minute read

Identità-identificazione basata su un bot (IPsM SK2utente -agentiMST4headerMSC5 collassa il momento in cui l'automazione inizia a ruotare le identitàMSSK6 StyloBot modella i clienti come forme comportamentali in uno spazio vectore dimensionale |130+ | . | Ecco qui la ragione per cui questo è il giusto livello di astrazione per il livello |-4 | e per il nivel |SSK12 | Bot | SSK13 | E come funziona realmente il motore SSK14 |

StyloBot

StyloBot Release Series

  1. Comportamento, Non identità: perché StyloBot modella i clienti comportamentalmente
  2. Comportamento-Aware ASP.NET UI: il server- restituisce la superficie su quel risultato di rilevamento.
  3. Trovare e riparare la crescita senza limiti nei servizi NET Long-Running .: la disciplina di affidabilità che mantiene il motore noioso nella produzione.
  4. Comportamento-Conoscere l'interfaccia grafica del tipoScript: ExpressM SK1 Fastify, e componenti del browser
  5. L'architettura della Sidecar: come il motore di rilevazione si collega a stack non -.NET
  6. Imparare a diventare più veloce: il sistema di apprendimento adattativo, quattroM SK2 memoria a livello di livello+, e la cassa del verdetto
  7. Provare a fare ciò che non si ferma.: la disciplina di verificazioneM SK1 un file BDF guida la regressione , carico, e calibrazione
  8. StyloExtract - un convertitore locale di HTML per Markdown: l'HTML→Layere Markdown che si combina con il rilevatore , il walkeder bug lucidVIEW catturatoM SK3 e la catena di cibo per cani che lo rende onesto

Introduzione

"Oh, che una rete confusa che lavoriamo quando per la prima volta ci esercitamo a ingannare.

Walter Scott

StyloBot rileva i costi di manutenzione dell'inganno.

Il traffico innocente non deve inventare storie, non deve tracciare sentieri, né produrre prove esculpatorie. La struttura che cresce intorno ad un inganno è ciò che si può individuare, non il inganno stesso. Questo è il cuore della forense, inclusa la forense comportamentale come lo StyloBot.

Anni fa lavoravo in psichiatria forense, classificare modelli comportamentali per identificare le patologie substanti della demenzaM SK1 modelli specifici di perdita di memoria, comerbidite particolariMSC3 compensazioni che la gente costruisce inconsapevolimente intorno al divario . La classifica permette di personalizzare un piano di cura a quello che stava effettivamente accadendoMST5 non alla storia del coverMSSK6 StyloBot applica la stessa tecnica ad un nuovo nemicoMSP7 AIMSV8 automatizzazione guidata rubando i vostri datiMSS9 distorsionando il vostro tasso di prezzoMSR10 esaurindo l'inventarioMRS11

La maggior parte dei sistemi di bot sono ancora costruiti intorno alle affermazioni di identità: reputazione IPM SK1 utente- stringi di agenteMSC3 correttezza del titoloMST4 forse un'impronta digitale se siete fortunatiMSSK5

Funziona fino a che i robot si fanno bene.

Il momento in cui l'automazione inizia a ruotare le identità, imitare i browser, diffondersi attraverso le IP residenzialiM SK2 e adattarsi nella sessioneMST3sessione MST4 M ST5 chi fa pretendere di essere questa richiestaMst6 smette di essere la domanda giustaM st7 La domanda più utile èMSST8 \MST9come si comporta questo cliente nel tempoMSS10 attraverso dozzine di cose che diconoM SS11 rispetto ai clienti che già conosciamoM SSS12

Questa è l'idea che sta dietro a StyloBot. I modelli rispondono alle sessioni , , e ripetono i clienti come forme comportamentali piuttosto che identità staticheM SK3 Sembra che le sessioni ACROSS a dozzine di comportamenti dicono e calcolano quale tipo di cliente potrebbe plausibilmente produrre quel comportamentoMSC4 Non stupida U.A.

Questo non è 'non teorico. Il motore sta funzionando su questa pagina proprio oraM SK2 Il vostro radar è sulla sinistra ; il pannello Top Bots sono le forme già registrate contro lo stilobotMST4netMSC5

Detezione dal vivo su questa pagina (Uomo, 4% Probabilità di botM SK3 PermetteteMSC4 vicino alla lista dei Top Bots MJMST5botMSL6 SERankingBacklinksBotMSR7 AranetMSSL8SearchBotMSSL9 bingbot e altri con il loro bot SSL10 fiduciaMSV11 minacciaMSS12 e conteggio dei recenti successi

Inizia veloce

Il StyloBot è totalmente FREE TO RUN. In futuro io'vendrò la gestione in tempo reale e il reporting M SK2per provare e voi sapete ...eatMSC4 ma il motore nell'exe è il StylobotMNK5 Commercial semplicemente aggiunge una topologia distribuitaMRK6 in tempo reale. config (no reload), e altre opzioni DBM SK2

Tutta la fonte è qui https://github.comMSC2scottgalM SK3stylobot

Per installarlo: macOS (Homebrew)

brew install scottgal/stylobot/stylobot
stylobot 5080 http://localhost:3000

Linux (apt - DebianM SK2Ubuntu)

curl -1sLf 'https://dl.cloudsmith.io/public/mostlylucid/stylobot/setup.deb.sh' | sudo bash
sudo apt update && sudo apt install stylobot
stylobot 5080 http://localhost:3000

Linux (manual / ARM64)

# Download from GitHub Releases: stylobot-linux-x64.tar.gz or stylobot-linux-arm64.tar.gz
tar xzf stylobot-linux-x64.tar.gz && chmod +x stylobot && sudo mv stylobot /usr/local/bin/
stylobot 5080 http://localhost:3000

Docker

docker run --rm -p 8080:8080 -e DEFAULT_UPSTREAM=http://host.docker.internal:3000 \
  scottgal/stylobot-gateway:latest

NuGet (inserto come ASP.NET Core middlewareM SK2

dotnet add package mostlylucid.botdetection
dotnet add package mostlylucid.botdetection.ui
builder.Services.AddStyloBot(dashboard => {
    dashboard.AllowUnauthenticatedAccess = true; // dev only
});

app.UseRouting();
app.UseStyloBot();   // broadcast, detection, dashboard: correct ordering guaranteed
app.MapControllers();

La lavagna a /_stylobot. Detezione a ~150µs per richiesta dalla prima richiesta.

StyloBot atterra su un'installazione dal vivo: traffico nel tempo, attività dal vivo con la firmaM SK2 e il verdetto per l'osservatore per il visitore che guarda la pagina


Poi fatelo andare. stylobot 5080 http://localhost:3000 E voila, il vostro sito a monte è ascoltare (usare --bloccare il modo per bloccare anche lui.

Questo post è il primo annuncio della nuova serie di StyloBot. Ci spiega il modello comportamentaleM SK1 Il prossimo post, Comportamento-Aware ASP.NET UI, mostra come quel modello diventi la logica dell'applicazione all'interno delle visuali Razor e dei controller.

La minaccia: una scala, non una popolazione

Prima di vedere cosa hanno i defensori, guardate quello che stanno difendendo.1.'Bots'' non è una cosa, ;' è una scala, e ogni rungto sconfigge un'altra strata della pila.

La scala di sofisticazione dei robot


1. stupidi / robot rumorosi

(curlM SK1scanneri, forza brutaMSC3 percorsi invalidi )

  • Succede2Ban: Funziona bene.
  • WAF: Funziona bene.
  • Gestione dei bot: banale.
  • Limitazione del tasso: Funziona bene.

punto di fallimento: Niente, tutto cattura questiM SK1

I disegni che sono nati dall'alba del web (perl FTWM SK1 ' andare sul sito, scartare il contenutoMSC4 essere più efficienti nell'identificare l'informazioneMST5 un unico punto di fineMSM6 lo stesso IPMSL7 lo mismo UAMSSK8


2. Bot basati su script

( rotazione dell'UAM SK1 punti finali validi , scappatura semplice)

  • Succede2Ban: inizia a fallire.
  • WAF: ancora efficace.
  • Gestione dei bot: efficace.
  • Limitazione del tasso: Dipende dalla regolazione.

punto di fallimento: sistemi basati su errori ovvi.

Più difficile. Ora bisogna identificare modelli conosciuti e processare il traffico più tardi.


3. Bot di browser senza testa

(PuppeteerM SK1Playwright, Esezione JSMSC3 flussi reali )

  • Succede2Ban: inefficace
  • WAF: Limitata.
  • Gestione dei bot: Layere primaria
  • Limitazione del tasso: debolere.

punto di fallimento: Tutto basato sulla correttezza della richiesta o sulle firme.

Facile solo perché ' sono spesso usate in modo legittimo (scraping, SEOM SK3 eccMSC4 questo è falsoMST5 città positivaMst6 Dire legittimo all'illegitima è difficileMSST7


4. Bot Stealth

( rotazione approssimativaM SK1 IP residentii, imitazione delle impronte digitali )

  • Succede2Ban: inefficace
  • WAF: in gran parte inefficace.
  • Gestione dei bot: comincia a lottare.
  • Limitazione del tasso: inefficace se distribuito.

punto di fallimento:

  • La reputazione IP
  • impronte digitali statiche
  • Controlli basati sulla soglia-

Questo è il punto in cui i falsi positivi aumentano. Fate più forte e i vostri identificatori normali cadono; Dovete identificare lo stesso cliente attraverso un'identità ingannevole..


5. Bot indirizzati / LLM-Adaptivi

(slowM SK1distributed, apprendere il comportamento del sito , regolare dinamicamenteMSC4

  • Succede2Ban: irrilevante
  • WAF: inefficace
  • Gestione dei bot: inconsistente
  • Limitazione del tasso: inefficace

punto di fallimento:

  • Tutto ciò che presume la ripetibilità.
  • Tutto ciò che presume modelli conosciuti.
  • Qualunque cosa che suppone il comportamento "bot-comme ".

Questi robot si comportano " correttamente" e si evolvenoM SK2 I LLM si adattano agli tentativi di blocco standard ( Solver CAPTCHAMST4 RandomizersMSC5

Ecco dove si mira il StyloBot. Proprio ora questi bot sono costosi da far funzionare su larga scala. Cosa sta cambiandoM SK2


Noi' ci siamo spostati nel tempo e anche in cima alla scala; dalla semplice identità MSC2block IPM SK3 al bisogno di capire enormi volumi di traffici e file di log . Per difendervi dai smascheratori intelligenti a livello 5 avete bisogno di rilevamento e protezione intelligente.

I Defenders: il mercato attuale

Con la scala in mente, qui's i difensori del kit ci portanoM SK2 Notate come ogni opzione è regolata da qualche parte tra il livello 1 e il livello

L'efficacia dei difetti contro il livello del bot


1. fallimentoM SK1interdizione / log- interdizione basata

  • Mode: Post (reactive)
  • La durata: secondi → minuti
  • Costo: molto bassa (free + tempo di opzioni)
  • Complexità: Basso

Economico, semplice, ma sempre dopo il fatto


2. WAF (Cloudflare WAF, AWS WAF≥, Azure WAF≤)

  • Mode: Attivo (inline)
  • La durata: ~1–10 ms
  • Costo: bassa → media ( regole + volume di richiesta)
  • Complexità: bassa → media (rule tuningM SK2

veloce e economico-ish, ma solo per modelli conosciuti


3. Gestione del bot Cloudflare Bot MgmtM SK2 DataDome, HUMANMSC4 AkamaiMST5 CHEQMst6

  • Mode: Attivo (inline + sfideM SK2
  • La durata: ~5–50 ms
  • Costo: medio → alto (often trafficoM SK2 basato o correlato)
  • Complexità: medio → alto (tuning, falsi positiviM SK3 UX impattoMSC4

Powerful but expensive, and can affect user experience


4. Limitazione del tasso / Controlli API Gateway

  • Mode: Attivo (inline)
  • La durata: ~1–5 ms
  • Costo: bassa → media ( comunemente combinato ma scala con l'uso)
  • Complexità: medio (perM SK1Tuning finale)

Controllo economico, ma strumento blunt


5. Protezione da DDoS Cloudflare, AkamaiM SK3 In frettaMST4 Shield AWSMSC5

  • Mode: Active (edge/networkM SK2
  • La durata: ~1–5 ms
  • Costo: Medio → molto alto (in particolare a scala / livelli di impresa S)
  • Complexità: medio ( più gestito)

Layere infrastrutturale essenziale, ma non comportamentale


6. Fraude / Scoring di rischio MSC2Sift, ForterMSC4 RiskiificatoM SK5 Stripe RadarMSM6

  • Mode: Mixed (inline + postM SK2
  • La durata: ~50–300 ms inline
  • Costo: alta (per transazione / % di entrate SSK3 Prezzonte SaaS)
  • Complexità: alta (integrazione + tuning PSK2 ops)

Percezione profonda, ma lenta e costosa ... usata in modo raccoglitore


7. Fingerprinting Device FingerprintJS, ThreatMetrix

  • Mode: Attivo (cliente + inline)
  • La durata: ~10–100 ms
  • Costo: medio → alto (per richiestaM SK2pricing sessioni)
  • Complexità: alta (privacyM SK1 evasione, integrazione )

Identità-heavy, viene con equipaggiamento compatibile e costoso


8. SIEM / Osservabilità SplunkM SK3 Datadog, ElasticaMST5 SentinelMst6

  • Mode: Pubblico
  • La durata: secondi → minuti
  • Costo: Un'ingestione di dati molto alta ( è il killer
  • Complexità: Molto alto (questioniM SK1allarme , manutenzione)

Layere di visibilità...economico ma necessario


9. Adesivo personalizzato / logica dei bordi / lambdas

  • Mode: Miscellato
  • La durata: varia.
  • Costo: nascosto ma reale (dev tempo + infra)
  • Complexità: elevata nel tempo.

La stratagemma " dovevamo riparare le lacune "


Il grande problema.

Guardate quella lista contro la scala.. Ogni categoria ha bisogno di UA / IP per rimanere identificabile, o ha bisogno della configurazione manuale per ogni punto di fine per evitare il blocco 'legitimaMSC4 trafficoM SK5 loroMSSK6 sono in fretta,; se ogni richiesta passa attraverso questa catena, che è un'enorme parte del vostro tempo impiegato a processare le richieste invece di rispondere ad esse.. E non importa quanto spendete,, dopo un certo punto che avete vinto,M SK11 non bloccate il livello,MST12 i robot e voi,Mst13 spendrete più di quanto risparmiate.MST14

Il mercato copre il MOST delle basi per i bot ai livelli 1–3. Non c'è una risposta a livello '

Soluzione potenziale: inferenza comportamentale

In precedenti articoli io' ho scritto di Inferenza comportamentale sistemi. Sono un CHEAT che è diventata una caratteristica.

Single sensori ' ' sono facili da bypassare ora. L'unica costante a livello di attacchi 4-5 è come ingannano?; header rotantiM SK1 IPs, UAsMSC3 timingMNK4 endpoints . Ogni singolo sensore può essere bypassatoMST6 Combinare sensori aumenta la sensibilità MST7 cattura più robotM ST8 ma nei sistemi statici aumenta anche i falsi positiviMst9 perché se un singolo gettitore è sufficiente per bloccareMSt10 ogni sensore aggiunto è un altro modo di sbagliare il fuocoM st11

La deduzione comportamentale fa tre cose: Profili -> caratterizzare -> Ricordate.. QuelloM SK1 è questo; che sia il lucidRAG o lo StyloBot . Nel Stylobot quello che viene ricordato è un comportamento. il vettore.; che ' è quello di un cliente Il comportamento. diventa. Comportamento della notaM SK1 Non identità.

Per StyloBot siete una proiezione su uno spazio vectorale dimensionale 130+

StyloBot

StyloBot è un motore di inferenza comportamentale applicato al traffico web. Usa un grande spazio vettore per caratterizzare le richieste web e identificare l'automazione contro gli umani.

È più simile a un sistema di fusione sensoriale che ad un motore regolare. I rilevatori non prendono decisioni. i segnali.. I segnali sono il sistemaM SK1 I rilevatori sono solo i produttori.

Come si differenzia dal mercato?

I leader di mercato condividono una delle due forme: ; o si affidano a semplici regole statiche, (, aggiornate costantemente, ,, come i feed OWASP,), oppure analizzano TONS del traffico reale e hanno bisogno di un SaaS per vivere in ..

StyloBot ha lo scopo di creare un modello di distribuzione di Fail2Ban (run an exeM SK2 point at upstream ) with the power of the enterprise stacksMSC4 Sta scaricando liste di agenti d'utenteMSSK5 CVEsMST6 sfruttaMSL7 e altri indicatori di compromesso per arricchire la detezioneMSP8 ma questi sono uno dei fattori nella decisioneMSV9 mai il giudizio da soliMSS10

sotto il cappotto StyloBot fa funzionare ~49 'contributori'; piccoli bit di codice focalizzati che assomigliano a questo

using Microsoft.AspNetCore.Http;
using Mostlylucid.BotDetection.Models;

namespace Mostlylucid.BotDetection.Detectors;

/// <summary>
///     Execution stage for detectors. Detectors in the same stage run in parallel.
///     Higher stages wait for lower stages to complete.
/// </summary>

public enum DetectorStage
{
    /// <summary>
    ///     Raw signal extraction (UA, headers, IP, client-side).
    ///     No dependencies on other detectors.
    /// </summary>

    RawSignals = 0,

    /// <summary>
    ///     Behavioral analysis that may depend on raw signals.
    ///     Runs after Stage 0 completes.
    /// </summary>

    Behavioral = 1,

    /// <summary>
    ///     Meta-analysis layers (inconsistency detection, risk assessment).
    ///     Reads signals from stages 0 and 1.
    /// </summary>

    MetaAnalysis = 2,

    /// <summary>
    ///     AI/ML-based detection that can use all prior signals.
    ///     Runs last, can learn from all other signals.
    /// </summary>

    Intelligence = 3
}

/// <summary>
///     Interface for bot detection strategies
/// </summary>

public interface IDetector
{
    /// <summary>
    ///     Name of the detector
    /// </summary>

    string Name { get; }

    /// <summary>
    ///     Execution stage for this detector.
    ///     Detectors in the same stage run in parallel.
    ///     Higher stages wait for lower stages to complete.
    /// </summary>

    DetectorStage Stage => DetectorStage.RawSignals;

    /// <summary>
    ///     Analyze an HTTP request for bot characteristics.
    ///     Legacy method - prefer DetectAsync with DetectionContext.
    /// </summary>

    /// <param name="context">HTTP context</param>
    /// <param name="cancellationToken">Cancellation token</param>
    /// <returns>Detection result with confidence score and reasons</returns>
    Task<DetectorResult> DetectAsync(HttpContext context, CancellationToken cancellationToken = default);

    /// <summary>
    ///     Analyze an HTTP request for bot characteristics using shared context.
    ///     Detectors should read signals from prior stages and write their own signals.
    /// </summary>

    /// <param name="detectionContext">Shared detection context with signal bus</param>
    /// <returns>Detection result with confidence score and reasons</returns>
    Task<DetectorResult> DetectAsync(DetectionContext detectionContext)
    {
        // Default implementation for backward compatibility
        return DetectAsync(detectionContext.HttpContext, detectionContext.CancellationToken);
    }
}

/// <summary>
///     Result from an individual detector
/// </summary>

public class DetectorResult
{
    /// <summary>
    ///     Confidence score from this detector (0.0 to 1.0)
    /// </summary>

    public double Confidence { get; set; }

    /// <summary>
    ///     Reasons found by this detector
    /// </summary>

    public List<DetectionReason> Reasons { get; set; } = new();

    /// <summary>
    ///     Bot type if identified
    /// </summary>

    public BotType? BotType { get; set; }

    /// <summary>
    ///     Bot name if known
    /// </summary>

    public string? BotName { get; set; }
}

Ogni rilevatore dichiara cos'è, cosa dipende daM SK1 e cosa restituisce.

NOTA: Questo è un concetto centrale. StyloBot è un sistema grandioso con concetti MINIMALIM SK2 l'aggiunta di rilevatori è SIMPLE .

Quell'ordine delle fasi è la disciplina. Stazione 0 va in parallelo e scrive segnaliM SK2 Stazia 1+ legge ciò che è arrivato prima invece di riMSC4 estrarre dalla richiesta bruttaMNK5 La maggior parte delle richieste non passa mai oltre la fase SNK6

Usando il mio mostlylucid.Framework Efemerale (ciò su. Costruire una biblioteca di esecuzione temporale riutilizzabile e Signali ephemeri - trasformare gli atomi in una rete di rilevamentoI rilevatori emetteno quello che io chiamo segnali ''; Piccole stringhe come queste. ua.score=0.75 che agiscono come metadati per la richiesta E l'archiviazione / dati diagnostici. Il codice LLM ( e il sistema stessoM SK3 usa questi segnali per identificare le efficienze

A parte: Ephemeral dà anche a StyloBot LFU / slidingM SK2window processing ; scarica le richieste umane mantenendo una finestra così che se un Il futuro. la richiesta attraversa un limite di bot possiamo guardare indietro e riprocessare quelli più antichi per trovare degli indizi. quel meccanismo merita il proprio posto; per ora lo sappiamo solo ' perché non costa nulla nel stato stabile

I rilevatori 49 sono decisioni 't 49.

Il StyloBot ha dei rilevatori 49 . Raremente funziona più di 5-7 per richiesta. Non sono 't M49 vere vere giudizi indipendentiM SK6 ne sono 're R49 modi per osservare lo stesso comportamento sottostanteMSC9 ciascuno dei quali contribuisce alla creazione di un singolo modello comportamentale |.

Il 49 è la CAPABILItà; usa solo quello di cui ha bisognoM SK2

La via veloce (lo comune caso). 5-7 SUPER veloce (sub-millisecondi) rilevatori iniziali e imprimanti fingerprintsM SK4 Da quell'impronta digitale può decidere quale tipo di persona siete E quali saranno le vostre prossime richieste ( contenutoMSC6 percorso delle risorseMST7 Poi predice la prossima richiestaMst8 si confronta con quello che arriva realmenteM st9 e si espande solo se la forma si divergeMstr10 \Mst11\μs fine alla fine\Mstr12\ Questo è ciò che la maggior parte del traffico umano vede maiMt13\

Via lenta (il caso interessante). Crucialmente, il percorso lento va fuori dalla filiera della richiesta.. Il vostro utente' la risposta va fuori con il rapido - il verdetto del percorsoM SK3 il percorso lento è un arricchimento per quello che succede dopoMST4 non c'è latenza su questa richiestaMst5

Si attiva quando il percorso veloce è ambiguo (il segnale si contraddiziona l'uno con l'altro , la forma non corrisponde a nulla che abbiamo vistoM SK3la fiducia si trova nella zona morta) o quando la richiesta sembra nuovaMSC6un nuovo modello di attaccoMST7 una nuova sonda CVEMSSK8 un LLMMSP9 uno scrappere guidato che prova qualcosa che non abbiamo ancoraMSM10non ha ancora le impronte digitaliMSV11 Quando lo faMSS12 il StyloBot apre la bottigliaMISS13 Tutti i rilevatori MSS14 funzionanoM SS15 La fase dell'intelligenza consulta un LLS che prende il pacchetto completo del segnale e contribuisce ad un'altra dimensione della risoluzioneMMS16 lo schemaMTS17 la combinazione con gli indizi della minacciaMVS18 il ragionamento sull'intenzione della richiestaMWS19 l'osservazione delle cose che l'euristica non èMHS20 non è ancora formata per essere usataMJS21

Ci sono due opzioni di escalazione:

  • Escalazione in linea (sta fuori dal thread della richiesta; funziona sullo sfondo ma scrive un verdetto prima del successiva richiesta dello stesso cliente lands). Benissimo per i brevi flussi dove volete che il prossimo clic sia già classificato.
  • Escalazione offline (batchedM SK1 funziona su un lavoratore; il verdicto apparisce in secondi -to- pochi minuti dopo e aggiorna il gruppo / repertorio di reputazioneMSC6 ottimo per il lungo periodoMST7 arricchimento della codaMst8 revisioni periodiciMSST9 e i casi in cui voiMSS10 preferireste non pagare nulla sulla strada caldaM SS11

In ogni caso, la richiesta che ha causato l'escalazione ha già risposto. Non c'è nessun scenario in cui il percorso lento aggiunga millisecondi ad un utente

Quello' è l'affare: paga microsecondi quando puoiM SK2 paga millisecondi dove devi , mai pagare entrambiMST4 e mai pagarli sullo utenteMSC5 l'orologioMSV6 Il percorso lento è raro dal design MSSK7 tipicamente <1% del trafficoMSM9 ma è SSM10 in cui il StyloBot guadagna la sua sopravvivenza contro i tassi di robot adattatori di primaMSS12 quelli che L'autorità del governo. scivolare oltre ogni tubo fisso. Ogni sporco-verdetto di percorso restituisce il nuovo rapidoM SK2 segnale di percorso , così la prossima volta che i rilevatori economici catturano quello che scoprono quelli costosiMSC4 La meccanica completa di quel circuito di riscontro |(drift | -reputazione modellata contro le ancraze archetiche |, l'intera cella del verdetto per le impronte digitali |R, il Skip |M/ |l'inferimento |L/ |la Miss | L/ |La porta dell'osservatore che decide se il tubo funge bene o meno |P) | sono ricoperte da Imparare a diventare più veloce.

L'intero gruppo di strati (li vedete tutti su una richiesta di percorso lenta-che ha veramente bisogno di ogni angoloM SK2

Layer Detettori Cosa cattura S
Identità SignatureM SK1 Correlazione delle sequenze da testa, Proporitività Rotazione dell'UAMSC4 fattori di identitàMNK5 schemi temporali SNK6
Protocollo TLS (JA3/JA≥4), TCPM SK4IP (pMska6fMske7 HTTPMsek8 HTTP/3, TransportiMSC10 StreamAbuse MSC11 Fingerprint Spoofed browserMST12 Inconsistenze del protocollo SMST13
Il comportamento Waveform, SessionVectorM SK2 AdvancedBehavioralMST3 CacheBehaviorM ST4 CookieBehavioM st5 ResourceWaterfallMst6 ContentSequence MST7 Timing patternsMSST8 Markov chainM SST9 missing assetsMSS10 pageM SS11load sequence divergence SSS12
Il contenuto UserAgentM SK1 Header, AiScraper , HaxxorMST4 SecurityToolMSC5 VersionAge Bot notiMS, carico d'attaccamento di attacchiMSL8 versioni browser impossibili SSL9
La rete IPM SK1 GeoChange, ResponseBehaviorMSC3 MultiLayerCorrelationMST4 CveProbe MST5 Datacenter IPsM ST6 Impossible travelMst7 CVE scanningM st8 crossMSt9layer mismatches SST10
Intelligenza Reputazione FastPath, Pregiudizi di reputazioneM SK2 Tempo di riputazioneMSL3 ClustereM SL4 SimilaritàMsl5 Intenzione MSL6 Reputazione storicaMSR7 Clusteramento a LeidenMLS8 Simultaneità HNSWMKL9 punteggio delle minacce MSSL10
Fraude pubblicitaria ClickFraud, PiiQueryString
L'IA Heuristico, HeuristicoLatoM SK2 LLM CSK4Modello di funzionalità SSK5msMSC6 LLS opzionale per casi ambigui
Il cliente ClientSideM SK1 FingerprintApproval, ChallengeVerification Probe di timing JSMSC4 Detezione senza testaMST5 sfide per l'emissione dei pollici PES6

La strada veloce contro la strada lenta (la strada lenta è fuori dal thread della richiesta)

E se il comportamento del cliente fosse un vettore?

Con i rilevatori 49 e centinaia di segnali abbiamo un sacco di metadati su ogni cliente. Positione in uno spazio dimensionale di 130+

Quello che il pannello mostra è un la proiezione. (Wikipedia) di quel spazio vectore sottostante , si è collassato su sette assi: La reteMSC3 LocaleM SK4 HeadersMST5 strumentoMS, TransportiMSV7 SessionMSP8 CalitàM SV9 Un'immagine di un'impronta digitale che gli esseri umani possono realmente leggereMSS12

Signature umana su stylobot.net: M SK2 probabilità di botMSC3 | 100% fiduciaMST5 radar verde con larghe braccia di punta e strumentiMst6 interdizione dell'impronta digitale vuotaMSST7 indicatore senza testa pulito

I bot sono forme.

I vostri robot non sono un mucchio di numeri.

Gli esseri umani sono rumorosi ma coerenti nella struttura.. I bot sono coerenti, ma sbagliata nella struttura..

Qui'è la stessa proiezione per un robot dichiarato registrato contro questo sito:

MJ12signatura di bot su stylobot.netM SK2 100% probabilità di botMST4 |MST5 fiduciaMst6 tasso di politica del GoodBotM ST7limitM st8 ricercaMSt9 forma di radar rossaMS ST10 profilo di rischio molto alto

Due clienti, gli stessi sette assiM SK1 due forme diverse. Il risultato cambia colore da verde a rossoMSC3 Il profilo di rischio cambia dall'ignoto al molto alto . I campi delle impronte digitali sotto MSL5TLSMST6 il protocollo HTTPMSR7 l'indicatore senza testaMSSK8 si riempiono di valori non-- pulitiMSP10 il risultato non è una sola rottura del segnaleMSV12 Ma è la forma interaMSS14

Quello che importa è se la proiezione assomiglia ad un essere umano o a qualcosa che finge di essere uno.

Combinate questo con il tracciamento di tutte le sessioni (il sistema raccoglie ZERO PII). Una sola sessione potrebbe sembrare totalmente umana essere. una registrazione di uno). comunque ... sensibilità in tutto il tempo, alla ricerca di cadenze automatizzateM SK3 persino le impronte digitali umane che vengono usate come robot più tardiMSC4 è dove la forma li dà veramente viaMST5

Clustere di bot (Situato sopra i vettori)

Una volta che tutto ha una forma, i robot smetteno di nascondersi l'un dall'altro.

StyloBot funziona Detezione della comunità di Leiden su uno spazio vectorale vivo. Questo trucco è preso in prestito dal mio lavoro GraphRAG. GraphRAG: Perché la ricerca dei vettori si rompe al livello del corpus e GraphRAG Part 2: Minimum Viable Graph RAG tu'hai già visto questo modello preciso. Qui si costruisce. comunità di significato. sopra i frammenti di documento così che una domanda possa estrarre un'intera idea connessa invece dei frammenti non connessi. Qui fa il lavoro strutturalmente identico. comportamentale. vectori; comunità di clienti che si muovono in modo identicoM SK1 Lo stesso algoritmo, lo stesso punto di vista , un dominio diversoMST4 Una famiglia di bot è solo una comunità nel grafico MST5 un tema GraphRAG ha la stessa forma sul testoMst6

Due preoccupazioni che meritano di essere affrontate se: Leiden sta rallentando con l'aumento di |VM SK2 e |E|? Sì, questo è il motivo per cui l'input non è M SK1tutta la richiesta mai vista." È ' il cachingo di segnature calde circostante. SignatureCacheSize, predefinito LowMemory predefinito) più una strata centroide compressa per la coda lunga. M SK2V | è configurabileMSC4distrettaMNK5 |E~| è HNSWMRK8districta da M i vicini per un nodo. La disciplina di piegatura che rende tale lavoro è coperta da Trovare e riparare la crescita senza limiti nei servizi NET Long-Running .. Non collapsa la cosina a dimensioni 130 ?? Lo fa in forma ingenua. StyloBot lo fa in due modi. La somiglianza HNSW è approssimata dal design M SK2 regolata tramite M e ef_construct), e il motore funziona in termini di Si sposta da un'ancora archetica imparata. piuttosto che tutti-para la distanza nello spazio grezzo, quindi la domanda è sempre "quanto lontano si è spostato questo cliente dal suo precedenteM SK3 invece di MSC4dove c'è questo in 130dMST6 La proiezione radar P7sette assiMSP8 è per gli esseri umaniMSR9 il motore non si aggrega mai sul radarMSL10

Bot che condividono un'origine (la stessa scatola di attrezzi,l'unico operatoreM SK2la stesso'operazione di scarico,)terrano nello stesso quartiere anche quando'hanno rotto i dati IPMSC5headerMST6impronte digitali e timingMSST7Non erano coordonati per sembrare uguali,MST8non sono coordone per sembrarsi uguali.MST10sembrano uguali perché sono ugualiMST11in strutturaMST12

Questo dà a StyloBot due superpotenze gratis:

  • Una nuova richiesta riceve il verdetto del suo gruppo. Primo-everM SK1bot visto da un operatore conosciuto? Già all'interno di una comunità ostile alla sua arrivo . Niente caldoMSL4upMLS5 nessun periodo di apprendimentoMsl6 MDSL7Questa è l'entitàM SL8family fallback nel caciccio del verdettoMSR9 vedi Imparare a diventare più veloce per capire come un'impronta digitale ruotata erediti la sua famiglia' il verdetto.)
  • Novel attacks make their own cluster. Quando si presenta qualcosa di veramente nuovo, non va da nessuna parte. da sé stesso. è il segnale. Il percorso lento va avanti, la fase LLM lo etichetta , e da allora l'intero gruppo viene riconosciuto sul percorso veloceM SK3

Questo è anche il punto in cui la ricerca di somiglianza (HNSW su gli stessi vettori ) guadagna la sua permanenza ; SSK3 mi mostra le cose più vicine a questa richiesta proprio ora

(Idea dell'interfaccia utente futura mostrata, non è attualmente implementata )

Le comunità di Leiden sui vettori comportamentali

Implicazioni Odd

Notate cosa ho detto io:'T direi. non l'ho fattoM SK2non direi ' una volta montatoMSL4 o MLS5quando correttamente configurato MSL6 perché questoMSC7il StyloBotMSR8 il segretoMSSL9 ha un buon set predefinito ma Impara..

Mentre fa funzionare i profili. il vostro traffico. e capisce. i vostri utenti.. Non è inquietante; calcola quali schemi di richiestaM SK2 punti finali , e quali sono i tempi per l'uomo rispetto al traffico automatizzatoMSC4

Potete quindi decidere, o lasciare che il sistema si prenda cura di (staggere una soglia per i robot, diciamo 0.8 per la maggior parte e МSK3 per i punti di fine sicuriM SK4 I predefinimenti del veicolo sono buoniMSC5 i predefinitivi che emergono dopo qualche ora nel vostro traffico sono miglioriMNK6

Conclusione

StyloBot è ora in diretta. AutoM SK1 Detezione di bot gestita. Open sourceMSC3 MST4 DetettoriMSSK5 Tracce decisionali completeMSP6 PrivacyMSL7 consapevoliMSV8 AI senza LLM nel percorso caldoMSR9 Il motore di rilevamentoMSS10 il pannello di controlloM SS11 i pacchetti NuGetM SSK12 l'exécuzione della passera d'ingressoMESC13 tutto viene spedito subito e gratis per funzionare su un'infrastruttura personaleMISSC14 Prendete la fonte a github.comM SK1scottgal/stylobot o brew install scottgal/stylobot/stylobot e la puntate verso il vostro upstream.

Controlli commerciali sono in cima: configurazione dal vivo senza reload, pannello centrale della flottaM SK2 persistenza , fornitori commerciali di LLMMST4 MS$100/mo per dominioMSV6 MSV7test di giornoM SV8 senza carte di creditoMsv9 apertoM Sv10 progetti di fonte e di beneficenza ricevono una licenza gratuitaMsl11 Ci contattate.. Il motore centrale rimane libero, sul vostro infra-impulso , per sempreM SK3

Il prossimo nella serie di release: Comportamento-Aware ASP.NET UI, che prende la classificazione comportamentale descritta qui e la espone a RazorM SK1 i moduli, e alla politica del controllerMSC3 Dopodiché , Trovare e riparare la crescita senza limiti nei servizi NET Long-Running . copre il ritocco di affidabilità che permette al motore di sedersi su un Pi per sempre senza intervento dell'operatore, con la strata di vetore StyloBot come esempio di lavoro.

Se volete la guida tecnica più vecchia- fino a questa serie di release, Parte 1, Parte 2, e Parte 3 Coprire il perché, l'architettura, e i dueM SK2line dropMSC3inMSL4 Le fondamenta di deduzione comportamentale vivono in Inferenza comportamentale, la tubatura del segnale in Signali efemerali, e la linea di raggruppamento Leiden / in GraphRAG e GraphRAG Part 2.

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.