Keystroke dynamics, mouse trajectory R², scroll patterns, touch events, form-fill timing, page-dwell — multi-signal inputs fed into the local scorer and backend scoring pipeline.
Shield pod kapotou.
Technický pohled na to, jak Shield chrání webové vstupy, stávající chat AI, LLM proxy a nástroje MCP: architektura, tok rozhodování, audit a srovnání se WAF / reCAPTCHA.
Ochrana první vrstvy – ne SIEM, ne analytický nástroj.
Shield je aktivní a pasivní ochranná vrstva pro formuláře, přihlášení, placení, nahrávání, chat AI, nástroje a rozhraní API MCP. Ovládací panel zobrazuje rozhodnutí a události, takže můžete vyladit obranu – ne jako průzkumník protokolů. Události jsou provozním signálem, nikoli analytickým inventářem.
Shield je:
- ✓Inline ochrana pro web / e-shop / chat / MCP / backend
- ✓Rozhodnutí o žádosti: allow / monitor / challenge / block
- ✓Podepsaný protokol auditu každého rozhodnutí s evidencí manipulace
- ✓Mobile native SDK — iOS + Android — na roadmapě (Sprint M)
Shield není:
- ×SIEM nebo log aggregator
- ×Náhrada za váš WAF nebo CDN – sedí o vrstvu hlouběji
- ×Nástroj pro reporting / business-analytics
- ×Certifikovaný produkt shody – kontroly jsou v souladu s rámcem, audit je váš vlastní
Tři ochranné cesty podle toho, co potřebujete chránit.
Shield může sedět před vaším webem, chatem AI nebo nástroji MCP. Každá cesta má jasný rozhodovací bod a auditovatelný výsledek.
Web a formuláře
Widget JS a backend SDK chrání kontaktní formuláře, přihlášení, placení a nahrávání. Shromažďují bezpečnostní signály, připojují token HMAC a umožňují povolení / výzvu / blokování, než požadavek dosáhne citlivé logiky.
Chat AI a proxy LLM
Výzva a odpověď procházejí firewallem LLM. Shield může anonymizovat citlivá data, blokovat rychlé vkládání, kontrolovat únik systémových instrukcí a pracovat před chatem, který již používáte.
Nástroje, zásady a audit MCP
Volání MCP se vyhodnocují podle schématu, oprávnění a rizika akce. Destruktivní nebo citlivé volání nástrojů může vyžadovat schvalovací bránu. Každé rozhodnutí přistane v protokolu auditu v rozsahu nájemce.
Co zahrnuje Shield vs. WAF vs. CAPTCHA.
Shield nenahrazuje vaši stávající obvodovou ochranu. Sedí o jednu vrstvu hlouběji.
| Schopnost | Shield | WAF | reCAPTCHA / Turniket |
|---|---|---|---|
| Detekce headless botů | Ano – hodnocení více signálů | Částečná (reputace IP) | Ano — na vstupu |
| Rychlá injekce proti LLM | Ano – sémantický firewall | Ne | Ne |
| MCP zneužívání agentů | Ano — policy engine | Ne | Ne |
| Formulář spamu / jednorázového e-mailu | Ano — 5 jazyků | Ne | Částečná |
| Malware scan uploadů | Ano – karanténa | Částečná | Ne |
| Užitečné zatížení vstřikování SQL | Ano — AST validace | Ano — regex | Ne |
| Plnění pověření (distribuováno) | Ano – uzamčení pro jednotlivé účty | Částečné (na IP) | Částečná |
| Protokol auditu evidující neoprávněnou manipulaci | Ano – exportovatelné | Liší se | Ne |
Více než 40 konkrétních schopností v 9 kategoriích.
Kompletní kategorizovaná matice. Přesné prahové hodnoty, váhy signálů a detekční vnitřnosti jsou zákazníkům k dispozici na portálu.
Canvas, WebGL, audio context, font detection, navigator fingerprinting fused into a SHA-256 device hash. Detects headless browsers and anti-detect tools.
Short-lived cache snapshot of device_hash, webgl_renderer, user_agent, timezone, screen_resolution at session start. Sensitive events (login, form submit, checkout) compare the live fingerprint; drift adds significant risk signals respectively.
OpenAI- and Anthropic-compatible base URL. Shield scans every prompt before forwarding and every completion before returning, blocks on policy hit, strips PII / secrets on stream.
Embedding-based detection across many attack categories. "Disregard earlier directives" ≈ "Ignore previous instructions" at cosine similarity. Ollama-local embeddings — zero per-request API cost.
Tool-call interception for Claude / Cursor / IDE agents. JSON Schema validation of arguments, chain-step limit, domain allowlist, explicit approval gates on destructive tools. Inspects every invocation against agent-protection rules before execution.
40+ patterns scanning input + output + tool calls before / after the model runs. Runs alongside the Semantic Firewall for layered defence.
5 tools exposed via MCP: shield_get_stats, shield_get_threats, shield_add_rule, shield_get_events, shield_verify_token. Let your Claude / Cursor agent investigate and act on incidents without leaving the chat.
AST-parsed SQL validation. Blocks UNION, INTO OUTFILE, pg_sleep, information_schema. LIMIT capped. Sensitive columns (password, api_key, ssn) auto-redacted. Query fingerprinting and honeytoken trap tables.
Wallet detection: BTC (P2PKH/Bech32), ETH, SOL, TRX, XRP, LTC, DOGE. BIP-39 seed phrase scanning (12/24 word). Signing prompts (EIP-712). Mining domains blocked. Payment redirect patterns.
Bigram gibberish detection (EN / DE / CS / SK / ES), 100+ disposable email domains, spam patterns (repeated chars, ALL CAPS, URL flood), suspicious name detection. Phishing and bad-content corpus covers 9 languages (see Phishing card). Additive scoring with cluster bonuses.
Multi-layered email + attachment scanner. Detects Slovak/Czech/Polish/German/French/Spanish/Serbian bodies stripped of diacritics (the strongest real-world phishing signal), password-hint social engineering across 9 languages, mainframe-mimicry filenames, and password-protected PDF / Office files. Brand-agnostic cluster catches the same shape with any impersonated company name.
check_upload() accepts form_fields. When a file upload is accompanied by form data (title, description, name, message), Content Quality Scoring runs on those fields too. A clean PDF with gibberish metadata still gets rejected at high-confidence score.
Every file passes a quarantine gate — extension allowlist, magic-byte MIME sniffing, Office macro detection, PDF JavaScript / Launch / OpenAction, SVG / HTML script injection. Per-tenant max size and extension list.
Python (FastAPI / Django / Flask), Node.js (Express / Next.js), PHP (WordPress / Laravel). Validates X-Shield-Token on every request. No token → 403. HMAC verify is cached with a short-lived cache per (token, path).
3-state breaker (closed / open / half_open) in all three backend SDKs. After consecutive transport errors → OPEN for a brief interval → 1 HALF_OPEN probe. 4xx doesn't trip the breaker. PHP uses APCu for cross-FPM-worker state. No more timeouts on every request during an upstream incident.
Reason → (machine_code, human_hint) map. /shield/verify and all 3 SDK 403 bodies return remediation + remediation_code. Legit false-positive users see "Your session expired — please reload" instead of a silent 403.
Drop-in PHP plugin: auto-injects the widget, ships middleware that validates Shield tokens on /wp-login.php and admin endpoints. Fail-closed by default, configurable.
Multi-dimensional rate limiting: per-IP, per-device, per-endpoint, with progressive escalation. Server-side counters with sliding windows.
IP geolocation via ip-api.com (short-lived cache). Per-site blocked / allowed country lists. Datacenter and proxy / Tor score modifiers. Page-load hard block with access-denied overlay before widget initialises.
Widget prevents form submission at high-confidence score. Red overlay: "Blocked by Corpilus Shield". Server-signed HMAC-SHA256 tokens auto-attached to fetch() via interceptor.
278 compiled detection patterns scanned automatically on every event — covers all OWASP Top 10 2025 categories. Payload-level inspection happens before scoring.
AI analyzér analyses events continuously. RAG context grounded in a curated security knowledge base. Auto-creates threats and rules from real observations.
Pre-built threat-intel context (mini-CAG). Bot signatures, attack patterns, OWASP samples baked in — new sites are protected from the first page view.
Shield's Security Knowledge collection ships with curated docs (OWASP Top 10, bot detection, incident response). Admins can upload their own company playbooks, post-mortem reports, or domain-specific threat intel. Every upload runs through a multi-layer scan. Clean docs land as trust_state='pending' until an admin explicitly promotes them to 'active'. Only active docs reach the AI analyzer's RAG context.
Anonymised pattern sharing — IPs reduced to /24, PII stripped, maturity gating (experimental → candidate → confirmed). One tenant's confirmed attacker becomes everyone's known threat within minutes.
Widget MutationObserver snapshots all <script> tags at boot. Any subsequently injected script is reported as script_integrity_violation telemetry with src, external/same-origin, content length, stable hash. Capped per page-load. Tenant allowlist for trusted CDNs.
Redis counter per SHA-256(account_id). Each failure over the cap adds significant risk score. A distributed attack that spreads many attempts over thousands of IPs still lands on the same account bucket — the attempt on victim@corp.com triggers challenge regardless of which IP sent it. Counter resets on a successful login.
GET /shield/password/breach-range/{prefix} — client computes SHA-1(password) locally in the browser, sends only the 5-char hex prefix, Shield proxies to api.pwnedpasswords.com and streams back the suffix+count list. Client compares its own suffix locally. Server never sees plaintext OR the full hash.
A/AAAA + MX record check on signup. Fail-open on timeout. Short-lived per-domain cache so rapid signup waves from the same throwaway domain don't re-hammer DNS.
25+ protected brands (Google, Microsoft, Apple, PayPal, Stripe, Meta, LinkedIn, Revolut, SK/CZ banks & insurers). Three-tier detector: 1) normalised exact match via homoglyph map, 2) Levenshtein distance for long brands, 3) brand-substring + decorative suffix (secure/login/support/verify/auth/signin/account/official/help).
Velocity counters per IP and per device. Recent-login requirement: no successful login from this device recently → significant risk signal. Session Continuity: password_change is now in the SENSITIVE event set, so full fingerprint drift blocks immediately. The classic 'attacker grabs session → changes password → locks out user' chain needs to survive all three gates.
Email (HTML), Slack, Discord, generic JSON webhooks. Weekly security report with stats, top threats, block rate. Per-webhook severity gate (low / medium / high / critical).
Every rule change, site config edit, manual block, AI decision is recorded with actor, timestamp, before/after diff. Hash-chained, signed, and exportable as auditor-ready evidence bundle.
HMAC-SHA256 tokens are minted server-side from the per-site secret and returned via /shield/events. The widget never holds the signing secret — a leaked site_key cannot be used to forge valid tokens.
PostgreSQL Row-Level Security forced on all shield_* tables. Each request runs under a tenant-scoped role — no application-layer bypass possible even if the API has a bug.
Tracks attempts per card BIN across rolling windows. Burst patterns consistent with card-testing activate progressive challenge or block. Thresholds are tenant-tunable; defaults are conservative.
When the same PSP-provided card fingerprint appears across multiple devices, sessions or tenants in a short window, attempts are correlated and scored as a coordinated attack. Raw PAN never leaves your PSP.
Tenant-scoped baseline of issuer-country distribution. A sudden concentration of attempts against issuers from a small number of countries — well above baseline — flags probable carding traffic.
Aggregates multiple signals — diverse BIN spread, same device or session, high failure ratio — into a named carding verdict. Upgrades decision severity when confirmed by post-charge PSP feedback.
Slow-burn attacks no longer slip through. Shield watches the whole conversation arc, not just one message at a time. An attacker who chats innocuously for many turns and only then pivots to data extraction or credential phishing is caught at the moment the pattern emerges.
Before your agent runs a tool, Shield asks: is the user's actual intent consistent with calling this tool? A request to summarise a document should not trigger a database export. A travel-booking chat should not be calling a payments tool. Mismatches are gated for review.
Compromised agents and curious LLMs typically scan the environment before acting — listing directories, reading config paths, enumerating environment variables. Shield flags this reconnaissance pattern early, before any data leaves the box.
A single conversation can never quietly burn your whole monthly AI budget. Shield enforces a per-session ceiling on tokens, tool calls and elapsed time. When the cap is reached the session is paused or terminated and the operator is notified.
Shield learns what normal looks like for each user — typical hours, typical actions, typical pace — and quietly flags the day that pattern breaks. A logged-in session that suddenly behaves nothing like the real user is treated as a possible takeover.
Decoy records, files and credentials are planted in places only an attacker would dig. Real users never see them. The moment one is touched, accessed or used, Shield has a high-confidence breach signal with effectively zero false positives.
Attackers hide malicious payloads inside layered encodings — base64, hex, percent-encoding, unicode escapes — to slip past simple string filters. Shield unwraps these layers before scoring, so the underlying attack is matched against the same protections as a plain-text version.
Before any rule, model or scorer update ships, it is run against a continuously growing corpus of real-world attack scenarios. If a release accidentally weakens detection on a known threat shape, the change is blocked at CI — not after a customer is breached.
Every security decision and config change is written to a tamper-evident chain. Edits and deletions are mathematically detectable. Auditors, regulators and incident responders get a trustworthy timeline even in the worst-case scenario where an attacker reaches admin credentials.
When something happens, you do not want to spend hours collecting logs. One click produces an encrypted, time-stamped bundle of the relevant tenant state — events, rules, decisions, recent traffic — ready to hand to your security team, lawyer or regulator.
Shield does not lock you into one AI vendor. Bring your own OpenAI / Anthropic / Google key, point at a dedicated Ollama instance, or run fully local. Set hard cost caps and routing rules. Your data flows only to providers you explicitly approve.
For your highest-risk actions Shield can require a hardware-rooted gesture: Touch ID, Windows Hello, a hardware security key. These are physical-presence checks that an LLM-powered agent or remote attacker cannot solve, no matter how clever the prompt.
For regulated, classified or disconnected environments Shield ships as a self-hosted package with signed release artifacts and a fully offline install path. Nothing has to talk to the public internet, but you still get rule, model and intel updates on your own schedule.
Shield can flag form, message and document submissions that look machine-generated rather than human-typed. Combined with behaviour and timing signals, this gives operators a clear answer to "is this real?" on application forms, CVs, support tickets and reviews.
The widget snapshots fetch, XHR, navigator and userAgent at boot and re-checks periodically. If a browser extension, injected script or third-party tag flips navigator.webdriver, wraps fetch, replaces XHR or mutates navigator descriptors, Shield reports the tampering and can refuse to issue a token. Per-attribute form.action / hidden-input change tracking is roadmap, not wired today.
Every request is checked in O(1) against 48,000+ real-time threat indicators refreshed frequently. No customer setup — platform-funded. Adds score boost on match.
Premium reputation services lookup on suspicious events only. Per-tenant Fernet-encrypted keys; no platform-shared keys, lookups happen on your quota.
All ten 2025 OWASP categories addressed — A01 access control, A02 misconfig, A03 supply chain, A04 crypto, A05 injection, A06 design, A07 auth, A08 integrity, A09 logging, A10 exception handling. Pattern set sourced from OWASP CRS v4, nuclei templates, PayloadsAllTheThings.
Identifies bots from OpenAI, Anthropic, Google-Extended, Perplexity, ByteDance, CommonCrawl, Meta, Apple, Cohere, Mistral, AllenAI, You.com and more. Tenant chooses block / monitor / allow per vendor.
log4j JNDI gadgets (${jndi:ldap://...}), LDAP injection, XML External Entity, MongoDB-style NoSQL operator injection — all blocked at the /shield/events ingest before reaching your backend.
Read-only view of all 278 patterns Shield runs on every request, grouped by category. Customers see exactly what's protecting them — no marketing claims to verify.
Kliknutím na libovolnou kartu rozbalíte úplný popis a model hrozby.
S evidencí manipulace, zřetězením hash, kryptograficky podepsaným.
Protokol auditu je právní a forenzní páteř Shield. Navrženo tak, aby ani kompromitovaný správce nemohl přepsat historii, aniž by to bylo viditelné.
SHA-256 hash chain
Každý záznam auditu nese SHA-256 hash předchozího záznamu plus aktuální kanonizovanou událost. Odstraněním nebo úpravou jakékoli minulé události dojde k porušení všech následných hashů a řetězec odmítne ověření.
Podepisování Ed25519 na nájemce
Každý nájemce má svůj vlastní pár klíčů Ed25519. Veřejný klíč je vystaven pro nezávislé ověření; soukromý klíč podepisuje každý auditní záznam v době zápisu. Uniklý výpis DB nelze zfalšovat bez soukromého klíče.
RFC 3161 časové kotvení
Řetězové hlavy jsou pravidelně ukotveny proti externímu úřadu pro časové razítko RFC 3161. To připojí protokol k absolutnímu času nástěnných hodin a dokazuje, že řetězec existoval v této podobě před časovým razítkem.
DB-role append-only hygiena
Role shield_app má pouze INSERT – UPDATE a DELETE jsou na úrovni PostgreSQL odvolány. Dokonce ani útočník s plnými přihlašovacími údaji pro kontext aplikace nemůže přepisovat řádky; museli by eskalovat na roli superuživatele DB, která je sama auditována na vrstvě platformy.
Ověřte a exportujte koncové body
GET /shield/audit/verify znovu projde hash řetězcem a ověří každý podpis; GET /shield/audit/export streamuje podepsaný archiv JSON oddělený řádky pro interní nebo externí auditory. Oba jsou omezeny na nájemce a sazbou.
Mapování shody
Poskytuje technické důkazy, které běžné bezpečnostní rámce vyžadují (neměnné protokolování, podepsaná integrita, monitorování, zarovnání GDPR čl. 32). Samotný Shield není externě certifikován — export podporuje váš audit, nenahrazuje jej.
Snímek incidentu jedním kliknutím, šifrovaný, mimo web.
Když se něco pokazí, potřebujete neměnný obraz okamžiku. Shield jej vyrobí za méně než minutu a zapečetí, aby jej mohl otevřít pouze váš soukromý klíč.
Co je uvnitř snapshotu
- •Bezpečnostní události (raw + rozhodnutí + kódy příčiny)
- •Řez protokolu auditu s řetězovou hlavou + podpis
- •Aktivní relace a signály na úrovni relace
- •Aktivní pravidla a historie verzí pravidel
- •Mezipaměť informací o hrozbách a nedávné události hrozeb
- •Chráněné weby a jejich konfigurace HMAC
- •Nastavení nájemce a příznaky funkcí
- •Události platformy (nasazení / zálohování / posun)
- •Container metadata (image, verze, host fingerprint)
Hybridní šifrování obálek
Jednorázový datový klíč AES-256-GCM šifruje užitečné zatížení. Datový klíč je zabalen do RSA-OAEP-SHA256 proti veřejnému klíči tenanta. Pouze držitel soukromého klíče může obnovit klíč AES a dešifrovat balíček. Infrastruktura Shield nemůže číst minulé snímky poté, co opustí produkční kontejner.
Skladování a provoz
Nahrání snímků do libovolného obchodu kompatibilního s S3 (AWS, Wasabi, MinIO, on-prem). Volitelný týdenní cron automaticky archivuje nový snímek pro nepřetržitou forenzní připravenost. Cíl MTTR od spouštěče po zapečetěný, nahraný archiv je ~60 sekund.
API surface
POST /shield/forensic/snapshot spustí nový snímek; GET /shield/forensic/snapshots uvádí existující s metadaty, velikostí a zapečetěným stavem. Oba jsou v rozsahu správce a vytvářejí události auditu na úrovni platformy.
Soulad a auditovatelnost bez přehnaných nároků.
Shield poskytuje technické důkazy, protokoly a mapování. Formální certifikace nebo zákaznická atestace závisí na konkrétním rozsahu nasazení.
Auditorský záznam připravený pro auditora
Shield vytváří protokoly auditu, důvody rozhodnutí a exporty, které mohou podpořit kontrolu zabezpečení a dodržování předpisů. Formální certifikace nebo atestace jsou potvrzovány individuálně podle rozsahu zákazníka.
Podpora důkazů auditora
Technické kontroly lze namapovat na rámec vašeho interního auditu. Samotný Shield není externě certifikován.
MITRE ATT&CK
Detekce mohou být mapovány na příslušné techniky MITER ATT&CK, zejména Initial Access, Credential Access, Exfiltration a Command & Control.
OWASP OAT
Shield pokrývá několik tříd automatizovaných hrozeb z OWASP OAT. Podrobné mapování je zákazníkům poskytnuto v technických materiálech.
Technická bílá kniha
Podrobný technický dokument včetně integračních diagramů, modelování hrozeb a výkonnostních benchmarků.
Upozornění na rozsah ochrany. Corpilus Shield je ochranná vrstva AI v reálném čase navržená tak, aby rozšiřovala standardní bezpečnostní mechanismy pro webové stránky, e-shopy a aplikace LLM, nikoli je nahrazovala. Nenahrazuje antivirus, firewall, penetrační testování ani formální bezpečnostní audit. Pro komplexní ochranu doporučujeme kombinovat více vrstev.