Esettanulmány · notabot

AI/ML engineering a gyakorlatban: a notabot botdetektáló rendszer.

A notabot egy privacy-respecting, AI-alapú botdetektáló rendszer: saját ONNX inference, kalibrált döntési réteg és statisztikailag igazolt küszöbértékek. Az alábbi 25 technikai komponens áttekintése megmutatja, mit jelent a gyakorlatban az, hogy az SRCABC saját ML rendszereket épít, nem csak API-kat hív.

Inference és architektúra

Native ONNX Inference Pool

Mi az

Egy korlátozott méretű medence, amely párhuzamosan futtatja a neurális hálózatot a BEAM virtuális gépen. A kérések ebből a medencéből kapnak helyet, futnak, majd visszaadják az eredményüket.

Miért jó

A BEAM kiváló a párhuzamos kezelésre, de egy ONNX modell futtatása blokkolhatja a szálat. A pool biztosítja, hogy egyszerre 10 inference fusson, a többi kérés pedig várakozik sorban. A telemetria figyeli a várakozási időt és a sor mélységét.

Temperature-Softmax Route Classifier

Mi az

Egy neurális háló, amely eldönti, hogy a felhasználó milyen típusú CAPTCHA-t csinál. A temperature softmax egy trükk, amely a kimeneti valószínűségeket 'megpuhítja' — a 2.0 hőmérséklet azt jelenti, hogy a modell kevésbé lesz biztos önmagában.

Miért jó

Ha a modell túl magabiztos, egy kis eltérés is rossz döntést eredményezhet. A melegítés miatt a valószínűségek lágyabbak, így a későbbi döntési réteg jobban tud kezelni a bizonytalan eseteket.

Soft Fusion Réteg

Mi az

Egy réteg, amely a route classifier valószínűségeit és a specialist modellek kimenetét egyetlen bot-valószínűséggé kombinálja.

Miért jó

Ahelyett, hogy egyetlen modell döntene, a rendszer több szakértő modell eredményét kombinálja. A saturation threshold (0.01) azt figyeli, ha a modell túl közel van a 0-hoz vagy 1-hez — ilyenkor 0.5-ös alapértelmezett értéket ad vissza.

WASM Feature Extraction

Mi az

Egy technológia, amely a felhasználó böngészőjében fut, és a mozgási adatokat egy 51 dimenziós jelvektorba alakítja. A vektor titkosítva kerül a szerverre.

Miért jó

A böngészőben történik a számítás, így a nyers mozgási adat soha nem hagyja el a felhasználó számítógépét. Ez adatvédelmet biztosít és csökkenti a szerver terhelését.

Feature Spec V2 Contract

Mi az

Egy szerződés, amely definiálja az 51 jellemző nevét, csoportját és indexét. A schema_version: 4 a negyedik verziót jelzi.

Miért jó

A jellemzők csoportosítása (shared: 14, timing: 5, circle: 13, zigzag: 13, legacy: 6) lehetővé teszi, hogy a modell csak a releváns jellemzőket használja.

Baseline-Relative Scoring

Mi az

A rendszer nem abszolút értékeket hasonlít össze, hanem egy humán alapvonalhoz képest mennyire eltér a viselkedés. Az alapvonal a felhasználók mediánjából és MAD-ából számolódik.

Miért jó

Az emberek változóak — valaki gyorsan mozgatja az egeret, valaki lassan. A baseline-relatív pontozás minden jelre külön számol, így a rendszer 'normális emberi viselkedést' vár el.

Kalibráció és statisztikai bizonyíték

Operációs Pont Választó Rendszer

Mi az

Egy JSON-fájl, amely statisztikai kalibráció alapján definiálja, hogy a CAPTCHA milyen küszöbértéknél enged át egy látogatót, és milyen küszöbértéknél blokkolja.

Miért jó

Ahelyett, hogy a fejlesztők fix értéket égetnének be a kódba, egy kalibrációs folyamat választja ki a küszöböt. A fájl tartalmazza a bizonyítékokat: 885 bot-mintából 8 téves döntés történt, a 95%-os konfidencia-szintű felső határ 0.01625 — ami az 1%-os maximális bot-átlépte alatt van.

Platt + Isotonic Kalibráció

Mi az

Egy utófeldolgozási lépés, amely a modell nyers kimenetét valódi valószínűséggé alakítja. A Platt-scaling egy logisztikus regresszió, az isotonic regression egy monoton, darabonként lineáris illesztés.

