{
  "$defs": {
    "ParsedAdditionalRatingsCvss": {
      "description": "CVSS data transfer object.",
      "properties": {
        "type": {
          "enum": [
            "cvss",
            "cvss2",
            "cvss3",
            "cvss4"
          ],
          "title": "Type",
          "type": "string"
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Score"
        },
        "vector": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vector"
        },
        "base_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Deprecated. Use `score`.",
          "title": "Base Score"
        },
        "temporal_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Deprecated. Use `score`.",
          "title": "Temporal Score"
        },
        "base_vector": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Deprecated. Use `vector`.",
          "title": "Base Vector"
        },
        "temporal_vector": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Deprecated. Use `vector`.",
          "title": "Temporal Vector"
        }
      },
      "required": [
        "type"
      ],
      "title": "ParsedAdditionalRatingsCvss",
      "type": "object"
    },
    "ParsedNetworkInfo": {
      "description": "Pydantic network_info data transfer object.",
      "properties": {
        "ports": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ParsedNetworkInfoPort"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ports"
        },
        "osclasses": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ParsedNetworkInfoOSClasses"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Osclasses"
        },
        "osmatches": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ParsedNetworkInfoOSMatches"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Osmatches"
        },
        "osfingerprints": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ParsedNetworkInfoFingerprint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Osfingerprints"
        },
        "traceroutes": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ParsedNetworkInfoTraceroutes"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Traceroutes"
        }
      },
      "title": "ParsedNetworkInfo",
      "type": "object"
    },
    "ParsedNetworkInfoFingerprint": {
      "description": "Pydantic model compatible with the Django `NetworkOSFingerprint`\nmodel.",
      "properties": {
        "fingerprint": {
          "title": "Fingerprint",
          "type": "string"
        }
      },
      "required": [
        "fingerprint"
      ],
      "title": "ParsedNetworkInfoFingerprint",
      "type": "object"
    },
    "ParsedNetworkInfoHops": {
      "description": "Pydantic model compatible with the Django `NetworkTrace` model.",
      "properties": {
        "rtt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rtt"
        },
        "ttl": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ttl"
        },
        "ipaddr": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ipaddr"
        },
        "host": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Host"
        }
      },
      "title": "ParsedNetworkInfoHops",
      "type": "object"
    },
    "ParsedNetworkInfoOSClasses": {
      "description": "Pydantic model compatible with the Django `NetworkOSClass` model.",
      "properties": {
        "vendor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vendor"
        },
        "osgen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Osgen"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "accuracy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Accuracy"
        },
        "osfamily": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Osfamily"
        }
      },
      "title": "ParsedNetworkInfoOSClasses",
      "type": "object"
    },
    "ParsedNetworkInfoOSMatches": {
      "description": "Pydantic model compatible with the Django `NetworkOSMatch` model.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "accuracy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Accuracy"
        },
        "line": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Line"
        }
      },
      "title": "ParsedNetworkInfoOSMatches",
      "type": "object"
    },
    "ParsedNetworkInfoPort": {
      "description": "Pydantic model compatible with the Django `NetworkPort` model.",
      "properties": {
        "portid": {
          "title": "Portid",
          "type": "integer"
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Protocol"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "State"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Reason"
        },
        "reason_ttl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Reason Ttl"
        },
        "reason_ip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Reason Ip"
        },
        "service_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Name"
        },
        "service_conf": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Conf"
        },
        "service_method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Method"
        },
        "service_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Version"
        },
        "service_product": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Product"
        },
        "service_extrainfo": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Extrainfo"
        },
        "service_tunnel": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Tunnel"
        },
        "service_proto": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Proto"
        },
        "service_rpcnum": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Rpcnum"
        },
        "service_lowver": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Lowver"
        },
        "service_highver": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Highver"
        },
        "service_hostname": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Hostname"
        },
        "service_ostype": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Ostype"
        },
        "service_devicetype": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Devicetype"
        },
        "service_servicefp": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Servicefp"
        }
      },
      "required": [
        "portid"
      ],
      "title": "ParsedNetworkInfoPort",
      "type": "object"
    },
    "ParsedNetworkInfoTraceroutes": {
      "description": "Pydantic network_info traceroutes data transfer object.",
      "properties": {
        "port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Port"
        },
        "proto": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Proto"
        },
        "hops": {
          "items": {
            "$ref": "#/$defs/ParsedNetworkInfoHops"
          },
          "title": "Hops",
          "type": "array"
        }
      },
      "required": [
        "hops"
      ],
      "title": "ParsedNetworkInfoTraceroutes",
      "type": "object"
    },
    "ParsedReference": {
      "description": "Reference data transfer object.",
      "properties": {
        "type": {
          "title": "Type",
          "type": "string"
        },
        "reference": {
          "title": "Reference",
          "type": "string"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Url"
        }
      },
      "required": [
        "type",
        "reference"
      ],
      "title": "ParsedReference",
      "type": "object"
    },
    "ParsedToolAsset": {
      "additionalProperties": true,
      "description": "Pydantic tool asset data transfer object.",
      "properties": {
        "asset": {
          "title": "Asset",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "criticality": {
          "anyOf": [
            {
              "enum": [
                "Low",
                "Medium",
                "High"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Criticality"
        },
        "pci_status": {
          "anyOf": [
            {
              "enum": [
                "Pass",
                "Fail"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pci Status"
        }
      },
      "required": [
        "asset"
      ],
      "title": "ParsedToolAsset",
      "type": "object"
    },
    "ParsedToolExample": {
      "description": "Pydantic example data transfer object.",
      "properties": {
        "asset": {
          "title": "Asset",
          "type": "string"
        },
        "title": {
          "default": "",
          "title": "Title",
          "type": "string"
        },
        "starred": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Starred"
        },
        "ip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ip"
        },
        "hardware_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hardware Address"
        },
        "hostname": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hostname"
        },
        "domain_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Domain Name"
        },
        "netbios_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Netbios Name"
        },
        "port": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Port"
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Protocol"
        },
        "service_protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Protocol"
        },
        "service_software": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Software"
        },
        "service_banner": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Service Banner"
        },
        "os": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Os"
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Url"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Path"
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "parameter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Parameter"
        },
        "example": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Example"
        }
      },
      "required": [
        "asset"
      ],
      "title": "ParsedToolExample",
      "type": "object"
    },
    "ParsedToolFile": {
      "description": "Pydantic tool image data transfer object.",
      "properties": {
        "data": {
          "contentEncoding": "base64",
          "title": "Data",
          "type": "string"
        },
        "filename": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Filename"
        }
      },
      "required": [
        "data",
        "filename"
      ],
      "title": "ParsedToolFile",
      "type": "object"
    },
    "ParsedToolFinding": {
      "additionalProperties": true,
      "description": "Pydantic tool finding data transfer object.",
      "properties": {
        "title": {
          "title": "Title",
          "type": "string"
        },
        "identifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Identifier"
        },
        "rating": {
          "anyOf": [
            {
              "enum": [
                "Critical",
                "High",
                "Medium",
                "Low",
                "Info"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rating"
        },
        "status": {
          "anyOf": [
            {
              "enum": [
                "Open",
                "Partially Resolved",
                "Resolved",
                "Out-of-Scope",
                "False Positive"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "assets": {
          "items": {
            "type": "string"
          },
          "title": "Assets",
          "type": "array"
        },
        "background": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Background"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "recommendation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Recommendation"
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Summary"
        },
        "retest_update": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Retest Update"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "attack_class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Attack Class"
        },
        "pci_compliant": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pci Compliant"
        },
        "pci_status": {
          "anyOf": [
            {
              "enum": [
                "Pass",
                "Fail"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pci Status"
        },
        "exploit_available": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exploit Available"
        },
        "additional_ratings": {
          "items": {
            "$ref": "#/$defs/ParsedAdditionalRatingsCvss"
          },
          "title": "Additional Ratings",
          "type": "array"
        },
        "references": {
          "items": {
            "$ref": "#/$defs/ParsedReference"
          },
          "title": "References",
          "type": "array"
        },
        "examples": {
          "items": {
            "$ref": "#/$defs/ParsedToolExample"
          },
          "title": "Examples",
          "type": "array"
        },
        "files": {
          "items": {
            "type": "string"
          },
          "title": "Files",
          "type": "array",
          "uniqueItems": true
        }
      },
      "required": [
        "title"
      ],
      "title": "ParsedToolFinding",
      "type": "object"
    }
  },
  "description": "Pydantic canopy tool data model.",
  "properties": {
    "findings": {
      "items": {
        "$ref": "#/$defs/ParsedToolFinding"
      },
      "title": "Findings",
      "type": "array"
    },
    "assets": {
      "items": {
        "$ref": "#/$defs/ParsedToolAsset"
      },
      "title": "Assets",
      "type": "array"
    },
    "network_info": {
      "additionalProperties": {
        "$ref": "#/$defs/ParsedNetworkInfo"
      },
      "title": "Network Info",
      "type": "object"
    },
    "files": {
      "additionalProperties": {
        "$ref": "#/$defs/ParsedToolFile"
      },
      "title": "Files",
      "type": "object"
    }
  },
  "title": "CanopyToolData",
  "type": "object"
}
