Skip to main content
Version: v0.9.0a2

Security

4 min readEntry point for evaluators, integrators, operators, security engineersv0.9.0a2

What this page is

Per ADR-005: "Lead Secure with the risk register." This page is the entry point to stigmem's security posture. The threat model and scenarios are the most important artifacts, surfaced first.

Risk register status (v0.9.0a2)

Status
Count
Description
Mitigated
10
mTLS, quotas, key max-age, audit log, replay fuzz, capability tokens, container hardening, and R-19 HLC skew bounds — see the threat model risk register.
In review
2
Prompt injection (R-05) and agent feedback-loop worm (R-21); structural controls now exist on main, sanitizer remains defense-in-depth, and live certification plus operator validation evidence are still required before marking the risks mitigated.
Residual
0
No risks are currently tracked as sanitizer-only residual risk in the v0.9.0a2 register.
Open
6
R-15 instruction-scope injection, R-16 RTBF DoS, R-17 legal-hold exposure, R-18 CID field-exclusion, R-22 release supply-chain, R-23 admin-level storage tampering.
Accepted
5
R-04 at-rest encryption default-off, R-07 Obsidian plugin key storage, R-08 libSQL cloud backend, R-13 cloud embedding data residency, R-20 cloud embedding poisoning.

Most-severe structural risk: R-23 (admin-level storage tampering).

An attacker with admin privileges on a stigmem node can — without ADR-016's mitigations — overwrite stored facts, bypassing ADR-003's prompt-injection trust boundary by silently changing interpret_as from content to instruction at the storage layer. Mitigation is the ADR-016 stack (L1–L5: append-only journal, SQLite triggers, CIDs per ADR-017, local hash chain, Sigstore Rekor anchor). Targeted: future hardened-core work.

The second-priority new risk is R-21 (agent feedback-loop worm). Main now has same-session read/write provenance controls, OpenClaw handoff-target allowlisting, supported adapter/session propagation, and outbound replication exclusion for provenance-derived facts. R-21 remains in review until release certification and operator validation cover those controls. The OpenClaw adapter remains an experimental alpha connector until that validation is complete.

For the full risk register: see the Threat Model (spec/security/threat-model.md). For operator-facing scenarios: see the Security Scenarios. For the trust boundary against prompt injection (L1–L6): see ADR-003 § Trust boundary.

v0.9.0a2 architectural posture

Per LIMITATIONS.md §11: the default install of v0.9.0a2 ships with feature-specific code in node/src/stigmem_node/ for features deferred from v1.0 critical-path scope per ADR-002. The routes are mounted but the features are dormant unless explicitly configured (capability tokens, migrations, manifests). Per ADR-019 iteration semantics, each v0.9.0aN extracts one cross-cutting feature into a plugin per ADR-011.

For v0.9.0a2 evaluators

The user-visible default behavior matches v1.0 critical-path scope (single-tenant, no tombstones, no time-travel, no advanced ACL). Cross-cutting experimental behavior is being extracted into opt-in source packages across the v0.9.0aN line; signed/published plugin artifacts remain deferred until all planned plugins are built.

Main now includes the 22-hook registry foundation and plugin test harness needed for extraction work. The landed foundation includes typed hook semantics, deterministic manual/core registration, minimum manifest/context/capability APIs, hook-site wiring across assertion, recall, federation, auth, migration, and audit paths, registry audit/metrics plumbing, benchmark coverage, startup package discovery, production plugin signing enforcement, and operator CLI inspection. Per-feature plugin packages remain future alpha-series work.

Published advisories

Stigmem publishes GitHub Security Advisories for Critical and High CVSS 4.0 findings that affect a supported published artifact. The v0.9.0a2 hardening release patches the following advisory batch.

GHSA
Severity · CVSS 4.0
Patched version
GHSA-jmfc-hfjq-pxcp
Critical · 9.1
stigmem-node 0.9.0a2
GHSA-fp6w-8wpg-74g5
Critical · 9.2
stigmem-node 0.9.0a2
GHSA-9vp8-3hmv-8fgh
Critical · 9.1
stigmem-node 0.9.0a2
GHSA-xh5j-xjfq-qvvx
High · 7.1
stigmem-node 0.9.0a2
GHSA-w7pm-9g55-mxfm
High · 7.3
stigmem-node 0.9.0a2
GHSA-9pc9-4crj-mhpj
High · 7.5
stigmem-node 0.9.0a2

Security architecture

Page
Scope
Topic
Authentication
access
API key auth (Argon2id for new keys; v0.9.0a1 SHA-256 rows rehash on successful use per ADR-007), local-agent entity_uri naming, expires_at enforcement, session model.
Agent keypairs
identity
Ed25519 keypair generation, storage, rotation.
Audit log
accountability
WAL-ordered audit log, 14 event types, 90-day retention (Spec-09-Audit-Log).
Audit & quotas
rate limits
Per-principal token-bucket quotas, 7 dimensions (Spec-10-Hardening).
Key rotation
lifecycle
Enforced API key max-age (90d default), Ed25519 rotation runbook (Spec-10-Hardening).
mTLS
transport
Federation transport: TLS 1.3 floor, SAN ↔ entity_uri binding (Spec-10-Hardening).
Encryption at rest
storage
SQLCipher (opt-in for regulated data).
Container hardening
runtime
Distroless, non-root UID 1000, read-only fs, seccomp (Spec-10-Hardening container baseline).
Immutability & attestation
integrity
ADR-016 R-23 mitigation stack, fact-chain checkpoints, WORM storage, and TEE deployment options.
Where security analysis lives
navigation
ADR-018 split between the protocol-level threat model and feature-local experimental/<feature>/security.md files.

The federation-hardening control review lives with the canonical security evidence at spec/security/federation-control-review.md.

Operator surfaces

Human key issuance

Operator UX for issuing API keys.

Human surface

Human-facing operator concerns.

Pen-test handbook

Community pen-testing process and reproducer template.

Disclosure & policy

Compatibility commitment

Written commitment per ADR-013.

Security disclosure policy

How to report a vulnerability.

SECURITY.md

Supported versions, dependency posture.

Specification

The protocol specification is the contract security depends on. It lives under Secure per ADR-005.

Specification index

Section navigator with disposition table (which sections are stable in v0.9.0a2, which are deferred to experimental/<feature>/).

Canonical spec source

spec/stigmem-spec-v0.9.0a1.md. Section-by-section content review against the node/ implementation is ongoing.

Experimental & deferred features

Many features documented in earlier checkpoints are deferred from v0.9.0a2's default install. They live in experimental/<feature>/. Alpha-series extraction may package some of them as opt-in experimental plugins; promotion into the supported surface requires the ADR-008 gate process. See Experimental & Deferred Features for the canonical list.

Quick-start for security researchers

  1. Read the Threat Model to understand the trust boundaries and current risk register.
  2. Read the Security Scenarios for operator-facing narratives.
  3. Read the Pen-test handbook for the engagement process and reproducer template.
  4. Set up a local node via the quickstart tutorial.
  5. File private advisories at github.com/eidetic-labs/stigmem/security/advisories.