Miért jó

Egy kalibrálatlan modell 0.9-es értéket adhat, de valójában csak 70% a valószínűség. Kalibráció után a 0.9 azt jelenti: 100-ból 90-szer bot. A MAX_CALIBRATED_SATURATION_RATE biztosítja, hogy a modell ne szaturálódjon.

Binomial Confidence Evidence

Mi az

Egy statisztikai módszer, amely azt mondja meg: 'biztosan tudjuk-e, hogy a bot-átlépte kisebb, mint 1%'. A Clopper-Pearson módszer egy pontos egyoldali teszt.

Miért jó

A release döntés nem egy egyszerű átlagolás. Ha 885 bot-mintából 8 tört át, az átlag 0.9% — de a felső határ 0.01625, ami még mindig a cél alatt van.

Calibration V2 Evidence

Mi az

Egy bizonyíték, amely a kalibráció minőségét mutatja: bot-átlépte konfidencia, forrás-csoportok elemzése, terminális blokk statisztika.

Miért jó

A bot_allow_confidence azt mutatja, hogy a bot-átlépte (0.9%) a 95%-os konfidencia-szinten milyen felső határt ad (0.01625). A source_group_any_allow szigorúbb.

Operating Point Selection

Mi az

Egy kalibrációs folyamat, amely a human és bot minták alapján választja ki a legjobb küszöböt. A predicted_route_top1 mindig a legvalószínűbb route küszöbét használja.

Miért jó

A blend csak akkor engedélyezett, ha a kalibráció már lefutott — így nem lehet nem kalibrált küszöböt használni.

D2/D3 Evaluation Atlas

Mi az

Egy folyamat, amely a modell teljesítményét méri a kalibrációs (D2) és validációs (D3) adathalmazokon. Az atlas a hibák mintázatát ábrázolja.

Miért jó

A sima accuracy nem elég — egy modell lehet 99%-os, de pont a nehezen felismerhető botokat hagyja át. Az atlas részletesen mutatja, mely típusú botokon gyenge a modell.

Multi-Seed Candidate Selection

Mi az

A tanítás több kezdőértékkel fut, és a legjobb eredményt adó seed-et választjuk. A candidate egy potenciális modell, amely még nem éles.

Miért jó

A kezdőérték befolyásolhatja az eredményt. A multi-seed megközelítés csökkenti a szerencse szerepét — ha több seed-del is jó az eredmény, akkor valószínűleg a modell valóban jó.

Hebbian Tanulási Réteg

Mi az

Egy biológiai inspirációjú tanulási szabály: az idegsejtek, amelyek együtt tüzelnek, együtt is kapcsolódnak. A kódban ez egy Oja-szabályú súlyfrissítés.

Miért jó

A réteg képes online tanulásra — nem kell újra tanítani a modellt, hanem a súlyok folyamatosan frissülnek. A decay_rate (0.001) biztosítja, hogy a régi információk lassan elfelejtésre kerüljenek.

Döntési réteg és fail-closed működés

Decision Policy V3

Mi az

Egy központosított döntési rendszer, amely a humanity score-ot döntéssé alakítja: allow, challenge vagy block.

Miért jó

Ahelyett, hogy több helyen külön-külön döntenénk, egy modulban él a logika. A behavioral_protection_level lehetővé teszi, hogy a felhasználó beállítsa a védelmi szintet.

Fail-Closed Model Registry

Mi az

Egy komponens, amely a modell artifactokat tölti be az induláskor. Ha valami hiba történik, a rendszer nem enged át senkit.

Miért jó

A CAPTCHA-ban a biztonság elsődleges — ha a modell sérül vagy hiányzik, a rendszer nem 'megbocsát'. A registry négy modellt tölt be, mindegyiket validálva.

Model Manifest Validation

Mi az

Egy JSON-fájl, amely tartalmazza a modell artifactok nevét és SHA-256 hash-ét. A validáció ellenőrzi, hogy a fájlok nem módosultak.

Miért jó

Ha egy bot módosítja az ONNX fájlt, a modell rossz döntéseket hozhat. A manifest validáció az induláskor ellenőrzi a fájlokat.

Trust Evaluator with Step-Up Policy

Mi az

