SS-28 · SecOps & Threat Detection

SecOps & threat detection

The threat plane that watches the fabric. Versioned detections-as-code, Tetragon host sensors and Zeek network sensors feeding one case pipeline, dual-control containment, threat-intel feeds and screening, hunts that promote to rules, and — the mesh-native part — a Zeek auditor that SPAN-taps a mesh segment to prove the control plane never leaked a private key and to profile MTU/fragmentation on the overlay.

SS-28 shared service56 operations5 sub-capabilities

What it does

Detections-as-code, guard-railed containment, threat intel, and the Zeek mesh chaos-rig auditor.

Mesh chaos-rig auditor

Zeek SPAN/mirror sensors on a mesh segment run a control-plane leak audit (POST /zeek/leak-audit → HIGH finding if a private key is ever seen) and an MTU/fragmentation profile (POST /zeek/mtu-profile → MEDIUM outside the clamp) — the network-side proof of the zero-knowledge invariant.

Detections-as-code

Publish versioned, immutable detection rules (SEC03) — re-publishing an id appends a new version instead of mutating; auto-disabled noisy rules can be re-enabled.

Zeek network monitor

Register Zeek sensors on segments/taps, ingest protocol logs and notices, match observations against Intel-framework feeds, and report monitoring coverage by segment.

Cases & guard-railed containment

Findings roll into cases with evidence, enrichment and a war-room bridge; containment is dual-control — a containment is created, approved, then executed or released.

Threat intel & hunts

Manage intel feeds, screen an observable against them, and run threat hunts that promote a positive hunt into a standing detection rule.

Worked examples

Real calls on the real route shapes.

Auth on every call is the platform standard: an SS-01 Bearer token plus your X-Tenant-Id. $BASE is the service's /api/v1 base; ${H[@]} carries the auth headers.

Audit a mesh session for a zero-knowledge leak

Point a Zeek sensor at a mesh segment tap, then ask it to prove the control-plane session never carried private-key material. A leak raises a HIGH finding into the same case pipeline as host detections.

Audit a mesh session for a zero-knowledge leak
# Register a Zeek sensor on the mesh tap
curl -sX POST "$BASE/zeek/sensors" "${H[@]}" \
  -d '{ "segment":"mesh-1", "tap":"span0", "mode":"mirror" }'

# Audit a coordination session for a private-key leak
curl -sX POST "$BASE/zeek/leak-audit" "${H[@]}" \
  -d '{ "mesh":"mesh-1", "session":"coord-9f" }'
# → { "leak": false, "finding": null, "scanned_bytes": 20480 }

# Profile MTU/fragmentation on the overlay (MEDIUM outside 1280–1420)
curl -sX POST "$BASE/zeek/mtu-profile" "${H[@]}" -d '{ "mesh":"mesh-1" }'
# → { "path_mtu": 1420, "fragmented": false, "finding": null }

Publish a detection rule and screen an observable

Detections are code: rules are versioned and immutable. Screening an observable against intel feeds returns a verdict you can attach to a case.

Publish a detection rule and screen an observable
curl -sX POST "$BASE/rules" "${H[@]}" -d '{
  "id":"mesh-rekey-storm", "name":"Rekey storm on a mesh", "severity":"high"
}'
# re-publishing the same id appends v2 — the old version is preserved

curl -sX POST "$BASE/intel/screen" "${H[@]}" \
  -d '{ "type":"ip", "value":"203.0.113.9" }'
# → { "match": true, "feeds":["abuse.ch"], "score": 88 }

Endpoints

A slice of the 56 real operations in SS-28.

Method · path from services/28's openapi.json. The complete catalog for every group is on the docs page.

POST/api/v1/zeek/leak-auditAudit a mesh control-plane session for a zero-knowledge leak (HIGH finding)
GET/api/v1/zeek/leak-auditList mesh control-plane leak-audit results
POST/api/v1/zeek/mtu-profileProfile mesh transit MTU/fragmentation (MEDIUM finding outside the clamp)
GET/api/v1/zeek/coverageNetwork-monitoring coverage by segment
POST/api/v1/zeek/sensorsRegister a Zeek network sensor on a segment/tap
POST/api/v1/zeek/noticesIngest a Zeek notice (raises a network finding)
POST/api/v1/zeek/intel-matchMatch a Zeek Intel-framework observation against feeds
POST/api/v1/rulesPublish a detection rule (append-versioned)
POST/api/v1/rules/{id}/reenableRe-enable an auto-disabled rule
POST/api/v1/eventsIngest a detection event
GET/api/v1/findings/{id}Get a finding
GET/api/v1/cases/{id}Get a case with evidence + enrichment
POST/api/v1/cases/{id}/containmentsCreate a containment on a case
POST/api/v1/containments/{id}/approveApprove a containment (dual-control)
POST/api/v1/containments/{id}/executeExecute an approved containment
POST/api/v1/intel/screenScreen an observable against intel feeds
POST/api/v1/huntsStart a threat hunt
POST/api/v1/hunts/{id}/promotePromote a hunt to a standing rule
POST/api/v1/cde/assessmentRun a CDE segmentation assessment

Architecture placement

Where SS-28 sits in the fabric.

SS-28 attaches sensors to the same segments the mesh runs on: Zeek network sensors mirror a mesh tap, Tetragon watches the hosts, and both raise findings into one case pipeline. The mesh chaos-rig auditor (§29.10) runs the zero-knowledge leak audit and MTU/fragmentation profile directly against SS-26 overlay traffic. Containment is dual-control (approve → execute) and every action is audit-chained to SS-06.