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 od środka.
Techniczne spojrzenie na to, jak Shield chroni wejścia internetowe, istniejący czat AI, proxy LLM i narzędzia MCP: architektura, przepływ decyzji, audyt i porównanie z WAF / reCAPTCHA.
Pierwsza warstwa ochrony — nie SIEM, nie narzędzie analityczne.
Shield to aktywna i pasywna warstwa ochrony formularzy, logowania, realizacji transakcji, przesyłania, czatu AI, narzędzi MCP i interfejsów API. Na pulpicie nawigacyjnym wyświetlane są decyzje i zdarzenia, dzięki czemu możesz dostroić ochronę — nie jako eksplorator dzienników. Zdarzenia są sygnałem operacyjnym, a nie zasobami analitycznymi.
Shield to:
- ✓Inline ochrona dla web / e-commerce / chat / MCP / backend
- ✓Decyzja per request: allow / monitor / challenge / block
- ✓Odporny na manipulację, podpisany audit log każdej decyzji
- ✓Mobile native SDK — iOS + Android — na roadmapie (Sprint M)
Shield nie jest:
- ×SIEM lub agregator logów
- ×Zamiennikiem twojego WAF lub CDN — siedzi warstwę głębiej
- ×Narzędziem do raportowania lub analityki biznesowej
- ×Certyfikowany produkt zapewniający zgodność — kontrole są zgodne ze standardami, audyt należy do Ciebie
Trzy ścieżki ochrony zależnie od tego, co trzeba chronić.
Shield może działać przed stroną, czatem AI albo narzędziami MCP. Każda ścieżka ma jasny punkt decyzji i audytowalny wynik.
Web i formularze
Widget JS i SDK backend chronią formularze kontaktowe, login, checkout i uploady. Zbierają sygnały bezpieczeństwa, dołączają token HMAC i umożliwiają allow / challenge / block zanim request trafi do wrażliwej logiki.
Czat AI i LLM proxy
Monit i odpowiedź przechodzą przez zaporę sieciową LLM. Shield może anonimizować wrażliwe dane, blokować natychmiastowe wstrzykiwanie, sprawdzać, czy nie ma wycieków instrukcji systemowych i pracować przed czatem, z którego już korzystasz.
Narzędzia MCP, polityka i audyt
Wywołania MCP są oceniane według schematu, uprawnień i ryzyka akcji. Destrukcyjne lub wrażliwe tool calle mogą wymagać approval gate. Każda decyzja trafia do audit logu scoped per tenant.
Co obejmuje Shield vs. WAF vs. CAPTCHA.
Shield nie zastępuje istniejącej ochrony perymetrowej. Działa jedną warstwę głębiej.
| Zdolność | Shield | WAF | reCAPTCHA / Kołowrót |
|---|---|---|---|
| Bezgłowe wykrywanie botów | Tak — punktacja wielosygnałowa | Częściowo (reputacja IP) | Tak — na wejściu |
| Prompt injection przeciw LLM | Tak — firewall semantyczny | Nie | Nie |
| Nadużycie agenta MCP | Tak — policy engine | Nie | Nie |
| Spam formularzy / disposable email | Tak — 5 języków | Nie | Częściowo |
| Skan malware w uploadach | Tak — kwarantanna | Częściowo | Nie |
| Payloady SQL injection | Tak — walidacja AST | Tak — regex | Nie |
| Credential stuffing (rozproszony) | Tak — blokada per konto | Częściowo (per IP) | Częściowo |
| Audit log odporny na manipulację | Tak — eksportowalny | Różnie | Nie |
40+ konkretnych możliwości w 9 kategoriach.
Kompletna skategoryzowana matryca. Dokładne progi, wagi sygnałów i wewnętrzne elementy wykrywania są dostępne dla klientów w portalu.
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.
Kliknij kartę, aby rozwinąć opis techniczny i threat model.
Odporny na manipulacje, łańcuch hashy, kryptograficznie podpisany.
Dziennik audytu stanowi podstawę prawną i kryminalistyczną Shield. Zaprojektowany tak, aby nawet skompromitowany administrator nie mógł przepisać historii bez jej widoczności.
Łańcuch mieszający SHA-256
Każdy rekord audytu zawiera skrót SHA-256 poprzedniego rekordu oraz kanonizację bieżącego zdarzenia. Usunięcie lub modyfikacja dowolnego przeszłego zdarzenia powoduje przerwanie każdego skrótu znajdującego się poniżej, a łańcuch odmawia weryfikacji.
Podpisywanie Ed25519 przez dzierżawcę
Każdy najemca ma własną parę kluczy Ed25519. Klucz publiczny jest udostępniany do niezależnej weryfikacji; klucz prywatny podpisuje każdy rekord audytu w czasie zapisu. Nie można sfałszować wyciekającego zrzutu bazy danych bez klucza prywatnego.
Kotwiczenie czasowe RFC 3161
Głowice łańcuchowe są okresowo zakotwiczone w zewnętrznym urzędzie znacznika czasu RFC 3161. To wiąże dziennik z bezwzględnym czasem zegara ściennego i dowodzi, że łańcuch istniał w tej formie przed znacznikiem czasu.
Higiena tylko do dołączania w roli DB
Rola Shield_app ma tylko INSERT — UPDATE i DELETE są ODWOŁANE na poziomie PostgreSQL. Nawet osoba atakująca z pełnymi poświadczeniami kontekstu aplikacji nie może przepisać wierszy; musieliby eskalować do roli superużytkownika DB, która sama w sobie jest kontrolowana w warstwie platformy.
Zweryfikuj i eksportuj punkty końcowe
GET /shield/audit/verify ponownie przechodzi przez łańcuch mieszający i sprawdza każdy podpis; GET /shield/audit/export przesyła strumieniowo podpisane, rozdzielane liniami archiwum JSON dla audytorów wewnętrznych i zewnętrznych. Obydwa są ograniczone do najemców i ograniczone stawkami.
Mapowanie zgodności
Zapewnia dowody techniczne, których wymagają typowe ramy bezpieczeństwa (niezmienne rejestrowanie, podpisana integralność, monitorowanie, dostosowanie GDPR do art. 32). Sam Shield nie posiada certyfikatu zewnętrznego — eksport wspiera Twój audyt, a nie go zastępuje.
Migawka incydentu jednym kliknięciem, zaszyfrowana, poza siedzibą.
Kiedy coś pójdzie nie tak, potrzebujesz niezmiennego obrazu chwili. Shield produkuje go w niecałą minutę i pieczętuje tak, że tylko Twój klucz prywatny może go otworzyć.
Co zawiera migawka
- •Zdarzenia związane z bezpieczeństwem (surowe + decyzje + kody przyczyn)
- •Wycinek dziennika audytu z głowicą łańcucha + podpis
- •Aktywne sesje i sygnały na poziomie sesji
- •Aktywne reguły i historia wersji reguł
- •Pamięć podręczna analizy zagrożeń i ostatnie zdarzenia związane z zagrożeniami
- •Miejsca chronione i ich konfiguracja HMAC
- •Ustawienia dzierżawy i flagi funkcji
- •Zdarzenia platformy (wdrożenie / kopia zapasowa / dryf)
- •Metadane kontenera (obraz, wersja, odcisk palca hosta)
Hybrydowe szyfrowanie kopertowe
Jednorazowy klucz danych AES-256-GCM szyfruje ładunek. Klucz danych jest pakowany za pomocą RSA-OAEP-SHA256 z użyciem klucza publicznego najemcy. Tylko posiadacz klucza prywatnego może odzyskać klucz AES i odszyfrować pakiet. Infrastruktura Shield nie może odczytać poprzednich migawek po opuszczeniu produkującego je kontenera.
Przechowywanie i operacje
Migawki są wysyłane do dowolnego magazynu zgodnego z S3 (AWS, Wasabi, MinIO, on-prem). Opcjonalny tygodniowy cron automatycznie archiwizuje nową migawkę dla ciągłej gotowości kryminalistycznej. Cel MTTR od wyzwolenia do zapieczętowanego, wysłanego archiwum to ~60 sekund.
Powierzchnia API
POST /shield/forensic/snapshot wyzwala nową migawkę; GET /shield/forensic/snapshots wymienia istniejące z metadanymi, rozmiarem i statusem pieczęci. Oba są w zakresie administratora i generują zdarzenia audytu na poziomie platformy.
Compliance i audytowalność bez przesadnych obietnic.
Shield dostarcza dowody techniczne, logi i mapowania. Formalne certyfikacje lub atestacje zależą od konkretnego zakresu wdrożenia.
Ścieżka audytu gotowa do audytu
Shield tworzy dzienniki audytu, powody decyzji i eksporty, które mogą wspierać kontrolę bezpieczeństwa i zgodności. Formalna certyfikacja lub atest jest potwierdzana indywidualnie w zależności od zakresu klienta.
Wsparcie dowodów audytora
Kontrole techniczne można mapować do twojego wewnętrznego frameworka audytu. Shield nie jest zewnętrznie certyfikowany.
MITRE ATT&CK
Wykrycia można przypisać do odpowiednich technik MITRE ATT&CK, w szczególności dostępu początkowego, dostępu poświadczeń, eksfiltracji oraz dowodzenia i kontroli.
OWASP OAT
Shield obejmuje wiele klas zautomatyzowanych zagrożeń z OWASP OAT. Szczegółowe mapowanie udostępniane jest Klientom w materiałach technicznych.
Techniczny whitepaper
Szczegółowy dokument techniczny zawierający diagramy integracji, modelowanie zagrożeń i testy porównawcze wydajności.
Informacja o zakresie ochrony. Corpilus Shield to warstwa ochronna AI działająca w czasie rzeczywistym, zaprojektowana w celu rozszerzenia standardowych mechanizmów bezpieczeństwa dla stron internetowych, e-sklepów i aplikacji LLM, a nie ich zastąpienia. Nie zastępuje programu antywirusowego, zapory ogniowej, testów penetracyjnych ani formalnego audytu bezpieczeństwa. Dla kompleksowej ochrony zalecamy połączenie kilku warstw.