Files
safetynet/docs/threat-model.md
T
2026-10-13 10:34:48 +02:00

7.2 KiB

S Browser threat model and security acceptance gates

Status: implementation threat model, 2026-10-13. This is not an independent security assessment. See requirements-audit.md for current implementation evidence.

Assets and adversaries

Protect confidential document/prompt bytes, credential material, browser session authority, signed policy versions, classification features, administrator identity, audit integrity and availability. Hashes and semantic vectors are confidential derived data, even though source documents are not retained.

Consider malicious sites and frames, hostile document/media files, malicious clipboard instructions, compromised AI output, unauthorized local agents, stolen device credentials, network interception, stale policy caches and unauthorized or compromised management identities. A local OS administrator can replace executable code or inspect process memory: protecting against that requires endpoint controls outside this browser's present assurance boundary.

Trust boundaries

  1. Remote site to privileged browser. Website content has no trusted UI bridge, Node access or administrative authority. Renderer requests and DOM observations are untrusted; native policy checks own transfer decisions. Website appearance cannot establish origin identity.
  2. Browser to clipboard/files/network. Inspect before release. An approval must bind destination, bytes, current policy and current target context. Unsupported transfer paths remain blocked. Rich/file/subframe clipboard paths are not silently downgraded to plain-text inspection.
  3. Document bytes to parser/model worker. Authentication to the loopback broker is separate from permission to parse a document. Untrusted documents must run in a restricted worker with no broker credentials, host data access or network capability. Job Objects limit resources but do not satisfy this boundary alone.
  4. Device to management. Enrollment establishes device identity; it never establishes admin authority. HTTPS, independently pinned policy keys, signed monotone versions, expiries and authenticated device requests all remain required.
  5. Administrator to management. Verified OIDC identity and exact role permissions authorize every backend route. Hidden controls are a usability property. Session revocation invalidates current cookies; removing an IdP group must also prevent future logins. Mandatory independent approval is still a separate gate.
  6. Browser/AI gateway to approved model. Classify locally/customer-side before external transmission. Provider credentials stay at the gateway. Page content, retrieved documents and model output cannot grant tool permissions or change policies. Model similarity is evidence, not a proof of confidentiality absence.
  7. Local agent to browser. Pairing capabilities are scoped, device-local and revocable. Fixed actions validate the target/session again before execution. No arbitrary JavaScript, CDP, cookie export or password export is exposed.
  8. Enforcement to audit/SIEM. Record bounded metadata rather than source contents, prompts or credentials. Durable event ingestion and deduplication are separate from sampled operational traces. SIEM failures must retain a retryable backlog.

Abuse cases and acceptance evidence

ID Abuse case Required invariant / release test
DLP-01 Page swaps an approved file after scanning Receiver obtains only the inspected immutable bytes; native file transfer binding is still open.
DLP-02 Worker/frame/WebSocket/stream bypasses a form control Every permitted channel is gated before transmission; explicitly block unsupported channels and test controlled receivers.
DLP-03 Clipboard selection or destination changes during scan Discard the pending release; scan approval cannot authorize a new selection, document or policy generation.
DLP-04 ClickFix asks employee to execute copied instructions Withhold covered dangerous command patterns; do not claim this heuristic detects all executable malware.
PARSE-01 Document exploits native parser and reads user secrets Native restricted-worker probe cannot read a synthetic private file outside explicitly approved roots.
PARSE-02 Exploited parser sends document bytes to network Native worker TCP/UDP probes fail without network capability; no loopback exemption or credential forwarding.
PARSE-03 Worker forks, hangs, exhausts memory or survives owner Process tree limits, no breakaway, deadline termination and clean subsequent scan; prove actual OS behavior.
POLICY-01 Attacker replays old/expired/different-device policy Signature, device binding, expiry and monotone revision reject it; emergency restore is published as a new version.
POLICY-02 Operator forges admin permissions in session/UI Backend recomputes role permissions; direct publication/revocation requests fail.
POLICY-03 Cross-site page triggers an admin mutation Exact Origin validation rejects cookie-authenticated writes and logout from other/missing origins.
AUTH-01 Stolen/shared bootstrap token bypasses enterprise SSO Remote HTTPS management rejects development bootstrap credentials.
AUTH-02 Removed admin retains existing browser cookie Explicit emergency session revocation rejects the next request; continuous IdP/back-channel revocation remains open.
PHISH-01 Unknown domain renders a trusted login page Pixel reference match plus exact HTTPS origin mismatch quarantines the page; validate layouts/languages/iframes and false positives before fleet-wide use.
AI-01 Prompt injection asks agent/model to disclose other data Policy and tool permissions are independent of prompt contents; retrieval ACLs and full tool governance remain open.
LOG-01 Prompts, URLs with secrets or source documents enter logs Allowlisted bounded metadata; inspect actual exported OTLP/ECS/CEF output and failure responses.
UPDATE-01 Attacker supplies modified browser/model/update Pinned artifact hashes and verified publisher signatures; production signed updater is still open.

Operational response and residual risks

Revoke compromised device credentials and management sessions; publish strengthened rules as a new policy version and verify device acknowledgement. Preserve bounded audit evidence under the customer's retention/access rules. Rotate affected keys and provider credentials through deployment tooling; automated key rotation and full incident workflow are not complete.

Unavailable scanners, unsupported content or expired policy must not be interpreted as an allow verdict. Test recovery separately: a blocked parser request must not force permanent loss of the scanner. Network/proxy/VPN detection has its documented latency and cannot prove operating-system routing on its own.

Camera capture, manual retyping, other applications, administrator tampering, unvalidated classifier accuracy and covert/encoded exfiltration remain residual risks. Extend endpoint/network controls and independent bypass testing before production approval. Each acceptance row needs evidence matching its full scope; a green synthetic test for one path does not close all related paths.