Skip to main content

sigmashake-docs — Threat Model

STRIDE per surface. Last fully reviewed 2026-05-27.

Surfaces

1. Public HTTP API

Assets. Session cookies, bearer tokens, audit log, persistent state.

STRIDEThreatMitigation
SpoofingForged session cookieHMAC-signed cookie; rotation via Secrets Store.
TamperingModified Authorization headerBearer is signed JWT; signature checked on every request.
RepudiationOperator denies an actionEvery mutating action emits an audit event (per-row Ed25519-signed, tamper-evident per row).
Info disclosureCross-tenant data leak via dispatcher bugRBAC at handler boundary + org_id FK on every row.
DoSCompute-heavy admin callRate limit per session; expensive endpoints offloaded to background jobs.
EoPPermission escalation via custom rolePermission-escalation check blocks granting a role you don't hold.

2. Outbound integrations

Assets. Vault credentials, third-party API tokens.

STRIDEThreatMitigation
SSpoofed outbound destinationPinned TLS fingerprint where applicable.
TModified request payloadAll outbound calls signed where the API supports it.
ICredential exfiltrationCredentials read from Secrets Store at request time; never logged.

Cross-cutting controls

  • Audit log. Mutating operations append to the sigmashake-gov governance audit log, which is per-row Ed25519-signed (each row's signature makes row-content tampering detectable; deletions are tracked by policy, not cryptographically prevented). Merkle / hash-chaining is a separate mechanism used by distinct logs — the sigmashake-compliance evidence pipeline (daily Merkle manifest roots) and the sigmashake-fleet cloud audit log (per-event hash chain, emitAdminAudit) — and is not used by the governance audit log.
  • Secrets handling. All credentials live in Cloudflare Secrets Store.
  • Dependency hygiene. Nightly bun audit blocks high/critical CVEs.
  • Operator MFA. All operator accounts MFA-required.

Findings tracker

#FindingSeverityStatus
(initial threat model — no open findings as of 2026-05-27)

AI-assisted internal security review — 2026-06-18

Reviewer: Claude Opus 4.8 (Anthropic) Date: 2026-06-18 Methodology: White-box, code-level AI-assisted internal security review conducted by Claude Opus 4.8 (Anthropic) with full source-code access, aligned to OWASP WSTG v4.2 and OWASP ASVS v4.0.3. Static source analysis of authn, input validation, SSRF/open-redirect surface, secret handling, response headers, crypto hygiene, and honesty-contract copy. Disclaimer: AI-assisted internal security review (Claude Opus 4.8) — not a third-party penetration test. This review was conducted by an AI system (Claude Opus 4.8, Anthropic) under operator direction with full source-code access on 2026-06-18. It is NOT a third-party human penetration test; no external offensive-security firm and no CPA firm has been engaged. It does not substitute for a human-led engagement by a certified (CREST/OSCP/GPEN) firm. It is appended alongside — and does not replace — the prior Claude Opus 4.7 (2026-05-19) review record.

Confirmed findings (2026-06-18 round)

IDFileLineTitleSeverityStatus
DOCS-2026-0618-01docs/security/threat-model.md15, 32The sigmashake-gov governance audit log was loosely described as "Merkle-chained" — corrected to per-row Ed25519-signed. (The sigmashake-fleet cloud audit log and the sigmashake-compliance / hub transparency log are separately Merkle / hash-chained — distinct logs, correctly labeled on the fleet and CLI pages.)MediumFixed in this document
DOCS-2026-0618-02docs/security.md162SOC 2 Type II "targeted for Q4 2026" overstates timeline (observation window ends 2026-11-17; earliest report Q1 2027; no CPA firm engaged)MediumFixed
DOCS-2026-0618-03docs/customer/security-whitepaper.md57"SOC 2 Type II (in progress)" lacks readiness/no-CPA-firm qualifierLowFixed
DOCS-2026-0618-04docs/compliance/iso27001/vulnerability-management-procedure.mdx27, 70"Annual third-party penetration test" presented as established control; no third-party pentest has been performedLowFixed
DOCS-2026-0618-05docs/fleet-policies.md101Dangling reference to docs/security/mdm-agent-update-pentest-2026-05-20.md (file does not exist); mislabeled as "pentest review"LowFixed
DOCS-2026-0618-06docs/policies/security.md11"immutable content verification" overclaims; model is tamper-evident (hash/signature detection)LowFixed

Clean areas (2026-06-18 round)

  • src/mcp.ts — stdio MCP server is local-only and read-only; no network exposure beyond local filesystem access.