whitehat-security/engagements/2026-08-21-tenant-engine-e2.json
tegwick 92f23e690b Record clean security workplan cutoff
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a0260c-4067-7052-9647-ad000d576e38
2026-08-22 00:24:00 +02:00

71 lines
3.3 KiB
JSON

{
"engagement_id": "WH-ENG-20260821-TENANT-E2",
"status": "cancelled",
"cancelled_at": "2026-08-21T22:18:03Z",
"cancellation_reason": "Session cutoff: E2 attacker-model applicability and target-owner acknowledgement remained unresolved. Zero target requests were sent.",
"authorization_id": "operator-session-2026-08-21-e2-approval",
"authorizer": "repository operator and infrastructure owner",
"approved_at": "2026-08-21T21:56:00Z",
"expires_at": "2026-08-21T22:35:00Z",
"target": "http://tenant-engine.tenant-engine.svc.cluster.local:8090",
"target_owner": "tenant-engine / infrastructure operator",
"target_owner_acknowledged_at": null,
"target_owner_acknowledgement_status": "not obtained before cancellation; E2 attacker-model applicability remains unresolved",
"environment": "production",
"production_approval": "Explicit user approval of engagements/2026-08-21-e2-proposals.md in the coordinating session",
"namespace": "tenant-engine",
"source": "dedicated pod user-engine/whitehat-e2-tenant, labelled and attributed with this engagement id",
"control_plane_scope": [
"GET apps/v1 deployment tenant-engine/tenant-engine for target revision only",
"GET v1 service tenant-engine/tenant-engine for target identity only",
"CREATE/GET/DELETE v1 pod user-engine/whitehat-e2-tenant only",
"GET pod log user-engine/whitehat-e2-tenant only"
],
"routes": [
"GET /health",
"POST /tenants",
"GET /tenants/{tenant_id}",
"GET /tenants/{tenant_id}/roles",
"GET /tenants/{tenant_id}/roles/live",
"GET /tenants/{tenant_id}/guardrails",
"POST /tenants/{tenant_id}/roles/grant",
"POST /tenants/{tenant_id}/roles/revoke",
"POST /tenants/{tenant_id}/plan",
"PATCH /tenants/{tenant_id}",
"POST /tenants/{tenant_id}/retire",
"POST /tenants/{tenant_id}/reactivate",
"POST /tenants/{tenant_id}/grouping",
"PUT /tenants/{tenant_id}/guardrails/{limit_key}",
"DELETE /tenants/{tenant_id}/guardrails/{limit_key}"
],
"fixture_ids": [
"whitehat-e2-a-20260821", "tenant:trial:whitehat-e2-a-20260821",
"whitehat-e2-b-20260821", "tenant:trial:whitehat-e2-b-20260821",
"whitehat-e2-absent-20260821"
],
"credential_lane": "projected Kubernetes service identity from the existing user-engine ingress class; no credential value retained",
"credential_role": "ordinary user-engine caller with target-owner-confirmed flex-auth policy",
"credential_max_ttl_seconds": 900,
"techniques": ["e2-differential"],
"prohibited_techniques": [
"discovery", "direct-database-access", "saturation", "large-payload",
"real-data-collection", "adjacent-service-follow-up",
"any control-plane operation outside control_plane_scope"
],
"rate_limit_per_minute": 10,
"max_concurrency": 1,
"maximum_requests": 60,
"window_start": "2026-08-21T22:20:00Z",
"window_end": "2026-08-21T22:35:00Z",
"operator_contact": "repository operator in coordinating session",
"abort_contact": "repository operator in coordinating session",
"abort_thresholds": {
"p95_latency_ms": 500,
"probe_attributable_5xx": 1,
"unexpected_or_non_fixture_data": 1,
"missing_attribution": 1
},
"posture_claim": "implemented E2; currently evidenced E1",
"attacker_model": "E2-authenticated-tenant-a",
"finding_destination": "risk-nexus"
}