{ "$defs": { "ExploitDBMatch": { "additionalProperties": false, "description": "An Exploit-DB candidate returned verbatim by ``searchsploit``.\n\nThese are ALWAYS unverified references. We never fabricate or infer EDB-IDs or\npaths; only what searchsploit actually returned is emitted.", "properties": { "edb_id": { "description": "Exploit-DB id, e.g. '50383'.", "title": "Edb Id", "type": "string" }, "title": { "title": "Title", "type": "string" }, "path": { "description": "Local path within the Exploit-DB checkout.", "title": "Path", "type": "string" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "exploit-db.com URL.", "title": "Url" }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The searchsploit query that produced this hit.", "title": "Query" }, "source": { "default": "exploit-db", "title": "Source", "type": "string" }, "verified": { "default": false, "description": "Always false: candidate reference only.", "title": "Verified", "type": "boolean" } }, "required": [ "edb_id", "title", "path" ], "title": "ExploitDBMatch", "type": "object" }, "Host": { "additionalProperties": false, "properties": { "hostname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostname" }, "ips": { "items": { "type": "string" }, "title": "Ips", "type": "array" }, "cnames": { "items": { "type": "string" }, "title": "Cnames", "type": "array" }, "ports": { "items": { "$ref": "#/$defs/Port" }, "title": "Ports", "type": "array" } }, "title": "Host", "type": "object" }, "HttpInfo": { "additionalProperties": false, "properties": { "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Url" }, "status": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Status" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Title" }, "webserver": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Webserver" }, "technologies": { "items": { "type": "string" }, "title": "Technologies", "type": "array" }, "tls": { "anyOf": [ { "$ref": "#/$defs/TlsInfo" }, { "type": "null" } ], "default": null } }, "title": "HttpInfo", "type": "object" }, "NucleiFinding": { "additionalProperties": false, "properties": { "template_id": { "title": "Template Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "severity": { "$ref": "#/$defs/Severity", "default": "unknown" }, "matched_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Matched At" }, "host": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Host" }, "reference": { "items": { "type": "string" }, "title": "Reference", "type": "array" } }, "required": [ "template_id" ], "title": "NucleiFinding", "type": "object" }, "Port": { "additionalProperties": false, "properties": { "number": { "maximum": 65535, "minimum": 0, "title": "Number", "type": "integer" }, "protocol": { "default": "tcp", "title": "Protocol", "type": "string" }, "state": { "default": "open", "title": "State", "type": "string" }, "service": { "anyOf": [ { "$ref": "#/$defs/Service" }, { "type": "null" } ], "default": null } }, "required": [ "number" ], "title": "Port", "type": "object" }, "ScopeUsed": { "additionalProperties": false, "properties": { "in_scope_domains": { "items": { "type": "string" }, "title": "In Scope Domains", "type": "array" }, "in_scope_cidrs": { "items": { "type": "string" }, "title": "In Scope Cidrs", "type": "array" }, "out_of_scope": { "items": { "type": "string" }, "title": "Out Of Scope", "type": "array" } }, "title": "ScopeUsed", "type": "object" }, "Service": { "additionalProperties": false, "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Service name, e.g. 'http'.", "title": "Name" }, "product": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Product, e.g. 'Apache httpd'.", "title": "Product" }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Version string, e.g. '2.4.49'.", "title": "Version" }, "cpe": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cpe" }, "http": { "anyOf": [ { "$ref": "#/$defs/HttpInfo" }, { "type": "null" } ], "default": null }, "exploitdb_candidates": { "items": { "$ref": "#/$defs/ExploitDBMatch" }, "title": "Exploitdb Candidates", "type": "array" } }, "title": "Service", "type": "object" }, "Severity": { "enum": [ "info", "low", "medium", "high", "critical", "unknown" ], "title": "Severity", "type": "string" }, "StageResult": { "additionalProperties": false, "properties": { "name": { "title": "Name", "type": "string" }, "status": { "$ref": "#/$defs/StageStatus", "default": "skipped" }, "detail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Detail" }, "started_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Started At" }, "finished_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Finished At" } }, "required": [ "name" ], "title": "StageResult", "type": "object" }, "StageStatus": { "description": "Per-tool stage outcome. The pipeline fails soft: a tool that crashes, times\nout, or returns nothing is recorded here and the run continues.", "enum": [ "ok", "empty", "failed", "skipped" ], "title": "StageStatus", "type": "string" }, "TlsInfo": { "additionalProperties": false, "properties": { "subject_cn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Subject Cn" }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Issuer" }, "not_after": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Not After" } }, "title": "TlsInfo", "type": "object" }, "ToolVersion": { "additionalProperties": false, "properties": { "name": { "title": "Name", "type": "string" }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Version" } }, "required": [ "name" ], "title": "ToolVersion", "type": "object" }, "TriageItem": { "additionalProperties": false, "description": "One prioritized finding from the LLM stage. All references must point at ids\npresent in the ReconReport \u2014 see triage.llm for the acceptance gate.", "properties": { "summary": { "title": "Summary", "type": "string" }, "rationale": { "title": "Rationale", "type": "string" }, "severity": { "$ref": "#/$defs/Severity", "default": "unknown" }, "evidence_refs": { "description": "ids/keys present in the ReconReport (host:port, edb_id, template_id).", "items": { "type": "string" }, "title": "Evidence Refs", "type": "array" }, "suggested_next_step": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Must reference a real edb_id / nuclei template / host:port from input.", "title": "Suggested Next Step" }, "confidence": { "default": 0.0, "maximum": 1.0, "minimum": 0.0, "title": "Confidence", "type": "number" } }, "required": [ "summary", "rationale" ], "title": "TriageItem", "type": "object" }, "TriageReport": { "additionalProperties": false, "properties": { "prioritized_findings": { "items": { "$ref": "#/$defs/TriageItem" }, "title": "Prioritized Findings", "type": "array" }, "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "generated_by": { "default": "deterministic", "description": "'llm' or 'deterministic'.", "title": "Generated By", "type": "string" } }, "title": "TriageReport", "type": "object" } }, "additionalProperties": false, "description": "Top-level run artifact. Schema-valid instances are written to report.json.", "properties": { "run_id": { "title": "Run Id", "type": "string" }, "target": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Target" }, "started_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Started At" }, "finished_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Finished At" }, "tool_versions": { "items": { "$ref": "#/$defs/ToolVersion" }, "title": "Tool Versions", "type": "array" }, "scope": { "$ref": "#/$defs/ScopeUsed" }, "stages": { "items": { "$ref": "#/$defs/StageResult" }, "title": "Stages", "type": "array" }, "hosts": { "items": { "$ref": "#/$defs/Host" }, "title": "Hosts", "type": "array" }, "nuclei_findings": { "items": { "$ref": "#/$defs/NucleiFinding" }, "title": "Nuclei Findings", "type": "array" }, "triage": { "anyOf": [ { "$ref": "#/$defs/TriageReport" }, { "type": "null" } ], "default": null }, "notice": { "default": "Authorized use only. Recon-and-triage scope: this report enumerates and references findings; it does not run or generate exploits.", "title": "Notice", "type": "string" } }, "required": [ "run_id" ], "title": "ReconReport", "type": "object" }