Files
advanced-artifactual-intell…/schemas/aaisa-report.schema.json
T

72 lines
2.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://dtechtechresearch.com/schemas/aaisa-report-1.0.0.json",
"title": "AAISA Scan Report",
"type": "object",
"required": ["schema_version", "tool", "started_at", "completed_at", "root", "summary", "artifacts", "findings", "errors"],
"properties": {
"schema_version": {"const": "1.0.0"},
"tool": {
"type": "object",
"required": ["name", "version"],
"properties": {"name": {"const": "AAISA"}, "version": {"type": "string"}},
"additionalProperties": false
},
"started_at": {"type": "string", "format": "date-time"},
"completed_at": {"type": "string", "format": "date-time"},
"root": {"type": "string"},
"summary": {
"type": "object",
"required": ["artifact_count", "finding_count", "error_count", "by_severity"],
"properties": {
"artifact_count": {"type": "integer", "minimum": 0},
"finding_count": {"type": "integer", "minimum": 0},
"error_count": {"type": "integer", "minimum": 0},
"by_severity": {"type": "object"}
}
},
"artifacts": {"type": "array", "items": {"$ref": "#/$defs/artifact"}},
"findings": {"type": "array", "items": {"$ref": "#/$defs/finding"}},
"errors": {"type": "array", "items": {"$ref": "#/$defs/error"}}
},
"$defs": {
"artifact": {
"type": "object",
"required": ["path", "kind", "media_type", "size_bytes", "sha256"],
"properties": {
"path": {"type": "string"},
"kind": {"type": "string"},
"media_type": {"type": "string"},
"size_bytes": {"type": "integer", "minimum": 0},
"sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
},
"additionalProperties": false
},
"finding": {
"type": "object",
"required": ["rule_id", "title", "severity", "message", "artifact_path", "fingerprint", "tags"],
"properties": {
"rule_id": {"type": "string", "pattern": "^AAISA-[A-Z]+-[0-9]{3}$"},
"title": {"type": "string"},
"severity": {"enum": ["info", "low", "medium", "high", "critical"]},
"message": {"type": "string"},
"artifact_path": {"type": "string"},
"line": {"type": ["integer", "null"], "minimum": 1},
"column": {"type": ["integer", "null"], "minimum": 1},
"evidence": {"type": ["string", "null"]},
"remediation": {"type": ["string", "null"]},
"tags": {"type": "array", "items": {"type": "string"}},
"fingerprint": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
},
"additionalProperties": false
},
"error": {
"type": "object",
"required": ["path", "error"],
"properties": {"path": {"type": "string"}, "error": {"type": "string"}},
"additionalProperties": false
}
},
"additionalProperties": false
}