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:
master
2026-01-19 09:02:59 +02:00
parent 8c4bf54aed
commit 17419ba7c4
809 changed files with 170738 additions and 12244 deletions

View File

@@ -0,0 +1,379 @@
# Stella Ops UI Structure - Part 2: Home & Analyze Screens
---
## 1. HOME DASHBOARD
**Route:** `/`
**Component:** `HomeDashboardComponent`
**Location:** `src/app/features/home/home-dashboard.component.ts`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ SECURITY DASHBOARD │
│ [Last updated] [Refresh]│
├────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────┐│
│ │ VULNERABILITIES │ │ RISK OVERVIEW │ │ REACHABILITY ││
│ │ [View all →] │ │ [View details →] │ │ [Explore →] ││
│ ├─────────────────────────┤ ├─────────────────────────┤ ├─────────────────┤│
│ │ Critical ████████ 245 │ │ ┌───────────┐ │ │ ┌───────┐ ││
│ │ High ██████ 89 │ │ / 72 \ │ │ / 75% \ ││
│ │ Medium ███████ 156 │ │ │ SCORE │ │ │ │ REACH. │ ││
│ │ Low ████ 42 │ │ \ ↑ 5% / │ │ \ / ││
│ │ │ │ └───────────┘ │ │ └───────┘ ││
│ │ Total Findings: 532 │ │ │ │ ││
│ │ │ │ [Crit] [High] [Medium] │ │ ● Reachable ││
│ │ │ │ 12 34 89 │ │ ● Unreachable ││
│ └─────────────────────────┘ └─────────────────────────┘ │ ● Uncertain ││
│ └─────────────────┘│
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────┐│
│ │ COMPLIANCE STATUS │ │ ACTIVE POLICIES │ │ RECENT SCANS ││
│ ├─────────────────────────┤ ├─────────────────────────┤ ├─────────────────┤│
│ │ [Compliance metrics] │ │ [Policy status list] │ │ [Scan history] ││
│ └─────────────────────────┘ └─────────────────────────┘ └─────────────────┘│
└────────────────────────────────────────────────────────────────────────────────┘
```
### Dashboard Cards:
- Vulnerabilities Summary (by severity with progress bars)
- Risk Overview (circular score with trend indicator)
- Reachability (donut chart with legend)
- Compliance Status
- Active Policies
- Recent Scans
---
## 2. WELCOME PAGE
**Route:** `/welcome`
**Component:** `WelcomePageComponent`
**Location:** `src/app/features/welcome/welcome-page.component.ts`
---
## 3. ANALYZE SECTION
### 3.1 Scans & Findings
**Route:** `/findings`
**Component:** `FindingsContainerComponent`
**Location:** `src/app/features/findings/container/findings-container.component.ts`
**Additional Route:** `/findings/:scanId`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ SCANS & FINDINGS │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ [Search/Filter Bar] [Severity ▼] [Source ▼] [Date Range] [Bulk Actions]│ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ [View Toggle: Diff-First | List | Timeline] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ ☐ │ Sev │ CVE ID │ Package │ Status │ Reach. │ Actions │ │
│ ├───┼─────┼───────────────┼────────────────┼──────────┼────────┼───────────┤ │
│ │ ☐ │ 🔴 │ CVE-2024-1234 │ log4j 2.14.1 │ Open │ ✓ Yes │ [...] [→] │ │
│ │ ☐ │ 🟠 │ CVE-2024-5678 │ spring 5.2.1 │ Triaged │ ✗ No │ [...] [→] │ │
│ │ ☐ │ 🟡 │ CVE-2024-9012 │ commons-io 2.4 │ Open │ ? TBD │ [...] [→] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
│ │
│ [Pagination: < 1 2 3 ... 45 >] │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌─ BULK TRIAGE PANEL ──────────────────────────────────────────────────────┐ │
│ │ Selected: 3 items [Accept Risk] [Create Exception] [Export] [Dismiss] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
```
#### Related Components:
- `FindingsListComponent` - List view
- `BulkTriageViewComponent` - Bulk operations
- `AiChipRowComponent` - AI-enhanced findings
---
### 3.2 Vulnerabilities
**Route:** `/vulnerabilities`
**Component:** `VulnerabilityExplorerComponent`
**Location:** `src/app/features/vulnerabilities/vulnerability-explorer.component.ts`
**Detail Route:** `/vulnerabilities/:vulnId`
**Component:** `VulnerabilityDetailComponent`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ VULNERABILITY EXPLORER │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ 🔍 Search CVE/Package... [Severity ▼] [CVSS ▼] [Exploited ▼] [Year ▼] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌────────────────────────────────────────────────────────────────────────────┐│
│ │ CVE ID │ CVSS │ Severity │ Description │ Exploited │ VEX ││
│ ├───────────────┼──────┼──────────┼───────────────────────┼───────────┼──────┤│
│ │ CVE-2024-... │ 9.8 │ Critical │ Remote code exec... │ 🔴 Yes │ ⚑ ││
│ │ CVE-2024-... │ 7.5 │ High │ SQL injection in... │ ⚪ No │ ││
│ │ CVE-2024-... │ 5.0 │ Medium │ Information disc... │ ⚪ No │ ⚑ ││
│ └────────────────────────────────────────────────────────────────────────────┘│
│ │
│ ┌─ VULNERABILITY DETAIL (slide-out) ───────────────────────────────────────┐ │
│ │ CVE-2024-1234 [Open in new tab] │ │
│ │ ─────────────────────────────────────────────────────────────────────── │ │
│ │ CVSS: 9.8 Critical │ │
│ │ Description: Remote code execution vulnerability in... │ │
│ │ Affected: [package@version list] │ │
│ │ VEX Statements: [consensus status] │ │
│ │ Reachability: [analysis results] │ │
│ │ Fix Available: ✓ Yes - Upgrade to version X.X.X │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
```
---
### 3.3 SBOM Graph
**Route:** `/graph`
**Component:** `GraphExplorerComponent`
**Location:** `src/app/features/graph/graph-explorer.component.ts`
**Required Scope:** `graph:read`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ SBOM GRAPH EXPLORER │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ [Search node...] [Filter by type ▼] [Depth: ▼] [Layout: ▼] [Zoom: ─●─] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────┐ │ │
│ │ ┌────────┤ app-svc ├────────┐ │ │
│ │ │ └────┬────┘ │ │ │
│ │ ▼ │ ▼ │ │
│ │ ┌─────────┐ │ ┌─────────┐ │ │
│ │ │ log4j │◄────────┼──────►│ spring │ │ │
│ │ │ 🔴 vuln │ │ │ 🟠 vuln │ │ │
│ │ └─────────┘ │ └────┬────┘ │ │
│ │ │ │ │ │ │
│ │ ▼ │ ▼ │ │
│ │ ┌─────────┐ ┌────┴───┐ ┌─────────┐ │ │
│ │ │ jackson │ │commons │ │ netty │ │ │
│ │ └─────────┘ └────────┘ └─────────┘ │ │
│ │ │ │
│ │ [Legend: ● Package 🔴 Critical 🟠 High 🟡 Medium ⚫ Low] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├─ NODE DETAILS ─────────────────────────────────────────────────────────────────┤
│ │ Selected: log4j@2.14.1 │ │
│ │ Type: Library │ License: Apache-2.0 │ Dependencies: 12 │ Dependents: 45 │ │
│ │ Vulnerabilities: 3 Critical, 1 High │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
```
---
### 3.4 Lineage
**Route:** `/lineage`
**Component:** `LineageGraphContainerComponent`
**Location:** `src/app/features/lineage/components/lineage-graph-container/lineage-graph-container.component.ts`
**Sub-routes:**
- `/lineage/:artifact/compare` - Compare with artifact context
- `/lineage/compare` - Legacy compare route
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ SBOM LINEAGE GRAPH │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ [Artifact selector ▼] [Version A ▼] ⟷ [Version B ▼] [Compare] │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ │
│ v1.0.0 v1.1.0 v1.2.0 v1.3.0 │
│ ●─────────────●─────────────●─────────────● (lineage timeline) │
│ │ │ │ │ │
│ │ │ ┌──────┴──────┐ │ │
│ │ │ ▼ ▼ │ │
│ │ │ hotfix-a hotfix-b │ │
│ │ │ │ │ │ │
│ │ │ └──────┬──────┘ │ │
│ │ │ ▼ │ │
│ │ │ v1.2.1 │ │
│ │ │ │ │ │
│ └─────────────┴─────────────┴─────────────┘ │
│ │
├─ SMART DIFF ───────────────────────────────────────────────────────────────────┤
│ │ Comparing: v1.2.0 ⟷ v1.3.0 │ │
│ ├──────────────────────────────────────────────────────────────────────────┤ │
│ │ + Added: 3 packages 🔴 New CVEs: 2 │ │
│ │ - Removed: 1 package ✓ Fixed CVEs: 5 │ │
│ │ ↻ Changed: 7 packages ⚠ Degraded: 1 │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
```
---
### 3.5 Reachability Center
**Route:** `/reachability`
**Component:** `ReachabilityCenterComponent`
**Location:** `src/app/features/reachability/reachability-center.component.ts`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ REACHABILITY CENTER │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌─ COVERAGE SUMMARY ───────────────────────────────────────────────────────┐ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ Total CVEs │ │ Reachable │ │ Unreachable│ │ Uncertain │ │ │
│ │ │ 1,234 │ │ 456 │ │ 678 │ │ 100 │ │ │
│ │ │ │ │ (37%) │ │ (55%) │ │ (8%) │ │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌─ REACHABILITY BY ARTIFACT ───────────────────────────────────────────────┐ │
│ │ │ │
│ │ Artifact │ Total │ Reachable │ Unreachable │ Coverage │ │
│ │ ─────────────────────┼───────┼───────────┼─────────────┼─────────────│ │
│ │ app-backend:latest │ 45 │ 12 │ 28 │ ████░░ 62% │ │
│ │ api-gateway:v2.3 │ 32 │ 8 │ 20 │ ███░░░ 50% │ │
│ │ worker-svc:1.0.0 │ 78 │ 45 │ 25 │ ██████ 89% │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├─ CALL PATH VISUALIZATION ──────────────────────────────────────────────────────┤
│ │ Selected: CVE-2024-1234 in log4j │ │
│ │ │ │
│ │ main() → processRequest() → Logger.log() → vulnerable_function() │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
```
---
### 3.6 VEX Hub
**Route:** `/admin/vex-hub`
**Location:** `src/app/features/vex-hub/`
**Sub-routes:**
| Path | Component |
|---|---|
| `/admin/vex-hub` | `VexHubDashboardComponent` |
| `/admin/vex-hub/search` | `VexStatementSearchComponent` |
| `/admin/vex-hub/search/detail/:id` | `VexStatementDetailComponent` |
| `/admin/vex-hub/stats` | `VexHubStatsComponent` |
| `/admin/vex-hub/consensus` | `VexConsensusComponent` |
| `/admin/vex-hub/explorer` | `VexHubComponent` |
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ VEX HUB │
├──────────────────┬─────────────────────────────────────────────────────────────┤
│ NAVIGATION │ │
│ ───────────── │ │
│ [Dashboard] │ VEX DASHBOARD │
│ [Search] │ ───────────────────────────────────────────────────────── │
│ [Stats] │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ [Consensus] │ │ Statements │ │ Conflicts │ │ Consensus │ │
│ [Explorer] │ │ 1,234 │ │ 12 │ │ Reached: 89%│ │
│ │ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ AI FEATURES │ ┌─ RECENT VEX STATEMENTS ────────────────────────────────┐ │
│ ───────────── │ │ CVE ID │ Product │ Status │ Issuer │ │
│ [AI Explain] │ │ CVE-2024-... │ app-svc │ Not Affected │ Vendor A │ │
│ [AI Justify] │ │ CVE-2024-... │ api-gw │ Fixed │ Vendor B │ │
│ [AI Remediate] │ │ CVE-2024-... │ worker │ Under Invest. │ Internal │ │
│ │ └────────────────────────────────────────────────────────┘ │
│ │ │
│ │ ┌─ CONFLICT RESOLUTION ──────────────────────────────────┐ │
│ │ │ 12 conflicts pending review → [Resolve] │ │
│ │ └────────────────────────────────────────────────────────┘ │
└──────────────────┴─────────────────────────────────────────────────────────────┘
```
#### VEX Hub Components:
- `VexHubDashboardComponent`
- `VexStatementSearchComponent`
- `VexStatementDetailComponent`
- `VexStatementDetailPanelComponent`
- `VexHubStatsComponent`
- `VexConsensusComponent`
- `VexConflictResolutionComponent`
- `VexCreateWorkflowComponent`
- `AiConsentGateComponent`
- `AiExplainPanelComponent`
- `AiJustifyPanelComponent`
- `AiRemediatePanelComponent`
---
### 3.7 Unknowns Tracking
**Route:** `/analyze/unknowns`
**Location:** `src/app/features/unknowns-tracking/`
```
┌────────────────────────────────────────────────────────────────────────────────┐
│ UNKNOWNS TRACKING │
├────────────────────────────────────────────────────────────────────────────────┤
│ ┌─ SUMMARY ────────────────────────────────────────────────────────────────┐ │
│ │ Unknown Components: 234 │ Unresolved PURLs: 45 │ Missing SBOMs: 12 │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────┤
│ [Search...] [Type ▼] [Status ▼] [Source ▼] │
├────────────────────────────────────────────────────────────────────────────────┤
│ │ Component Name │ Type │ First Seen │ Status │ Actions │ │
│ ├───────────────────┼───────────┼─────────────┼───────────┼───────────────┤ │
│ │ unknown-lib-1.0 │ Library │ 2024-01-15 │ Pending │ [Match] [Ign] │ │
│ │ mystery-pkg │ Package │ 2024-01-14 │ Reviewing │ [Match] [Ign] │ │
│ │ vendor-binary.dll │ Binary │ 2024-01-13 │ Matched │ [View] │ │
└────────────────────────────────────────────────────────────────────────────────┘
```
---
### 3.8 Patch Map
**Route:** `/analyze/patch-map`
**Component:** `PatchMapComponent`
**Location:** `src/app/features/binary-index/patch-map.component.ts`
Fleet-wide binary patch coverage heatmap visualization.
---
### 3.9 Scan Detail
**Route:** `/scans/:scanId`
**Component:** `ScanDetailPageComponent`
**Location:** `src/app/features/scans/scan-detail-page.component.ts`
---
### 3.10 CVSS Receipt
**Route:** `/cvss/receipts/:receiptId`
**Component:** `CvssReceiptComponent`
**Location:** `src/app/features/cvss/cvss-receipt.component.ts`
---
### 3.11 Compare View
**Route:** `/compare/:currentId`
**Component:** `CompareViewComponent`
**Location:** `src/app/features/compare/components/compare-view/compare-view.component.ts`