Egy rendszer, amely a felhasználó bizalmi szintjét ellenőrzi minden védett kérésnél. Ha a bizalom túl alacsony, step-up policy lép életbe — pl. új CAPTCHA vagy második faktoros hitelesítés.

Miért jó

Ahelyett, hogy minden kérésnél CAPTCHA-t kellene megoldani, a rendszer egy bizalmi munkamenetet hoz létre. Ha a felhasználói viszony stabil, a további kérések automatikusan átmennek.

Route-Margin Gating

Mi az

Ha a route classifier két route között ingadozik (pl. 51% kör, 49% cikkcakk), a margin csak 2%. A gating egy minimum különbséget vár el (alapértelmezés: 15%), és ha a margin ennél kisebb, a rendszer nem dönt.

Miért jó

A top1 routolásnál egy apró zaj is megváltoztathatja a döntést. Ha a margin túl kicsi, a rendszer óvatosabb marad. Ez megakadályozza, hogy két majdnem azonos gestúra teljesen különböző eredményt kapjon.

Saturation-Aware OOD Detection

Mi az

Ha a modell kimenete túl közel van a 0-hoz vagy 1-hez, a modell 'biztos' a döntésében, de valójában csak azért, mert ismeretlen a bemenet. Az OOD detection ezt ismeri fel.

Miért jó

Ha egy új típusú bot jelentkezik, a kimenet lehet 0.999 — de nem azért, mert biztosan bot, hanem azért, mert a modell kívül van a saját ismeretein. A detection 0.5-ös alapértelmezett értéket ad vissza.

Drift Detector

Mi az

Egy rendszer, amely összehasonlítja a felhasználó eredeti CAPTCHA-tól származó környezeti adatait (IP-cím, ország, böngésző) a jelenlegi kérésével. Ha túl nagy a változás, drift-et észlel.

Miért jó

Egy botnet gyakran több IP-ről és országból próbálkozik. Ha a felhasználó eredetileg Magyarországról kapott CAPTCHA-t, de most Németországból próbál belépni, a drift detector észleli a változást, és step-up verification-t kér.

Adversarial és replay tesztelés

Adversarial Frontier Tesztelés

Mi az

Egy tesztelési módszer, amely szándékosan elkészített, nehezen felismerhető bot-mintákkal teszteli a modellt. A frontier a modell leggyengébb pontjai, a seal pedig ezek lezárása.

Miért jó

A hagyományos tesztelés csak a múltbeli botokat ismeri. Az adversarial frontier tesztelés olyan botokat is generál, amelyek még nem léteznek, de létezhetnek.

Gesture-Replay Smoke Benchmark

Mi az

Egy teszt, amely ellenőrzi, hogy a rendszer felismeri-e, ha egy bot egy korábbi, rögzített emberi gestúrát visszajátszik.

Miért jó

A replay-támadás egy gyakorlati fenyegetés. A benchmark fail-closed: ha a séma nem egyezik a várt értékkel, a teszt sikertelen.

Gesture Replay Gate Policy

Mi az

Egy szabályrendszer, amely a gesture-replay benchmark eredményeit értékeli. Tartalmazza a konfidencia-módszert, a seed-eket és a minimális párok számát.

Miért jó

A deterministic_cluster_bootstrap_percentile_with_wilson_guard módszer determinisztikus és a Wilson-pontossági guard biztosítja, hogy a fals-pozitív arány ne legyen túl magas.

Process-Signal Paritás

Mi az

Ugyanaz a viselkedési jel-számítási kód fut a Python tanítási környezetben és az Elixir éles üzemben is. A paritás biztosítja, hogy a 17 viselkedési jel pontosan ugyanúgy legyen kiszámolva mindkét oldalon.

Miért jó

A CAPTCHA-ban a konzisztencia kritikus — ha a tanítás mást mér, mint az éles üzem, a modell rossz döntéseket hoz. A parity fixture minden esetet mindhárom route-on rögzít.

Amit ez a rendszer bizonyít

A felsorolt komponensek tervezési döntések: azt dokumentálják, hogyan lett felépítve a rendszer és miért. A rendszer éles üzemben fut; a kinyilatkoztatott mérési eredmények (kalibrációs konfidencia, küszöbérték-bizonyíték) a rendszer saját, publikus dokumentációjából származnak. Ügyfélprojekt-eredményeket ez az oldal nem állít.

Kapcsolódó szolgáltatások