{ "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "version": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" } ] }, "matrices": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "tactics": { "type": "array", "items": { "$ref": "#/definitions/tactic" } }, "techniques": { "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/technique" }, { "$ref": "#/definitions/subtechnique" } ] } } }, "required": [ "id", "name", "tactics", "techniques" ], "additionalProperties": true } }, "case-studies": { "type": "array", "items": { "$ref": "#/definitions/case_study" } } }, "required": [ "id", "name", "version", "matrices" ], "additionalProperties": true, "$id": "atlas_output_schema", "$schema": "http://json-schema.org/draft-07/schema#", "title": "ATLAS Output Schema", "definitions": { "tactic": { "type": "object", "properties": { "id": { "$ref": "#/definitions/id_tactic" }, "object-type": { "const": "tactic" }, "description": { "type": "string" }, "name": { "type": "string" }, "references": { "$ref": "#/definitions/references" } }, "required": [ "id", "object-type", "description", "name" ], "additionalProperties": true }, "id_tactic": { "type": "string", "pattern": "^(?:[A-Z]+\\d*\\.)+TA\\d{4}$" }, "references": { "type": "array", "items": { "type": "object", "properties": { "title": { "anyOf": [ { "type": "string" }, { "const": null } ] }, "url": { "anyOf": [ { "type": "string" }, { "const": null } ] } }, "required": [ "title", "url" ], "additionalProperties": false } }, "technique": { "type": "object", "properties": { "id": { "$ref": "#/definitions/id_technique" }, "object-type": { "const": "technique" }, "name": { "type": "string" }, "description": { "type": "string" }, "tactics": { "type": "array", "items": { "$ref": "#/definitions/id_tactic" } }, "references": { "$ref": "#/definitions/references" }, "maturity": { "enum": [ "feasible", "demonstrated", "realized" ] } }, "required": [ "id", "object-type", "name", "description", "tactics" ], "additionalProperties": true }, "id_technique": { "type": "string", "pattern": "^(?:[A-Z]+\\d*\\.)+T\\d{4}$" }, "subtechnique": { "type": "object", "properties": { "id": { "$ref": "#/definitions/id_subtechnique" }, "object-type": { "const": "technique" }, "name": { "type": "string" }, "description": { "type": "string" }, "subtechnique-of": { "$ref": "#/definitions/id_technique" }, "references": { "$ref": "#/definitions/references" } }, "required": [ "id", "object-type", "name", "description", "subtechnique-of" ], "additionalProperties": true }, "id_subtechnique": { "type": "string", "pattern": "^(?:[A-Z]+\\d*\\.)+T\\d{4}\\.\\d{3}$" }, "case_study": { "type": "object", "properties": { "id": { "$ref": "#/definitions/id_case_study" }, "object-type": { "const": "case-study" }, "name": { "type": "string" }, "summary": { "type": "string" }, "incident-date": { "type": "string" }, "incident-date-granularity": { "enum": [ "YEAR", "MONTH", "DATE" ] }, "procedure": { "type": "array", "items": { "type": "object", "properties": { "tactic": { "$ref": "#/definitions/id_tactic" }, "technique": { "anyOf": [ { "$ref": "#/definitions/id_technique" }, { "$ref": "#/definitions/id_subtechnique" } ] }, "description": { "type": "string" } }, "required": [ "tactic", "technique", "description" ], "additionalProperties": false } }, "reporter": { "type": "string" }, "target": { "type": "string" }, "actor": { "type": "string" }, "case-study-type": { "enum": [ "incident", "exercise" ] }, "references": { "$ref": "#/definitions/references" } }, "required": [ "id", "object-type", "name", "summary", "incident-date", "incident-date-granularity", "procedure" ], "additionalProperties": false }, "id_case_study": { "type": "string", "pattern": "^(?:[A-Z]+\\d*\\.)+CS\\d{4}$" } }, "description": "Generated on 2026-03-10" }