Skip to content

feat(security): MATRA threat model spec + NetworkScope/AssetSensitivity in orchestration#5342

Merged
bug-ops merged 1 commit into
mainfrom
3913-matra-threat-model
Jun 13, 2026
Merged

feat(security): MATRA threat model spec + NetworkScope/AssetSensitivity in orchestration#5342
bug-ops merged 1 commit into
mainfrom
3913-matra-threat-model

Conversation

@bug-ops

@bug-ops bug-ops commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Applies MATRA framework (arXiv:2605.10763) to Zeph's full attack surface, producing specs/068-threat-model/spec.md with 12-asset inventory, 5 attack trees, control mapping, blast-radius analysis, and orchestration-specific security invariants
  • Adds NetworkScope enum (Inherit/Allow/Deny) and AssetSensitivity enum (Public/Internal/Confidential) as foundational security types in zeph-orchestration and zeph-config
  • Both fields on TaskNode are advisory only — not yet read at runtime; enforcement for spawned sub-agents is tracked as a follow-up (OQ-1/OQ-2 in spec §7)
  • Adds config migration step 69 for default_asset_sensitivity with full idempotency test suite

Changes

  • specs/068-threat-model/spec.md — MATRA threat model for Zeph (new)
  • specs/README.md — registers spec 068
  • crates/zeph-orchestration/src/graph.rsNetworkScope enum + TaskNode::network_scope
  • crates/zeph-config/src/experiment.rsAssetSensitivity enum + OrchestrationConfig::default_asset_sensitivity + TaskNode::asset_sensitivity
  • crates/zeph-config/src/migrate/ — step 69 with 4-test idempotency suite
  • CHANGELOG.md — [Unreleased] entries

Test plan

  • cargo +nightly fmt --check — PASS
  • cargo clippy --profile ci --workspace --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warnings — PASS
  • cargo nextest run --config-file .github/nextest.toml --workspace --features "desktop,ide,server,chat,pdf,scheduler" --lib --bins — 11493 PASS (0 FAIL)
  • RUSTFLAGS="-D warnings" RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc --no-deps --workspace --features "desktop,ide,server,chat,pdf,scheduler" — PASS

Closes #3913
Closes #3934

@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes enhancement New feature or request size/XL Extra large PR (500+ lines) labels Jun 13, 2026
@bug-ops bug-ops enabled auto-merge (squash) June 13, 2026 21:59
@bug-ops bug-ops force-pushed the 3913-matra-threat-model branch from 0086486 to d050625 Compare June 13, 2026 22:07
…sitivity to orchestration

Apply MATRA framework (arXiv:2605.10763) to Zeph's attack surface and
add foundational security types to zeph-orchestration for per-task
network and asset scoping.

- Add specs/068-threat-model/spec.md: 12-asset inventory, 5 attack
  trees, control mapping, blast-radius analysis, orchestration-specific
  invariants; advisory-only caveat on NetworkScope enforcement
- Add NetworkScope enum (Inherit/Allow/Deny) to zeph-orchestration with
  #[non_exhaustive], serde snake_case, JsonSchema; advisory only — not
  yet read at runtime, TODO(enforcement) on Deny variant
- Add AssetSensitivity enum (Public/Internal/Confidential) and
  OrchestrationConfig::default_asset_sensitivity to zeph-config
- Add TaskNode::network_scope and TaskNode::asset_sensitivity optional
  fields with serde(default, skip_serializing_if = "Option::is_none")
- Add config migration step 69 (migrate_orchestration_asset_sensitivity)
  with full 4-test idempotency suite
- Register spec 068 in specs/README.md

Closes #3913, closes #3934
@bug-ops bug-ops force-pushed the 3913-matra-threat-model branch from d050625 to a1d3148 Compare June 13, 2026 22:12
@bug-ops bug-ops merged commit a4bf2b9 into main Jun 13, 2026
36 checks passed
@bug-ops bug-ops deleted the 3913-matra-threat-model branch June 13, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

1 participant