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 sotto il cofano.
Vista tecnica su come Shield protegge input web, chat AI esistente, LLM proxy e strumenti MCP: architettura, flusso decisionale, audit e confronto con WAF / reCAPTCHA.
Primo strato di protezione — non un SIEM, non uno strumento analitico.
Shield è uno strato di protezione attiva e passiva per form, login, checkout, upload, chat IA, strumenti MCP e API. La dashboard mostra decisioni ed eventi per consentirti di regolare la difesa — non è un log explorer. Gli eventi sono segnale operativo, non inventario analitico.
Shield è:
- ✓Protezione inline per web / e-commerce / chat / MCP / backend
- ✓Decisione per richiesta: allow / monitor / challenge / block
- ✓Audit log firmato e a prova di manomissione di ogni decisione
- ✓SDK nativo mobile — iOS + Android — nella roadmap (Sprint M)
Shield non è:
- ×Uno SIEM o un aggregatore di log
- ×Un sostituto del tuo WAF o CDN — sta uno strato più in basso
- ×Uno strumento di reporting o analytics business
- ×Un prodotto di compliance certificato — i controlli si allineano ai framework, l'audit è il tuo
Tre percorsi di protezione in base a ciò che devi proteggere.
Shield può stare davanti al sito, alla chat AI o agli strumenti MCP. Ogni percorso ha un punto decisionale chiaro e un risultato auditabile.
Web e form
Il widget JS e l’SDK backend proteggono form di contatto, login, checkout e upload. Raccolgono segnali di sicurezza, allegano un token HMAC e consentono allow / challenge / block prima che la richiesta raggiunga logica sensibile.
Chat AI e LLM proxy
Prompt e risposta passano attraverso un firewall LLM. Shield può anonimizzare dati sensibili, bloccare prompt injection, verificare leakage di istruzioni di sistema e funzionare davanti alla chat che già usi.
Strumenti MCP, policy e audit
Le chiamate MCP sono valutate per schema, permessi e rischio dell’azione. Tool call distruttive o sensibili possono richiedere approval gate. Ogni decisione finisce in un audit log scoped per tenant.
Cosa copre Shield vs. WAF vs. CAPTCHA.
Shield non sostituisce la protezione perimetrale esistente. Lavora un livello più in profondità.
| Capacità | Shield | WAF | reCAPTCHA / Tornello |
|---|---|---|---|
| Rilevamento bot headless | Sì — scoring multi-segnale | Parziale (reputazione IP) | Sì — all’ingresso |
| Prompt injection contro LLM | Sì — firewall semantico | No | No |
| Abuso di agenti MCP | Sì — policy engine | No | No |
| Form spam / email usa e getta | Sì — 5 lingue | No | Parziale |
| Scansione malware upload | Sì — quarantena | Parziale | No |
| Payload SQL injection | Sì — validazione AST | Sì — regex | No |
| Credential stuffing (distribuito) | Sì — blocco per account | Parziale (per IP) | Parziale |
| Audit log a prova di manomissione | Sì — esportabile | Variabile | No |
40+ capacità concrete in 9 categorie.
Matrice completa categorizzata. Soglie esatte, pesi dei segnali e dettagli di detection sono disponibili ai clienti nel portale.
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.
Clicca una scheda per aprire descrizione tecnica e threat model.
Inviolabile, concatenato per hash, firmato crittograficamente.
Il registro di audit è la spina dorsale legale e forense di Shield. Progettato in modo che neanche un amministratore compromesso possa riscrivere la storia senza che sia visibile.
Catena hash SHA-256
Ogni record di audit contiene l'hash SHA-256 del record precedente più l'evento corrente canonizzato. La rimozione o la modifica di qualsiasi evento passato interrompe ogni hash downstream e la catena rifiuta la verifica.
Firma Ed25519 per tenant
Ogni inquilino ha la propria coppia di chiavi Ed25519. La chiave pubblica viene esposta per una verifica indipendente; la chiave privata firma ogni record di audit al momento della scrittura. Un dump del DB trapelato non può essere falsificato senza la chiave privata.
RFC 3161 ancoraggio temporale
Le teste della catena vengono periodicamente ancorate a un'autorità di marca temporale RFC 3161 esterna. Ciò lega il registro all'ora assoluta dell'orologio a muro e dimostra che la catena esisteva in quella forma prima del timestamp.
Igiene di sola aggiunta del ruolo DB
Il ruolo scudo_app ha solo INSERT: UPDATE e DELETE vengono REVOCATI al livello PostgreSQL. Anche un utente malintenzionato con credenziali complete per il contesto dell'app non può riscrivere le righe; avrebbero bisogno di passare al ruolo DB di superutente, che è a sua volta controllato a livello di piattaforma.
Verifica ed esporta gli endpoint
GET /shield/audit/verify ripercorre la catena hash e convalida ogni firma; GET /shield/audit/export trasmette in streaming un archivio JSON firmato e delimitato da righe per revisori interni o esterni. Entrambi hanno un ambito di tenant e una tariffa limitata.
Mappatura della conformità
Fornisce prove tecniche richieste dai comuni quadri di sicurezza (registrazione immutabile, integrità firmata, monitoraggio, allineamento GDPR Art. 32). Shield in sé non è certificato esternamente: l'esportazione supporta il tuo audit, non ne sostituisce uno.
Snapshot di incidente in un clic, cifrato, off-site.
Quando qualcosa va storto, hai bisogno di un'immagine immutabile del momento. Shield la produce in meno di un minuto e la sigilla in modo che solo la tua chiave privata possa aprirla.
Cosa contiene uno snapshot
- •Eventi di sicurezza (grezzi + decisioni + codici motivo)
- •Sezione del registro di controllo con testata a catena + firma
- •Sessioni attive e segnali a livello di sessione
- •Regole attive e cronologia delle versioni delle regole
- •Cache di intelligence sulle minacce ed eventi recenti di minaccia
- •Siti protetti e relativa configurazione HMAC
- •Impostazioni del tenant e flag di funzionalità
- •Eventi della piattaforma (distribuzione/backup/deriva)
- •Metadati del contenitore (immagine, versione, impronta digitale dell'host)
Cifratura a busta ibrida
Una chiave dati AES-256-GCM monouso cifra il payload. La chiave dati viene avvolta con RSA-OAEP-SHA256 contro la chiave pubblica del tenant. Solo il detentore della chiave privata può recuperare la chiave AES e decifrare il bundle. L'infrastruttura Shield non può leggere snapshot passati una volta che hanno lasciato il container che li ha prodotti.
Storage e operatività
Gli snapshot vengono caricati su qualsiasi storage compatibile con S3 (AWS, Wasabi, MinIO, on-prem). Un cron settimanale opzionale archivia automaticamente un nuovo snapshot per una prontezza forense continua. Il target MTTR dal trigger all'archivio sigillato e caricato è ~60 secondi.
Superficie API
POST /shield/forensic/snapshot innesca un nuovo snapshot; GET /shield/forensic/snapshots elenca quelli esistenti con metadati, dimensione e stato di sigillatura. Entrambi sono in ambito admin e producono eventi di audit a livello piattaforma.
Compliance e auditabilità senza promesse eccessive.
Shield fornisce evidenze tecniche, log e mapping. Certificazioni formali o attestazioni cliente dipendono dallo scope di deployment.
Traccia di controllo pronta per il revisore
Shield produce audit log, motivi delle decisioni ed export utili per revisioni security e compliance. Certificazione o attestazione formale vengono confermate individualmente in base allo scope cliente.
Supporto delle prove del revisore
I controlli tecnici possono essere mappati sul tuo framework di audit interno. Shield non è certificato esternamente.
MITRE ATT&CK
Le detection possono essere mappate a tecniche MITRE ATT&CK rilevanti, soprattutto Initial Access, Credential Access, Exfiltration e Command & Control.
OWASP OAT
Shield copre più classi di minacce automatizzate OWASP OAT. Il mapping dettagliato viene fornito ai clienti nei materiali tecnici.
Whitepaper tecnico
Documento tecnico dettagliato con diagrammi di integrazione, threat modeling e benchmark di performance.
Avviso sull'ambito della protezione. Corpilus Shield è un livello di protezione AI in tempo reale progettato per estendere i meccanismi di sicurezza standard per siti Web, negozi elettronici e applicazioni LLM, non per sostituirli. Non sostituisce antivirus, firewall, test di penetrazione o controlli di sicurezza formali. Per una protezione completa, consigliamo di combinare più strati.