shieldx/dashboard/src/theme.ts
Rene Fichtmueller 1c4c034483 feat: ShieldX v0.3.0 — UnicodeScanner (L5), DNS Covert Channel rules, ATLAS v5.4 mappings
- Layer 4 EntropyScanner: Shannon entropy, Base32/Base64 detection, CVE-2025-55284
  ping/nslookup exfil, EchoLeak markdown pattern, DNS tunneling (iodine/dnscat)
- Layer 5 UnicodeScanner: ASCII Smuggling (U+E0000 Tags Block), Variant Selectors,
  Zero-Width steganography, CamoLeak image-ordering (CVE-2025-53773), homoglyphs,
  BiDi override, high-entropy URL params
- 30 DNS covert channel rules (dns-001 to dns-030)
- ATLASMapper: 29 techniques (ATLAS v5.4.0 Feb 2026), added AML.T0062 (Agent Tool
  Invocation), AML.TA0015 (C2 tactic), memory poisoning, multi-agent trust,
  CamoLeak, Unicode steganography mappings
- Rule count: 72 → 102
- Build: tsup 316ms, zero TypeScript errors
2026-03-31 16:32:16 +02:00

47 lines
1.2 KiB
TypeScript

/** SOC-style dark theme constants */
export const theme = {
colors: {
bg: '#0f172a',
card: '#1e293b',
cardBorder: '#334155',
cardBorderHover: '#475569',
text: '#e2e8f0',
textBright: '#f1f5f9',
textMuted: '#94a3b8',
textDim: '#64748b',
threatNone: '#22c55e',
threatLow: '#3b82f6',
threatMedium: '#eab308',
threatHigh: '#f97316',
threatCritical: '#ef4444',
accent: '#8b5cf6',
accentHover: '#7c3aed',
},
font: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, monospace",
} as const
export type ThreatColorKey = 'none' | 'low' | 'medium' | 'high' | 'critical'
export const THREAT_COLORS: Record<ThreatColorKey, string> = {
none: theme.colors.threatNone,
low: theme.colors.threatLow,
medium: theme.colors.threatMedium,
high: theme.colors.threatHigh,
critical: theme.colors.threatCritical,
}
/** Returns a CSSProperties-compatible inline style object for cards */
export function cardStyle(extra?: React.CSSProperties): React.CSSProperties {
return {
background: theme.colors.card,
border: `1px solid ${theme.colors.cardBorder}`,
borderRadius: 8,
padding: 20,
color: theme.colors.text,
fontFamily: theme.font,
...extra,
}
}