doctor enhancements, setup, enhancements, ui functionality and design consolidation and , test projects fixes , product advisory attestation/rekor and delta verfications enhancements
This commit is contained in:
435
docs-archived/ui-analysis/rework/02-wireframes.md
Normal file
435
docs-archived/ui-analysis/rework/02-wireframes.md
Normal file
@@ -0,0 +1,435 @@
|
||||
Below are the redesigned **flagship page wireframes (ASCII)** for Stella Ops as an **evidence-based release control plane** with **hybrid reachability** as a first-class gate and explanation layer.
|
||||
|
||||
I’m keeping the pages “small” in feel: the **most important words first**, then compact supporting text, with **deep detail behind links/panels**.
|
||||
|
||||
---
|
||||
|
||||
## 0) Shared Shell (applies to all flagship pages)
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Stella Ops [ Search: release | digest | CVE | env | target ] Tenant: ACME User ▼ │
|
||||
│ Offline: OK Feed Snapshot: 2026-01-15 Policy Baseline: prod-baseline v3.1 Evidence: ON│
|
||||
├───────────────┬────────────────────────────────────────────────────────────────────────────┤
|
||||
│ CONTROL PLANE │ Breadcrumb: <Section> > <Page> │
|
||||
│ RELEASES │ │
|
||||
│ APPROVALS │ <router-outlet> │
|
||||
│ SECURITY │ │
|
||||
│ EVIDENCE │ │
|
||||
│ OPERATIONS │ │
|
||||
│ SETTINGS │ │
|
||||
└───────────────┴────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
Conventions:
|
||||
- Primary actions are top-right.
|
||||
- “Open Evidence” and “Open Proof Chain” are always one click away when decisions happen.
|
||||
- Digests show short form + copy action; full value in hover/expand.
|
||||
- Gate states: [PASS] [WARN] [BLOCK]
|
||||
- Reachability states: Reachable / Unreachable / Uncertain + Confidence + Witness link
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 1) CONTROL PLANE — Overview (new `/`)
|
||||
|
||||
**Goal:** answer in one screen: **what’s deployed where**, **what’s pending**, **what changed**, **what needs me**.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ CONTROL PLANE │
|
||||
│ Release governance with evidence. Promote by digest. Explain every decision. [Docs →] │
|
||||
│ [Create Release]│
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ENVIRONMENT PIPELINE │
|
||||
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
|
||||
│ │ DEV │ --->│ QA │ --->│ STAGING │ --->│ PROD │ │
|
||||
│ │ v1.3.0 │ │ v1.2.5 │ │ v1.2.4 │ │ v1.2.3 │ │
|
||||
│ │ OK │ │ OK │ │ PENDING │ │ OK │ │
|
||||
│ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │
|
||||
│ Deployed by digest. Click an environment to see targets, drift, and evidence. │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌───────────────────────────────────────────────┐ ┌──────────────────────────────────────┐ │
|
||||
│ │ ACTION INBOX │ │ DRIFT & RISK CHANGES │ │
|
||||
│ │ (what needs attention) │ │ (since last evidence) │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ • 3 approvals pending │ │ • 2 promotions newly BLOCKED │ │
|
||||
│ │ • 1 blocked promotion (reachability) │ │ • 5 CVEs updated (1 reachable) │ │
|
||||
│ │ • 2 failed deployments (retry available) │ │ • 1 feed stale risk (OSV 36h old) │ │
|
||||
│ │ • 1 key expiring in 14 days │ │ • 0 config drifts in prod │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ [Go to Approvals] [Go to Deployments] │ │ [View Drift] [View Security Impact] │ │
|
||||
│ └───────────────────────────────────────────────┘ └──────────────────────────────────────┘ │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ PENDING PROMOTIONS │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Release From → To Status Gates Risk Delta Actions │ │
|
||||
│ │ v1.2.5 QA → Staging Waiting [PASS][WARN] +2 new CVEs [Open Approval] │ │
|
||||
│ │ v1.2.6 Dev → QA Auto-approved [PASS] net safer [Deploy Now] │ │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2) RELEASES — List (`/releases`)
|
||||
|
||||
**Goal:** inventory releases as **immutable bundles**, show **where deployed**, and enable **promotion/evidence**.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ RELEASES │
|
||||
│ Immutable digest bundles. Promote releases across environments. [Docs →] │
|
||||
│ [Create Release] [Export CSV] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Filters: [Search release/component/digest…] [Env ▼] [Deployed ▼] [Gate ▼] [Date ▼] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ Release Bundle Digest Components Deployed Where Gates Evidence Action│
|
||||
│ │ v1.2.6 sha256:9c1…3a 12 Dev, QA [PASS] Signed [View]│
|
||||
│ │ v1.2.5 sha256:7aa…2f 12 QA [WARN] Signed [View]│
|
||||
│ │ v1.2.4 sha256:0b2…c9 11 Staging [PASS] Signed [View]│
|
||||
│ │ v1.2.3 sha256:1d9…11 11 Prod [PASS] Signed [View]│
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ Multi-select actions: [Request Promotion] [Generate Evidence] [Replay Verify] [Compare] │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3) RELEASES — Release Detail (`/releases/:releaseId`)
|
||||
|
||||
**Goal:** one flagship screen that ties **promotion + gates + reachability + evidence + proof chain**.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ RELEASE v1.2.5 │
|
||||
│ Bundle: sha256:7aa…2f (copy) Created: 2026-01-15 Source: CI build #882 [Docs →] │
|
||||
│ [Request Promotion] [Rollback] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ DEPLOYMENT MAP │
|
||||
│ Dev: v1.3.0 (not this) QA: v1.2.5 (THIS) Staging: pending Prod: v1.2.3 │
|
||||
│ [Open Environment QA] [Open Approval] [Open Deployments] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Tabs: [Overview] [Components] [Gates] [Promotions] [Deployments] [Evidence] [Proof Chain] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ OVERVIEW │
|
||||
│ ┌───────────────────────────────────────────────┐ ┌──────────────────────────────────────┐ │
|
||||
│ │ GATE SUMMARY (Policy: stg-baseline v3.1) │ │ SECURITY IMPACT │ │
|
||||
│ │ SBOM signed: [PASS] │ │ New CVEs: 2 (1 reachable) │ │
|
||||
│ │ Provenance present: [PASS] │ │ Fixed CVEs: 5 │ │
|
||||
│ │ Reachability coverage: [WARN] 89% │ │ VEX: 2 not-affected, 1 under review │ │
|
||||
│ │ Critical reachable: [BLOCK] 1 (0.82 conf) │ │ Exceptions: 0 │ │
|
||||
│ │ │ │ [Open Findings for this Release] │ │
|
||||
│ │ [Open Reachability Witness] [Explain] │ └──────────────────────────────────────┘ │
|
||||
│ └───────────────────────────────────────────────┘ │
|
||||
│
|
||||
│ MOST RECENT EVIDENCE PACKET │
|
||||
│ Evidence: EVD-2026-0045 Signed: YES Verified: YES Feed Snapshot: 2026-01-15 │
|
||||
│ [Open Evidence Packet] [Export Bundle] [Replay Verify] │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4) APPROVALS — Inbox (`/approvals`)
|
||||
|
||||
**Goal:** make approvals the **decision cockpit**: diff-first, evidence-first, reachability-first.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ APPROVALS │
|
||||
│ Decide promotions with policy + reachability, backed by signed evidence. [Docs →] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Filters: [Pending ▼] [Env ▼] [Team ▼] [Policy Baseline ▼] [Search…] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ PENDING (3) │
|
||||
│ ├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │ v1.2.5 QA → Staging Requested by: deploy-bot 2h ago │
|
||||
│ │ WHAT CHANGED: +3 pkgs +2 CVEs (1 reachable) -5 fixed Drift: none │
|
||||
│ │ GATES: SBOM[PASS] Provenance[PASS] Reachability[BLOCK] VEX[WARN] │
|
||||
│ │ Actions: [Open] [Open Evidence] [Open Witness] [Request Exception] [Approve] [Reject] │
|
||||
│ ├──────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │ v1.2.6 Dev → QA Auto-approved gates. Waiting deploy window. │
|
||||
│ │ WHAT CHANGED: net safer -2 CVEs Coverage: 92% │
|
||||
│ │ Actions: [Deploy Now] [Open Evidence] │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5) APPROVALS — Approval Detail (`/approvals/:approvalId`)
|
||||
|
||||
**Goal:** show everything needed to make a decision—without navigating away.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ APPROVAL: v1.2.5 QA → Staging │
|
||||
│ Requested by: deploy-bot 2h ago Policy: stg-baseline v3.1 Feed Snapshot: 2026-01-15 │
|
||||
│ [Open Evidence] [Docs →] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ LEFT: DIFF & GATES RIGHT: DECISION & COMMENTS │
|
||||
│ ┌───────────────────────────────────────────────────────┐ ┌─────────────────────────────┐ │
|
||||
│ │ WHAT CHANGED (Diff-first) │ │ DECISION │ │
|
||||
│ │ Components changed: 3 │ │ [Approve] [Reject] │ │
|
||||
│ │ New CVEs: 2 (1 reachable) │ │ Require comment: [____] │ │
|
||||
│ │ Fixed CVEs: 5 │ │ Optional: [Request Exception]│ │
|
||||
│ │ Config drift: none │ └─────────────────────────────┘ │
|
||||
│ ├───────────────────────────────────────────────────────┤ │
|
||||
│ │ GATES (expandable) │ ┌─────────────────────────────┐ │
|
||||
│ │ SBOM signed: [PASS] │ │ COMMENTS / AUDIT NOTES │ │
|
||||
│ │ Provenance attested: [PASS] │ │ - user1: needs exception? │ │
|
||||
│ │ Reachability: [BLOCK] │ │ - sec: confirm witness path │ │
|
||||
│ │ VEX consensus: [WARN] │ │ [Add comment] │ │
|
||||
│ │ │ └─────────────────────────────┘ │
|
||||
│ │ [Explain Gate Results] [Open Proof Chain] │ │
|
||||
│ └───────────────────────────────────────────────────────┘ │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ REACHABILITY WITNESS (the moat) │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Finding: CVE-2026-1234 in log4j │
|
||||
│ │ State: Reachable Confidence: 0.82 Reason: static path + runtime signal present │
|
||||
│ │ Witness Path: main() → processRequest() → Logger.log() → vulnerable() │
|
||||
│ │ Guards: none detected Dynamic loading: no │
|
||||
│ │ Actions: [Open Full Witness] [Export DOT] [Replay Verify] │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6) ENVIRONMENTS — List (`/environments`)
|
||||
|
||||
**Goal:** show environments as **release destinations** (not just config objects).
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ENVIRONMENTS │
|
||||
│ What is deployed where, with policy and evidence. [Docs →] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ Environment Current Release Freeze Targets Policy Baseline Last Deploy Action│
|
||||
│ │ Dev v1.3.0 Off 12 dev-baseline v2.0 10m ago [Open]│
|
||||
│ │ QA v1.2.5 Off 8 qa-baseline v2.5 2h ago [Open]│
|
||||
│ │ Staging v1.2.4 On 6 stg-baseline v3.1 6h ago [Open]│
|
||||
│ │ Prod v1.2.3 Off 20 prod-baseline v3.1 1d ago [Open]│
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7) ENVIRONMENTS — Environment Detail (`/environments/:envId`)
|
||||
|
||||
**Goal:** environment as a “release ledger”: targets, drift, promotions, evidence.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ENVIRONMENT: Staging │
|
||||
│ Current: v1.2.4 Policy: stg-baseline v3.1 Freeze: ON (window 18:00–20:00 UTC) [Docs →]│
|
||||
│ [Request Promotion] [Open Evidence] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Tabs: [Overview] [Targets] [Promotions] [Deployments] [Drift] [Evidence] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ OVERVIEW │
|
||||
│ ┌───────────────────────────────────────────────┐ ┌──────────────────────────────────────┐ │
|
||||
│ │ RELEASE HISTORY (ledger) │ │ CURRENT RISK SNAPSHOT │ │
|
||||
│ │ v1.2.2 → v1.2.3 → v1.2.4 (current) │ │ Gate summary: [PASS][WARN] │ │
|
||||
│ │ Last promotion: QA → Staging 6h ago │ │ Reachability coverage: 89% │ │
|
||||
│ │ Evidence: EVD-2026-0044 (verified) │ │ Drift since evidence: none │ │
|
||||
│ │ [Open Proof Chain] │ │ [Open Findings Impacting Staging] │ │
|
||||
│ └───────────────────────────────────────────────┘ └──────────────────────────────────────┘ │
|
||||
│
|
||||
│ TARGETS (quick view) │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Target Type Status Deployed Digest Last Seen Action │ │
|
||||
│ │ stg-host-01 Docker OK sha256:abc… 1m ago [Details] │ │
|
||||
│ │ stg-compose-02 Compose OK sha256:abc… 1m ago [Details] │ │
|
||||
│ │ stg-ecs-service ECS OK sha256:abc… 2m ago [Details] │ │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8) DEPLOYMENTS — List (`/deployments`)
|
||||
|
||||
**Goal:** operational truth: deployments as executions with artifacts + evidence.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ DEPLOYMENTS │
|
||||
│ Execution history by environment and release, with evidence for every run. [Docs →] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Filters: [Env ▼] [Release ▼] [Status ▼] [Target Type ▼] [Date ▼] [Search…] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ Deployment Env Release Started Duration Status Evidence Action │
|
||||
│ │ DEP-2026-045 Prod v1.2.3 2h ago 3m12s OK Verified [Open] │
|
||||
│ │ DEP-2026-044 Staging v1.2.4 6h ago 2m55s OK Verified [Open] │
|
||||
│ │ DEP-2026-043 QA v1.2.5 10h ago 5m01s FAILED Partial [Open] │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9) DEPLOYMENTS — Run Detail (`/deployments/:deployId`)
|
||||
|
||||
**Goal:** show workflow DAG, logs, generated artifacts (immutable), and evidence.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ DEPLOYMENT: DEP-2026-045 │
|
||||
│ Env: Prod Release: v1.2.3 Plan Hash: ph_91a… Agent: prod-agent-02 [Docs→]│
|
||||
│ [Open Evidence] [Rollback] [Replay Verify]│
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Tabs: [Workflow] [Targets] [Artifacts] [Logs] [Evidence] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ WORKFLOW (DAG) │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Fetch Digests → Generate compose.stella.lock.yml → Deploy → Verify → Seal Evidence │
|
||||
│ │ OK OK OK OK OK │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
│
|
||||
│ ARTIFACTS (immutable outputs) │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ compose.stella.lock.yml sha256:11a… [View] [Download] │
|
||||
│ │ deploy.stella.script.dll sha256:22b… [View] [Download] │
|
||||
│ │ release.evidence.json sha256:33c… [View] [Download] │
|
||||
│ │ stella.version.json sha256:44d… [View] [Download] │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 10) EVIDENCE — Evidence Center (`/evidence`)
|
||||
|
||||
**Goal:** one unified hub for evidence packets (release/promotion/deploy/audit), verification, export, replay.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ EVIDENCE │
|
||||
│ Search, verify, export signed evidence packets and proof chains. [Docs →]│
|
||||
│ [Create Audit Bundle] [Export] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Filters: [Type ▼] [Release ▼] [Env ▼] [Signed ▼] [Verified ▼] [Date ▼] [Search…] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ Evidence ID Type Subject Signed Verified Snapshot Action │
|
||||
│ │ EVD-2026-0045 Promotion v1.2.5 QA→Staging Yes Yes 2026-01-15 [Open] │
|
||||
│ │ EVD-2026-0044 Deployment DEP-2026-044 Yes Yes 2026-01-15 [Open] │
|
||||
│ │ EVD-2026-0043 Release v1.2.3 Yes Yes 2026-01-14 [Open] │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11) EVIDENCE — Evidence Packet Viewer (`/evidence/:evidenceId`)
|
||||
|
||||
**Goal:** evidence as a structured “who/what/why/how/when” record + bundle contents + verify.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ EVIDENCE PACKET: EVD-2026-0045 │
|
||||
│ Type: Promotion Subject: v1.2.5 QA→Staging Signed: YES Verified: YES [Docs →]│
|
||||
│ [Download Bundle] [Open Proof Chain] [Replay Verify]│
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ SUMMARY (audit-friendly) │
|
||||
│ Who: user1@acme What: release bundle sha256:7aa…2f When: 2026-01-15 10:23 UTC │
|
||||
│ Why: Gate verdict BLOCK (reachability) + VEX WARN │
|
||||
│ How: workflow ph_91a… agent prod-agent-02 │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ CONTENTS │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ SBOM (CycloneDX 1.7) sha256:aa1… [View] [Download] │ │
|
||||
│ │ Policy verdict (K4 lattice) sha256:bb2… [View] [Explain] │ │
|
||||
│ │ Reachability witness slice sha256:cc3… [Open Witness] [Export DOT] │ │
|
||||
│ │ VEX statements (OpenVEX) sha256:dd4… [View] │ │
|
||||
│ │ Attestations (DSSE) sha256:ee5… [View] │ │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 12) SECURITY — Findings (release-aware) (`/security/findings`)
|
||||
|
||||
**Goal:** security becomes decision support: every finding shows **impact on releases/environments**.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ SECURITY FINDINGS │
|
||||
│ Findings with reachability and release impact. Triage feeds the release gates. [Docs →]│
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ Filters: [Search CVE/pkg/release…] [Severity ▼] [Reachability ▼] [Env Impact ▼] [Date ▼] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ │ Sev Finding Component Reachability (conf) Impacts Gate Impact │
|
||||
│ │ CRIT CVE-2026-1234 log4j@2.14.1 Reachable (0.82) v1.2.5 Staging BLOCK │
|
||||
│ │ HIGH CVE-2026-5678 spring@5.2.1 Uncertain (0.55) v1.2.6 QA WARN │
|
||||
│ │ MED CVE-2026-9012 commons-io@2.4 Unreachable (0.90) v1.2.3 Prod PASS │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ Selecting a row opens a detail drawer: Witness, VEX status, Exceptions, Evidence links. │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 13) SECURITY — Vulnerability Detail (impact-first) (`/security/vulnerabilities/:cveId`)
|
||||
|
||||
**Goal:** unify CVE intelligence with **where it matters** (deployed + gated) + VEX + reachability witness.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ VULNERABILITY: CVE-2026-1234 │
|
||||
│ Severity: Critical CVSS: 9.8 EPSS: 0.72 Exploited: Yes (KEV) [Docs →]│
|
||||
│ [Open Findings] [Open Evidence] [Open Witness] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ IMPACT (where it matters) │
|
||||
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Deployed Environments: Staging (via v1.2.5), Prod (via v1.2.3) │ │
|
||||
│ │ Gate Impact: Blocks QA→Staging promotions for v1.2.5 │ │
|
||||
│ │ Fix path: Upgrade log4j to 2.17.x (available) │ │
|
||||
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ REACHABILITY SUMMARY │
|
||||
│ State: Reachable Confidence: 0.82 Witness: main()→processRequest()→Logger.log()→vuln() │
|
||||
│ Guards: none detected Dynamic loading: no │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 14) Reachability Witness Viewer (full page when needed) (`/witness/:id`)
|
||||
|
||||
**Goal:** this is your “best-in-class” differentiator page—clear, exportable, replayable.
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ REACHABILITY WITNESS │
|
||||
│ Subject: CVE-2026-1234 Component: log4j@2.14.1 Release: v1.2.5 Env: Staging [Docs →]│
|
||||
│ State: Reachable Confidence: 0.82 Snapshot: 2026-01-15 Deterministic: YES │
|
||||
│ [Export DOT] [Export Mermaid] [Replay Verify] │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ PATH (human-readable) │
|
||||
│ main() → processRequest() → Logger.log() → vulnerable_function() │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ EXPLANATION (why confidence is 0.82) │
|
||||
│ • Static path found: yes │
|
||||
│ • Runtime signal present: yes │
|
||||
│ • Guards detected: none │
|
||||
│ • Dynamic loading: no │
|
||||
│ • Reflection: no │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ GRAPH (collapsed by default; expand on demand) │
|
||||
│ [ Expand Graph Viewer ] │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user