Skip to content

Superseded (closed) - #59

Closed
avrabe wants to merge 2 commits into
mainfrom
stpa/lateral-movement
Closed

avrabe wants to merge 2 commits into
mainfrom
stpa/lateral-movement

Conversation

@avrabe

@avrabe avrabe commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Superseded and closed. The product-level content was redone in #61; the rest was moved out of this repository.

avrabe and others added 2 commits October 28, 2026 09:50
The existing STPA-Sec analysis covered mostly planned parts (mobile,
edge proxy, sync) and none of the places an attacker would pivot
through. Added, as rivet's typed graph:
- losses SL-006 (org code/release integrity), SL-007 (operator
  infrastructure beyond warte), SL-008 (agent fleet acts on attacker
  intent);
- controllers CTRL-006 ground-station host, CTRL-007 CI host (runners +
  root agent with the org app token), CTRL-008 operator workstation and
  agent sessions, CTRL-009 GitHub org;
- hazards SH-007..012 (over-broad credentials/reach, untrusted code
  near credentials, co-tenancy, agent-context injection, unauthenticated
  fleet map, root over service-controlled paths);
- sec-UCAs SUCA-001..006 with adversarial causation and attacker type;
- lateral scenarios SS-001..005;
- constraints SC-SEC-001..007, plus SC-SEC-008..013 mirroring the
  cybersecurity goals for the old SH-001..006, which had none.

rivet coverage: sec-hazard V-closure 100% (12/12), was 0/6 for
sec-hazard-has-constraint at the start of the session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEjmjacA37doyazDSdB8ez
- Losses split: SL-009 personal data on the home host, SL-010 keys,
  tokens and secrets, SL-011 CI fleet availability/misuse.
- Hazards restated as system states (SH-007, SH-009, SH-012); new SH-013
  (default branch changes without its gates); SH-011 raised to high:
  warte answers Access-Control-Allow-Origin: *, verified live, so any
  page in a LAN browser can read the fleet map.
- Control structure: CTRL-010 home router/WireGuard, CTRL-011 Caddy,
  CTRL-012 varve/sigil supply chain, CTRL-013 GitHub App installations,
  CTRL-014 Beszel hub.
- UCAs: all four types now used (not-providing: no revocation, no
  outside-contributor approval, gates not enforced; too-late: stale
  admission answers; stopped-too-soon: runner caches, agent sessions
  staying in bypass mode); dedicated UCAs for warte parsing
  unauthenticated input, CORS reads, unpinned tools. Attacker types
  corrected.
- Scenarios SS-006..011: CORS read via a LAN browser, Beszel key into
  the CI host, photo library as entry point, untrusted issue text into
  an org-admin agent session, compromised varve layer, telemetry forged
  from a runner. SS-003/SS-005 now give causal chains.
- Constraints name their enforcement point or say "mitigates";
  SC-SEC-008 records that agent identity is not implemented yet.
- Linked to the safety analysis: SH-010 traces to H-006 (same control
  action on CTRL-001).

Corrected review finding 1 against the running system: the mutating API
is NOT open (401 live; the reviewed src/server/auth.rs is an unmounted
placeholder), but no code path issues tokens, so agents cannot register.

rivet coverage: sec-hazard V-closure 100% (13/13), 14 sec-UCAs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEjmjacA37doyazDSdB8ez
@avrabe avrabe closed this Oct 28, 2026
@avrabe
avrabe deleted the stpa/lateral-movement branch October 28, 2026 09:00
@pulseengine pulseengine locked and limited conversation to collaborators Oct 28, 2026
@avrabe avrabe changed the title STPA-Sec: lateral movement across the real control structure (reviewed) Superseded (closed) Oct 28, 2026
@pulseengine pulseengine unlocked this conversation Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant