You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document defines the schema for Scenario Definition files — the input that the Generator reads to produce dataset bundles. For the overall platform architecture and N-dimensional environment model, see the overview document.
1. Purpose
A Scenario Definition file declares one specific combination of the N-dimensional axes defined in the overview document, along with the concrete details the Generator needs for execution:
Which environment axes are selected (scale, encryption, workload, threat, attacker, AI agent, AI control)
What infrastructure to provision (hosts, network topology)
What activities to run and when (normal behavior, attack behavior, timeline)
What artifacts to collect
How long the scenario runs
Each file represents one dataset generation run. The Generator reads this file and produces a complete Dataset Bundle.
2. Format
Scenario Definition files use YAML:
Human-readable and editable
Supports comments (useful for documenting scenario rationale)
Widely supported across tooling ecosystems
Naturally represents the hierarchical structure of scenario configuration
File extension: .scenario.yaml
3. Top-Level Structure
# Top-level structure of a Scenario Definition filemetadata: # Scenario identity and descriptionenvironment: # N-dimensional axis selectionsinfrastructure: # Hosts, network topology, encryption setupactivities: # Normal and attack behavior definitions + timelinecollection: # What artifacts to capture and whereduration: # Total scenario runtime
4. Field Definitions
4.1 metadata
Identifies the scenario and provides context.
Field
Type
Required
Description
name
string
yes
Unique identifier for this scenario (e.g., small-tls-exfil-human)
description
string
yes
Human-readable description of what this scenario generates
version
string
yes
Schema version (e.g., 1.0)
tags
string[]
no
Freeform tags for categorization (e.g., ["phase-1", "anchor-case"])
metadata:
name: small-tls-exfil-humandescription: > Small office environment with TLS encryption. Human attacker performs staged data exfiltration over 24 hours.version: "1.0"tags: ["phase-1", "anchor-case", "data-exfiltration"]
4.2 environment
Declares the N-dimensional axis selections. Each field maps to one axis from the overview document.
Some axes accept a single value, others accept an array when multiple characteristics coexist in one scenario.
Field
Type
Required
Allowed Values
Description
scale
string
yes
small, medium, large
Network/org size
encryption
string[]
yes
tls, tls_termination, https_proxy, e2e
Encryption architecture(s)
workload
string[]
yes
endpoint, server, cloud
Workload profile(s)
threat
string[]
yes
insider, external, exfiltration, automated
Threat category/categories
attacker
string[]
yes
human, scripted, ai_assisted, ai_actor
Attacker model(s)
ai_agent
string[]
no
internal, external
AI Agent deployment(s). Omit if no AI Agent.
ai_control
string
no
monitoring, enforcement
AI Agent control mode. Omit if no AI Agent. Used with ai_agent.
# Simple scenarioenvironment:
scale: smallencryption: [tls]workload: [endpoint]threat: [exfiltration]attacker: [human]# ai_agent omitted — no AI Agent in this scenario# Complex scenarioenvironment:
scale: mediumencryption: [tls, tls_termination] # TLS on external, terminated at LBworkload: [endpoint, server] # Both endpoint and server workloadsthreat: [external, exfiltration] # External attacker performing exfiltrationattacker: [human, scripted] # Human attacker using automated scriptsai_agent: [internal]ai_control: monitoring
4.3 infrastructure
Defines the hosts and network topology for this scenario.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Scenario Definition Schema
This document defines the schema for Scenario Definition files — the input that the Generator reads to produce dataset bundles. For the overall platform architecture and N-dimensional environment model, see the overview document.
1. Purpose
A Scenario Definition file declares one specific combination of the N-dimensional axes defined in the overview document, along with the concrete details the Generator needs for execution:
Each file represents one dataset generation run. The Generator reads this file and produces a complete Dataset Bundle.
2. Format
Scenario Definition files use YAML:
File extension:
.scenario.yaml3. Top-Level Structure
4. Field Definitions
4.1
metadataIdentifies the scenario and provides context.
namesmall-tls-exfil-human)descriptionversion1.0)tags["phase-1", "anchor-case"])4.2
environmentDeclares the N-dimensional axis selections. Each field maps to one axis from the overview document.
Some axes accept a single value, others accept an array when multiple characteristics coexist in one scenario.
scalesmall,medium,largeencryptiontls,tls_termination,https_proxy,e2eworkloadendpoint,server,cloudthreatinsider,external,exfiltration,automatedattackerhuman,scripted,ai_assisted,ai_actorai_agentinternal,externalai_controlmonitoring,enforcementai_agent.4.3
infrastructureDefines the hosts and network topology for this scenario.
4.3.1
infrastructure.hostsA list of hosts to provision.
namewin-001)oswindowsorlinuxroleworkstation,server,attacker,proxy,mail_server,db_serverprovisioncontainerorvmtools["sysmon", "curl"])4.3.2
infrastructure.networkDefines the network topology.
segmentssegments[].nameinternal,dmz)segments[].subnet10.0.1.0/24)segments[].hostsroutingrouting[].fromrouting[].torouting[].policyallow,deny, ornat4.3.3
infrastructure.encryptionEncryption-specific configuration. Content depends on the
environment.encryptionaxis selection.tls_versions["1.2", "1.3"])termination_hostencryption: tls_termination)proxy_hostencryption: https_proxy)proxy_ca4.4
activitiesDefines what happens during the scenario: normal behavior, attack behavior, and when each occurs.
4.4.1
activities.normalA list of normal behavior generators to run.
typeweb_browsing,email,file_sharing,database,ssh,background_traffichostsstart0h,2h30m)endintensitylow,medium,high(default:medium)config4.4.2
activities.attackA list of attack activities with their timing and configuration.
nametechniqueT1046)phasereconnaissance,initial_access,credential_access,lateral_movement,c2,exfiltrationtoolnmap,atomic_red_team,caldera)sourcetargetstartdurationconfig4.5
collectionSpecifies what artifacts to collect and from where.
pcappcap[].interfaceallpcap[].outputedge.pcap)sysmonsysmon[].hostsfalcofalco[].hostsdb_logsdb_logs[].hostcloud_logs4.6
durationTotal scenario runtime.
total24h,7d)5. Example
This example illustrates the schema format. Actual anchor cases are defined in a separate document (Anchor Case Selection).
6. Schema Validation
The Generator validates every Scenario Definition file before execution:
infrastructure.hostsinfrastructure.network.segmentsstart+durationmust not exceed scenarioduration.totaltermination_host) must be present when the corresponding encryption architecture is selectedValidation errors are reported before any provisioning begins.
All reactions