JSON Schema definitions for all pipeline handover contracts including issue analysis, research, enhancement, and sync flows. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
74 lines
2.6 KiB
JSON
74 lines
2.6 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Security Scan Results",
|
|
"description": "Output from the security scan step",
|
|
"type": "object",
|
|
"required": ["target", "findings", "summary", "timestamp"],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "What was scanned"
|
|
},
|
|
"attack_surface": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["entry_point", "type", "description"],
|
|
"properties": {
|
|
"entry_point": { "type": "string", "minLength": 1 },
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["http_handler", "cli_input", "file_parser", "db_query", "api_call", "ipc", "other"]
|
|
},
|
|
"description": { "type": "string", "minLength": 1 },
|
|
"risk_level": { "type": "string", "enum": ["high", "medium", "low"] }
|
|
}
|
|
}
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "title", "severity", "category", "location", "description"],
|
|
"properties": {
|
|
"id": { "type": "string", "pattern": "^SEC-[0-9]{3}$" },
|
|
"title": { "type": "string", "minLength": 5 },
|
|
"severity": { "type": "string", "enum": ["CRITICAL", "HIGH", "MEDIUM", "LOW"] },
|
|
"category": { "type": "string", "minLength": 1 },
|
|
"location": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string", "minLength": 10 },
|
|
"evidence": { "type": "string" },
|
|
"exploitability": { "type": "string" }
|
|
}
|
|
}
|
|
},
|
|
"secrets_check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hardcoded_secrets": { "type": "array", "items": { "type": "string" } },
|
|
"insecure_configs": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"required": ["total_findings", "by_severity", "risk_assessment"],
|
|
"properties": {
|
|
"total_findings": { "type": "integer", "minimum": 0 },
|
|
"by_severity": {
|
|
"type": "object",
|
|
"required": ["CRITICAL", "HIGH", "MEDIUM", "LOW"],
|
|
"properties": {
|
|
"CRITICAL": { "type": "integer", "minimum": 0 },
|
|
"HIGH": { "type": "integer", "minimum": 0 },
|
|
"MEDIUM": { "type": "integer", "minimum": 0 },
|
|
"LOW": { "type": "integer", "minimum": 0 }
|
|
}
|
|
},
|
|
"risk_assessment": { "type": "string", "minLength": 10 }
|
|
}
|
|
},
|
|
"timestamp": { "type": "string", "format": "date-time" }
|
|
}
|
|
}
|