{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/shleder/vetto/blob/main/docs/schema/session-stats.schema.json",
"title": "vetto SessionStats report",
"description": "The stable JSON report emitted by vetto for one sandbox session.",
"type": "object",
"additionalProperties": false,
"properties": {
"started_at": { "type": ["string", "null"], "format": "date-time" },
"ended_at": { "type": ["string", "null"], "format": "date-time" },
"duration_secs": { "type": "integer", "minimum": 0 },
"exit_code": { "type": "integer" },
"tier": { "type": "string" },
"net_mode": { "type": "string" },
"profile": { "type": "string" },
"events_total": { "type": "integer", "minimum": 0 },
"counts": {
"type": "object",
"additionalProperties": { "type": "integer", "minimum": 0 }
},
"op_counts": {
"type": "object",
"additionalProperties": { "type": "integer", "minimum": 0 }
},
"file_reads": { "type": "integer", "minimum": 0 },
"file_writes": { "type": "integer", "minimum": 0 },
"blocked_attempts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["path", "comm", "source", "count"],
"properties": {
"path": { "type": "string" },
"comm": { "type": "string" },
"source": { "type": "string" },
"count": { "type": "integer", "minimum": 1 }
}
}
},
"net_requests": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["host", "port", "allowed"],
"properties": {
"host": { "type": "string" },
"port": { "type": "integer", "minimum": 0, "maximum": 65535 },
"allowed": { "type": "boolean" }
}
}
},
"suspicious_signals": {
"description": "Best-effort advisory classifier output; never an enforcement decision.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["category", "severity", "subject", "reason", "count"],
"properties": {
"category": { "type": "string" },
"severity": {
"type": "string",
"enum": ["advisory", "warning", "high"]
},
"subject": { "type": "string" },
"reason": { "type": "string" },
"count": { "type": "integer", "minimum": 1 }
}
}
},
"notices": {
"type": "array",
"items": { "type": "string" }
}
},
"required": [
"started_at", "ended_at", "duration_secs", "exit_code", "tier", "net_mode",
"profile", "events_total", "counts", "op_counts", "file_reads", "file_writes",
"blocked_attempts", "net_requests", "suspicious_signals", "notices"
]
}