🌐 Introducing Threat Surface #45
behemothsecurity
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The Problem
Threat Vector Models previously used three overlapping fields —
platforms,targets, anddomains— each with a flat vocabulary list and no structural relationship between them. This made it difficult to:The Surface
The new
surfacefield replaces all three with a single hierarchical taxonomy using::scoped notation:8 stages structure the entire attack surface:
How it connects
flowchart LR TVM["🔴 Threat Vector<br/><i>threat.surface[]</i>"]:::tvm SRF[("🟠 Threat Surface<br/><i>vocabulary</i>")]:::surface AST["🔵 Asset<br/><i>asset.surface[]</i>"]:::asset LS["🟢 Log Source"]:::logsource TVM -. references .-> SRF AST -. references .-> SRF TVM =="surface overlap<br/>→ targeted asset"==> AST LS -- monitors --> AST classDef tvm fill:#d32f2f,color:#fff,stroke:#b71c1c,stroke-width:2px,rx:8 classDef surface fill:#ff9800,color:#fff,stroke:#e65100,stroke-width:2px,rx:8 classDef asset fill:#1976d2,color:#fff,stroke:#0d47a1,stroke-width:2px,rx:8 classDef logsource fill:#388e3c,color:#fff,stroke:#1b5e20,stroke-width:2px,rx:8A TVM targets surface entries; an Asset exposes surface entries. When they overlap (hierarchical prefix match), the asset is a targeted asset — tracing its log sources reveals detection visibility and blind spots.
Vocabulary Extensions
Instance-specific surface entries can be injected via
schema.tomlwithout modifying the core vocabulary:These appear in JSON Schema enums and IDE autocomplete alongside the 900 core entries.
Documentation
TVM documentation now includes a dedicated Threat Surface section:
Engine Improvements
EnumResolver refactor
The JSON Schema generation pipeline was restructured into a unified
EnumResolverclass with nestedFetchandResolveinner classes, replacing the previous scatteredFetchEnumsandgen_lib_schemafunctions. This also enablestide.vocabresolution in configuration meta schemas — powering the visibility assetsurfacefield auto-enum.Config Schema Automation
Configuration meta schemas (visibility, deployment, etc.) now support automated JSON Schema generation with vocabulary resolution:
Deprecation
The
targets,platforms, anddomainsfields are deprecated and hidden from templates (tide.template.hide: true). They remain in the schema for backward compatibility with existing TVM files pending the surface remapping migration.What's Next
With the vocabulary and schema in place, the next step is the surface remapping — migrating all existing TVMs from the legacy fields to the new
surfacearray. A pre-computed mapping file with enriched proposals for all 485 TVMs is ready for execution.This discussion was created from the release 🌐 Introducing Threat Surface.
All reactions