changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "applications": {
+ "description": "The application names this environment knows: the values `app` arguments accept.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "posture": {
+ "description": "Counts for the whole environment.",
+ "properties": {
+ "activePaths": {
+ "description": "Routes still on the board, that is not suppressed.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "criticalPaths": {
+ "description": "Routes found by the latest analysis, suppressed ones included: the number list_attack_paths pages through.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "edges": {
+ "description": "Relationships in the graph.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "kevOnPaths": {
+ "description": "Distinct known-exploited vulnerabilities (CISA KEV) sitting on a route.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "nodes": {
+ "description": "Assets in the graph.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "policyViolations": {
+ "description": "Violations of the policy invariants: rules the environment is never meant to break.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "runtimeConfirmed": {
+ "description": "Open routes with a runtime alert on them: an attack may be in progress.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "suppressedPaths": {
+ "description": "Routes an analyst has triaged off the board (accepted risk, false positive).",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "riskSimulation": {
+ "description": "The environment's overall risk, simulated over every route at once.",
+ "properties": {
+ "anyCompromiseProbability": {
+ "description": "Probability that at least one sensitive asset is reached, 0-1. A modelled estimate, not a measured rate: see get_score_trust.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "crownJewels": {
+ "description": "The sensitive assets, each with the probability that an attacker reaches it.",
+ "items": {
+ "properties": {
+ "compromiseProbability": {
+ "description": "Probability this asset is reached, 0-1. A modelled estimate, not a measured rate: see get_score_trust.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "label": {
+ "description": "Asset type, e.g. IAM_Role, Bucket, Database.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "description": "Asset name. Pass it to routes_to_target as `target`.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "sensitivityHigh": {
+ "description": "High end of the same band.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "sensitivityLow": {
+ "description": "Low end of that probability when every hop is resampled within its uncertainty.",
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+}