diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 0578543..8ec7cbc 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -3,6 +3,7 @@ import ThreatEvents from './components/ThreatEvents.svelte'; import IocManagement from './components/IocManagement.svelte'; import PrecursorAlerts from './components/PrecursorAlerts.svelte'; + import DevicePosture from './components/DevicePosture.svelte'; import Toast from './components/common/Toast.svelte'; import { onMount } from 'svelte'; import { authApi } from './lib/api'; @@ -19,7 +20,7 @@ localStorage.setItem('ariaSidebarCollapsed', String(sidebarCollapsed)); } - type View = 'dashboard' | 'events' | 'ioc' | 'sequences'; + type View = 'dashboard' | 'events' | 'ioc' | 'sequences' | 'posture'; let currentView: View = 'dashboard'; let eventsInitialSeverity: ThreatSeverity | '' = ''; @@ -33,6 +34,7 @@ else if (e.detail.view === 'events-high') navigate('events', 'HIGH'); else if (e.detail.view === 'ioc') navigate('ioc'); else if (e.detail.view === 'sequences') navigate('sequences'); + else if (e.detail.view === 'posture') navigate('posture'); } onMount(() => { @@ -94,12 +96,9 @@ - {#if !sidebarCollapsed} -
- {/if} - diff --git a/frontend/src/components/Dashboard.svelte b/frontend/src/components/Dashboard.svelte index 63ae8b3..6e54152 100644 --- a/frontend/src/components/Dashboard.svelte +++ b/frontend/src/components/Dashboard.svelte @@ -31,6 +31,7 @@ {#if loading}Per-device security compliance β disk encryption, image integrity, OS currency
+| Device | +OS Version | +OS Status | +Disk Enc. | +Audit Policy | +Whitelist | +Image | +Score | +Last Check | ++ |
|---|---|---|---|---|---|---|---|---|---|
| {device.deviceAgentId ?? device.deviceId} | +{device.osVersion ?? 'β'} | ++ + {eolLabel(device.osEolStatus)} + + | +{boolCell(device.diskEncryptionEnabled)} | +{boolCell(device.auditPolicyCompliant)} | +{boolCell(device.softwareWhitelistEnabled)} | ++ {#if imageMismatch(device)} + Drift + {:else if device.goldImageHash} + Match + {:else} + β + {/if} + | +
+
+
+
+ {device.postureScore ?? 'β'}
+
+
+ |
+ {formatDate(device.lastPostureCheckAt)} | +
+ |
+
Institution: {panelDevice.institutionKey ?? 'β'}
+