{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/main/json-schema/palo-alto-networks-api-resolve-images-req-schema.json", "title": "api.ResolveImagesReq", "description": "ResolveImagesReq represents the parameters supported by the images resolution API", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/palo-alto-networks-hosts-api-openapi.yml#/components/schemas/api.ResolveImagesReq", "properties": { "images": { "description": "Images is the list of image to resolve.\n", "items": { "$ref": "#/$defs/shared.ImageScanResult" }, "type": "array" } }, "type": "object", "$defs": { "agentless.ImageScanResultErrCode": { "description": "ImageScanResultErrCode represents the asset status error", "type": "integer" }, "common.ACIMetadata": { "properties": { "containerGroup": { "description": ".\n", "type": "string" } }, "type": "object" }, "common.AzureMetadata": { "properties": { "aci": { "$ref": "#/$defs/common.ACIMetadata" }, "resourceGroup": { "description": ".\n", "type": "string" } }, "type": "object" }, "common.CloudMetadata": { "description": "CloudMetadata is the metadata for a cloud provider managed asset (e.g., as part of AWS/GCP/Azure/OCI)", "properties": { "accountID": { "description": "Cloud account ID.\n", "type": "string" }, "awsExecutionEnv": { "description": "AWS execution environment (e.g. EC2/Fargate).\n", "type": "string" }, "azure": { "$ref": "#/$defs/common.AzureMetadata" }, "gcp": { "$ref": "#/$defs/common.GCPCloudMetadata" }, "image": { "description": "The name of the image the cloud managed host or container is based on.\n", "type": "string" }, "labels": { "description": "Cloud provider metadata labels.\n", "items": { "$ref": "#/$defs/common.ExternalLabel" }, "type": "array" }, "name": { "description": "Resource name.\n", "type": "string" }, "ociTenantID": { "description": "OCI Tenant ID.\n", "type": "string" }, "provider": { "$ref": "#/$defs/common.CloudProvider" }, "region": { "description": "Resource's region.\n", "type": "string" }, "resourceID": { "description": "Unique ID of the resource.\n", "type": "string" }, "resourceURL": { "description": "Server-defined URL for the resource.\n", "type": "string" }, "type": { "description": "Instance type.\n", "type": "string" }, "vmID": { "description": "Azure unique vm ID.\n", "type": "string" }, "vmImageID": { "description": "VMImageID holds the VM instance's image ID.\n", "type": "string" } }, "type": "object" }, "common.CloudProvider": { "description": "CloudProvider specifies the cloud provider name", "enum": [ [ "aws", "azure", "gcp", "alibaba", "oci", "others" ] ], "type": "string" }, "common.CloudRunMetadata": { "properties": { "revision": { "description": ".\n", "type": "string" }, "service": { "description": ".\n", "type": "string" } }, "type": "object" }, "common.ClusterType": { "description": "ClusterType is the cluster type", "enum": [ [ "AKS", "ECS", "EKS", "GKE", "Kubernetes" ] ], "type": "string" }, "common.Color": { "description": "Color is a hexadecimal representation of color code value", "type": "string" }, "common.ExternalLabel": { "description": "ExternalLabel holds an external label with a source and timestamp", "properties": { "key": { "description": "Label key.\n", "type": "string" }, "sourceName": { "description": "Source name (e.g., for a namespace, the source name can be 'twistlock').\n", "type": "string" }, "sourceType": { "$ref": "#/$defs/common.ExternalLabelSourceType" }, "timestamp": { "description": "Time when the label was fetched.\n", "format": "date-time", "type": "string" }, "value": { "description": "Value of the label.\n", "type": "string" } }, "type": "object" }, "common.ExternalLabelSourceType": { "description": "ExternalLabelSourceType indicates the source of the labels", "enum": [ [ "namespace", "deployment", "pod", "aws", "azure", "gcp", "oci" ] ], "type": "string" }, "common.GCPCloudMetadata": { "properties": { "cloudRun": { "$ref": "#/$defs/common.CloudRunMetadata" } }, "type": "object" }, "common.NetworkDeviceIP": { "description": "NetworkDeviceIP represents a network device name and address pair", "properties": { "ip": { "description": "Network device IPv4 address.\n", "type": "string" }, "name": { "description": "Network device name.\n", "type": "string" } }, "type": "object" }, "int": { "type": "integer" }, "int16": { "type": "integer" }, "int64": { "format": "int64", "type": "integer" }, "packages.Type": { "description": "Type describes the package type", "enum": [ [ "nodejs", "gem", "python", "jar", "package", "windows", "binary", "nuget", "go", "app", "unknown" ] ], "type": "string" }, "secrets.SecretScanMetrics": { "description": "SecretScanMetrics represents metrics collected during secret scan", "properties": { "failedScans": { "description": "FailedScans represents number of failed scans caused by scanner errors.\n", "format": "int64", "type": "integer" }, "foundSecrets": { "description": "FoundSecrets represents number of detected secrets.\n", "type": "integer" }, "scanTime": { "description": "ScanTime represents cumulative secret scan time in microseconds.\n", "format": "int64", "type": "integer" }, "scanTimeouts": { "description": "ScanTimeouts represents number of failed scans caused by timeout.\n", "format": "int64", "type": "integer" }, "scannedFileSize": { "description": "ScannedFileSize represents accumulated size of scanned files.\n", "format": "int64", "type": "integer" }, "scannedFiles": { "description": "ScannedFiles represents number of text files scanned for secrets.\n", "format": "int64", "type": "integer" }, "totalBytes": { "description": "TotalBytes represents accumulated file size.\n", "format": "int64", "type": "integer" }, "totalFiles": { "description": "TotalFiles represents number of files read for secrets.\n", "format": "int64", "type": "integer" }, "totalTime": { "description": "TotalTime represents the total time in microseconds.\n", "format": "int64", "type": "integer" }, "typesCount": { "additionalProperties": { "$ref": "#/$defs/int" }, "description": "TypesCount represents distribution of secrets by its type.\n", "type": "object" } }, "type": "object" }, "shared.Binary": { "description": "Binary represents a detected binary file (ELF)", "properties": { "altered": { "description": "Indicates if the binary was installed from a package manager and modified/replaced (true) or not (false).\n", "type": "boolean" }, "cveCount": { "description": "Total number of CVEs for this specific binary.\n", "type": "integer" }, "deps": { "description": "Third-party package files which are used by the binary.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "fileMode": { "description": "Represents the file's mode and permission bits.\n", "type": "integer" }, "functionLayer": { "description": "ID of the serverless layer in which the package was discovered.\n", "type": "string" }, "md5": { "description": "Md5 hashset of the binary.\n", "type": "string" }, "missingPkg": { "description": "Indicates if this binary is not related to any package (true) or not (false).\n", "type": "boolean" }, "name": { "description": "Name of the binary.\n", "type": "string" }, "path": { "description": "Path is the path of the binary.\n", "type": "string" }, "pkgRootDir": { "description": "Path for searching packages used by the binary.\n", "type": "string" }, "services": { "description": "Names of services which use the binary.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "version": { "description": "Version of the binary.\n", "type": "string" } }, "type": "object" }, "shared.CompressedLayerTimes": { "description": "CompressedLayerTimes represent the compressed layer times of the image apps and pkgs", "properties": { "appTimes": { "description": ".\n", "items": { "$ref": "#/$defs/int64" }, "type": "array" }, "pkgsTimes": { "description": ".\n", "items": { "$ref": "#/$defs/shared.PkgsTimes" }, "type": "array" } }, "type": "object" }, "shared.FileDetails": { "description": "FileDetails contains file details as the file path, hash checksum", "properties": { "md5": { "description": "Hash sum of the file using md5.\n", "type": "string" }, "original_file_location": { "description": "Path of the original file in a case of archive analysis.\n", "type": "string" }, "path": { "description": "Path of the file.\n", "type": "string" }, "sha1": { "description": "Hash sum of the file using SHA-1.\n", "type": "string" }, "sha256": { "description": "Hash sum of the file using SHA256.\n", "type": "string" } }, "type": "object" }, "shared.Image": { "description": "Image represents a container image", "properties": { "created": { "description": "Date/time when the image was created.\n", "format": "date-time", "type": "string" }, "entrypoint": { "description": "Combined entrypoint of the image (entrypoint + CMD).\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "env": { "description": "Image environment variables.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "healthcheck": { "description": "Indicates if health checks are enabled (true) or not (false).\n", "type": "boolean" }, "history": { "description": "Holds the image history.\n", "items": { "$ref": "#/$defs/shared.ImageHistory" }, "type": "array" }, "id": { "description": "ID of the image.\n", "type": "string" }, "labels": { "additionalProperties": { "$ref": "#/$defs/string" }, "description": "Image labels.\n", "type": "object" }, "layers": { "description": "Image filesystem layers.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "os": { "description": "Image os type.\n", "type": "string" }, "repoDigest": { "description": "Image repo digests.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "repoTags": { "description": "Image repo tags.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "user": { "description": "Image user.\n", "type": "string" }, "workingDir": { "description": "Base working directory of the image.\n", "type": "string" } }, "type": "object" }, "shared.ImageHistory": { "description": "ImageHistory represent a layer in the image's history", "properties": { "baseLayer": { "description": "Indicates if this layer originated from the base image (true) or not (false).\n", "type": "boolean" }, "created": { "description": "Date/time when the image layer was created.\n", "format": "int64", "type": "integer" }, "emptyLayer": { "description": "Indicates if this instruction didn't create a separate layer (true) or not (false).\n", "type": "boolean" }, "id": { "description": "ID of the layer.\n", "type": "string" }, "instruction": { "description": "Docker file instruction and arguments used to create this layer.\n", "type": "string" }, "sizeBytes": { "description": "Size of the layer (in bytes).\n", "format": "int64", "type": "integer" }, "tags": { "description": "Holds the image tags.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "vulnerabilities": { "description": "Vulnerabilities which originated from this layer.\n", "items": { "$ref": "#/$defs/vuln.Vulnerability" }, "type": "array" } }, "type": "object" }, "shared.ImageHost": { "description": "ImageHost holds information about image scan result per host", "properties": { "accountID": { "description": "AccountID is the cloud account ID the image is associated with.\n", "type": "string" }, "agentless": { "description": "Agentless indicates if the image was scanned as part of an agentless scan.\n", "type": "boolean" }, "agentlessScanID": { "description": "AgentlessScanID is the ID of the agentless scan in which the result was received.\n", "type": "integer" }, "ais": { "description": "AIS indicates the scan was performed by AIS.\n", "type": "boolean" }, "appEmbedded": { "description": "AppEmbedded indicates if the host is an app embedded host.\n", "type": "boolean" }, "cluster": { "description": "Cluster is the cluster on which the image is deployed.\n", "type": "string" }, "csa": { "description": "CSA indicates if the image was scanned by CSA.\n", "type": "boolean" }, "modified": { "description": "Modified is the last scan time.\n", "format": "date-time", "type": "string" }, "namespaces": { "description": "Namespaces are the namespaces on which the image is deployed.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" } }, "type": "object" }, "shared.ImageHosts": { "additionalProperties": { "$ref": "#/$defs/shared.ImageHost" }, "description": "ImageHosts is a fast index for image scan results metadata per host", "type": "object" }, "shared.ImageInstance": { "description": "ImageInstance represents an image on a single host", "properties": { "host": { "description": ".\n", "type": "string" }, "image": { "description": ".\n", "type": "string" }, "modified": { "description": ".\n", "format": "date-time", "type": "string" }, "registry": { "description": ".\n", "type": "string" }, "repo": { "description": ".\n", "type": "string" }, "tag": { "description": ".\n", "type": "string" } }, "type": "object" }, "shared.ImageScanResult": { "description": "ImageScanResult holds the result of an image scan", "properties": { "Secrets": { "description": "Secrets are paths to embedded secrets inside the image\nNote: capital letter JSON annotation is kept to avoid converting all images for backward-compatibility support.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "_id": { "description": "Image identifier (image ID or repo:tag).\n", "type": "string" }, "agentless": { "description": "Agentless indicates that the host was scanned with the agentless scanner.\n", "type": "boolean" }, "aisUUID": { "description": "AISUUID is the unique instance ID in the agentless instance scanning system.\n", "type": "string" }, "allCompliance": { "$ref": "#/$defs/vuln.AllCompliance" }, "appEmbedded": { "description": "Indicates that this image was scanned by an App-Embedded Defender.\n", "type": "boolean" }, "applications": { "description": "Products in the image.\n", "items": { "$ref": "#/$defs/vuln.Application" }, "type": "array" }, "baseImage": { "description": "Image’s base image name. Used when filtering the vulnerabilities by base images.\n", "type": "string" }, "binaries": { "description": "Binaries in the image.\n", "items": { "$ref": "#/$defs/shared.Binary" }, "type": "array" }, "caasSpecReferencesLaunchTypes": { "description": "CAASSpecReferencesLaunchTypes specifies the discovered launch types of CAAS specification references for this image.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "caasSpecReferencesServiceTypes": { "description": "CAASSpecReferencesServiceTypes specifies the discovered service types of CAAS specification references for this image.\n", "items": { "$ref": "#/$defs/shared.ScanResultType" }, "type": "array" }, "caasSpecReferencesTotal": { "description": "CAASSpecReferencesTotal specifies the total number of CAAS specification references for this image.\n", "type": "integer" }, "cloudMetadata": { "$ref": "#/$defs/common.CloudMetadata" }, "clusterType": { "$ref": "#/$defs/common.ClusterType" }, "clusters": { "description": "Cluster names.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "collections": { "description": "Collections to which this result applies.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "complianceDistribution": { "$ref": "#/$defs/vuln.Distribution" }, "complianceIssues": { "description": "All the compliance issues.\n", "items": { "$ref": "#/$defs/vuln.Vulnerability" }, "type": "array" }, "complianceIssuesCount": { "description": "Number of compliance issues.\n", "type": "integer" }, "complianceRiskScore": { "description": "Compliance risk score for the image.\n", "format": "float", "type": "number" }, "compressed": { "description": "Compressed indicates if this image seems to be compressed - currently only relevant for buildah images.\n", "type": "boolean" }, "compressedLayerTimes": { "$ref": "#/$defs/shared.CompressedLayerTimes" }, "creationTime": { "description": "Specifies the time of creation for the latest version of the image.\n", "format": "date-time", "type": "string" }, "csa": { "description": "CSA indicates the scan was performed by the CSA.\n", "type": "boolean" }, "csaWindows": { "description": "CSAWindows indicates the scan was performed by the Ivanti agent(CSA Windows - Cortex server).\n", "type": "boolean" }, "distro": { "description": "Full name of the distribution.\n", "type": "string" }, "ecsClusterName": { "description": "ECS cluster name.\n", "type": "string" }, "err": { "description": "Description of an error that occurred during image scan.\n", "type": "string" }, "errCode": { "$ref": "#/$defs/agentless.ImageScanResultErrCode" }, "externalLabels": { "description": "Kubernetes external labels of all containers running this image.\n", "items": { "$ref": "#/$defs/common.ExternalLabel" }, "type": "array" }, "files": { "description": "Files in the container.\n", "items": { "$ref": "#/$defs/shared.FileDetails" }, "type": "array" }, "firewallProtection": { "$ref": "#/$defs/waas.ProtectionStatus" }, "firstScanTime": { "description": "Specifies the time of the scan for the first version of the image. This time is preserved even after the version update.\n", "format": "date-time", "type": "string" }, "foundSecrets": { "description": "FoundSecrets are secrets with metadata that were found in the secrets' scan. Requires json tag for reporting secrets from image scan.\n", "items": { "$ref": "#/$defs/vuln.Secret" }, "type": "array" }, "history": { "description": "Docker image history.\n", "items": { "$ref": "#/$defs/shared.ImageHistory" }, "type": "array" }, "hostDevices": { "description": "Map from host network device name to IP address.\n", "items": { "$ref": "#/$defs/common.NetworkDeviceIP" }, "type": "array" }, "hostRuntimeEnabled": { "description": "HostRuntimeEnabled indicates if any runtime rule applies to the host.\n", "type": "boolean" }, "hostname": { "description": "Name of the host that was scanned.\n", "type": "string" }, "hosts": { "$ref": "#/$defs/shared.ImageHosts" }, "id": { "description": "Image ID.\n", "type": "string" }, "image": { "$ref": "#/$defs/shared.Image" }, "installedProducts": { "$ref": "#/$defs/shared.InstalledProducts" }, "instances": { "description": "Details about each occurrence of the image (tag + host).\n", "items": { "$ref": "#/$defs/shared.ImageInstance" }, "type": "array" }, "isARM64": { "description": "IsARM64 indicates if the architecture of the image is aarch64.\n", "type": "boolean" }, "k8sClusterAddr": { "description": "Endpoint of the Kubernetes API server.\n", "type": "string" }, "labels": { "description": "Image labels.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "layers": { "description": "Image's filesystem layers. Each layer is a SHA256 digest of the filesystem diff\nSee: https://windsock.io/explaining-docker-image-ids/.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "malwareAnalyzedTime": { "description": "MalwareAnalyzedTime is the WildFire evaluator analyzing time shown as progress in UI and cannot to be overwritten by a new scan result.\n", "format": "date-time", "type": "string" }, "missingDistroVulnCoverage": { "description": "Indicates if the image OS is covered in the IS (true) or not (false).\n", "type": "boolean" }, "namespaces": { "description": "k8s namespaces of all the containers running this image.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "osDistro": { "description": "Name of the OS distribution.\n", "type": "string" }, "osDistroRelease": { "description": "OS distribution release.\n", "type": "string" }, "osDistroVersion": { "description": "OS distribution version.\n", "type": "string" }, "packageManager": { "description": "Indicates if the package manager is installed for the OS.\n", "type": "boolean" }, "packages": { "description": "Packages which exist in the image.\n", "items": { "$ref": "#/$defs/shared.Packages" }, "type": "array" }, "pullDuration": { "description": "PullDuration is the time it took to pull the image.\n", "format": "int64", "type": "integer" }, "pushTime": { "description": "PushTime is the image push time to the registry.\n", "format": "date-time", "type": "string" }, "redHatNonRPMImage": { "description": "RedHatNonRPMImage indicates whether the image is a Red Hat image with non-RPM content.\n", "type": "boolean" }, "registryNamespace": { "description": "IBM cloud namespace to which the image belongs.\n", "type": "string" }, "registryTags": { "description": "RegistryTags are the tags of the registry this image is stored.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "registryType": { "description": "RegistryType indicates the registry type where the image is stored.\n", "type": "string" }, "repoDigests": { "description": "Digests of the image. Used for content trust (notary). Has one digest per tag.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "repoTag": { "$ref": "#/$defs/shared.ImageTag" }, "rhelRepos": { "description": "RhelRepositories are the (RPM) repositories IDs from which the packages in this image were installed\nUsed for matching vulnerabilities by Red Hat CPEs.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "rhelReposRelativeURLs": { "description": "RhelRepositoriesRelativeURLs are the relative URLs of the repositories from which the packages in this image were installed\nUsed for matching vulnerabilities by Red Hat CPEs when the repository IDs are not available in the repository-to-cpe mapping file.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "riskFactors": { "$ref": "#/$defs/vulnerability.RiskFactors" }, "scanBuildDate": { "description": "Scanner build date that published the image.\n", "type": "string" }, "scanDuration": { "description": "ScanDuration is the total time it took to scan the image.\n", "format": "int64", "type": "integer" }, "scanID": { "description": "ScanID is the ID of the scan.\n", "type": "integer" }, "scanTime": { "description": "Specifies the time of the last scan of the image.\n", "format": "date-time", "type": "string" }, "scanVersion": { "description": "Scanner version that published the image.\n", "type": "string" }, "secretScanMetrics": { "$ref": "#/$defs/secrets.SecretScanMetrics" }, "startupBinaries": { "description": "Binaries which are expected to run when the container is created from this image.\n", "items": { "$ref": "#/$defs/shared.Binary" }, "type": "array" }, "stopped": { "description": "Stopped indicates whether the host was running during the agentless scan.\n", "type": "boolean" }, "tags": { "description": "Tags associated with the given image.\n", "items": { "$ref": "#/$defs/shared.ImageTag" }, "type": "array" }, "topLayer": { "description": "SHA256 of the image's last layer that is the last element of the Layers field.\n", "type": "string" }, "trustResult": { "$ref": "#/$defs/trust.ImageResult" }, "trustStatus": { "$ref": "#/$defs/trust.Status" }, "twistlockImage": { "description": "Indicates if the image is a Twistlock image (true) or not (false).\n", "type": "boolean" }, "type": { "$ref": "#/$defs/shared.ScanType" }, "underlyingDistro": { "description": "UnderlyingDistro is used in cases OS an OS is built on top of another, and we need to know both.\n", "type": "string" }, "underlyingDistroRelease": { "description": "UnderlyingDistroRelease is used in cases OS an OS is built on top of another, and we need to know both.\n", "type": "string" }, "vulnerabilities": { "description": "CVE vulnerabilities of the image.\n", "items": { "$ref": "#/$defs/vuln.Vulnerability" }, "type": "array" }, "vulnerabilitiesCount": { "description": "Total number of vulnerabilities.\n", "type": "integer" }, "vulnerabilityDistribution": { "$ref": "#/$defs/vuln.Distribution" }, "vulnerabilityRiskScore": { "description": "Image's CVE risk score.\n", "format": "float", "type": "number" }, "wildFireUsage": { "$ref": "#/$defs/wildfire.Usage" } }, "type": "object" }, "shared.ImageTag": { "description": "ImageTag represents an image repository and its associated tag or registry digest", "properties": { "digest": { "description": "Image digest (requires V2 or later registry).\n", "type": "string" }, "id": { "description": "ID of the image.\n", "type": "string" }, "registry": { "description": "Registry name to which the image belongs.\n", "type": "string" }, "repo": { "description": "Repository name to which the image belongs.\n", "type": "string" }, "tag": { "description": "Image tag.\n", "type": "string" } }, "type": "object" }, "shared.InstalledProducts": { "description": "InstalledProducts contains data regarding products running in environment\nTODO #34713: Swarm support was deprecated in Joule, remove swarm node/manager boolean (and related compliance) in Lagrange", "properties": { "agentless": { "description": "Agentless indicates whether the scan was performed with agentless approach.\n", "type": "boolean" }, "apache": { "description": "Apache indicates the apache server version, empty in case apache not running.\n", "type": "string" }, "awsCloud": { "description": "AWSCloud indicates whether AWS cloud is used.\n", "type": "boolean" }, "clusterType": { "$ref": "#/$defs/common.ClusterType" }, "crio": { "description": "CRI indicates whether the container runtime is CRI (and not docker).\n", "type": "boolean" }, "docker": { "description": "Docker represents the docker daemon version.\n", "type": "string" }, "dockerEnterprise": { "description": "DockerEnterprise indicates whether the enterprise version of Docker is installed.\n", "type": "boolean" }, "hasPackageManager": { "description": "HasPackageManager indicates whether package manager is installed on the OS.\n", "type": "boolean" }, "k8sApiServer": { "description": "K8sAPIServer indicates whether a kubernetes API server is running.\n", "type": "boolean" }, "k8sControllerManager": { "description": "K8sControllerManager indicates whether a kubernetes controller manager is running.\n", "type": "boolean" }, "k8sEtcd": { "description": "K8sEtcd indicates whether etcd is running.\n", "type": "boolean" }, "k8sFederationApiServer": { "description": "K8sFederationAPIServer indicates whether a federation API server is running.\n", "type": "boolean" }, "k8sFederationControllerManager": { "description": "K8sFederationControllerManager indicates whether a federation controller manager is running.\n", "type": "boolean" }, "k8sKubelet": { "description": "K8sKubelet indicates whether kubelet is running.\n", "type": "boolean" }, "k8sProxy": { "description": "K8sProxy indicates whether a kubernetes proxy is running.\n", "type": "boolean" }, "k8sScheduler": { "description": "K8sScheduler indicates whether the kubernetes scheduler is running.\n", "type": "boolean" }, "kubernetes": { "description": "Kubernetes represents the kubernetes version.\n", "type": "string" }, "managedClusterVersion": { "description": "ManagedClusterVersion is the version of the managed Kubernetes service, e.g. AKS/EKS/GKE/etc.\n", "type": "string" }, "openshift": { "description": "Openshift indicates whether openshift is deployed.\n", "type": "boolean" }, "openshiftVersion": { "description": "OpenshiftVersion represents the running openshift version.\n", "type": "string" }, "osDistro": { "description": "OSDistro specifies the os distribution.\n", "type": "string" }, "serverless": { "description": "Serverless indicates whether evaluated on a serverless environment.\n", "type": "boolean" }, "swarmManager": { "description": "SwarmManager indicates whether a swarm manager is running.\n", "type": "boolean" }, "swarmNode": { "description": "SwarmNode indicates whether the node is part of an active swarm.\n", "type": "boolean" } }, "type": "object" }, "shared.Package": { "description": "Package stores relevant package information", "properties": { "author": { "description": "Author is the package's author.\n", "type": "string" }, "binaryIdx": { "description": "Indexes of the top binaries which use the package.\n", "items": { "$ref": "#/$defs/int16" }, "type": "array" }, "binaryPkgs": { "description": "Names of the distro binary packages (packages which are built on the source of the package).\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "cveCount": { "description": "Total number of CVEs for this specific package.\n", "type": "integer" }, "defaultGem": { "description": "DefaultGem indicates this is a gem default package (and not a bundled package).\n", "type": "boolean" }, "files": { "description": "List of package-related files and their hashes. Only included when the appropriate scan option is set.\n", "items": { "$ref": "#/$defs/shared.FileDetails" }, "type": "array" }, "functionLayer": { "description": "ID of the serverless layer in which the package was discovered.\n", "type": "string" }, "goPkg": { "description": "GoPkg indicates this is a Go package (and not module).\n", "type": "boolean" }, "isRPMModule": { "description": "IsRPMModule indicates whether this package data represents an RPM module.\n", "type": "boolean" }, "jarIdentifier": { "description": "JarIdentifier holds an additional identification detail of a JAR package.\n", "type": "string" }, "layerTime": { "description": "Image layer to which the package belongs (layer creation time).\n", "format": "int64", "type": "integer" }, "license": { "description": "License information for the package.\n", "type": "string" }, "md5": { "description": "MD5SUM is the md5sum of the package - currently only relevant for go main modules.\n", "type": "string" }, "name": { "description": "Name of the package.\n", "type": "string" }, "originPackageName": { "description": "OriginPackageName is the name of the third-party origin package.\n", "type": "string" }, "osPackage": { "description": "OSPackage indicates that a python/java package was installed as an OS package.\n", "type": "boolean" }, "path": { "description": "Full package path (e.g., JAR or Node.js package path).\n", "type": "string" }, "purl": { "description": "PURL is a package URL identifier for this package.\n", "type": "string" }, "rpmModule": { "description": "RPMModule represents the RPM module in which this package is included.\n", "type": "string" }, "securityRepoPkg": { "description": "SecurityRepoPkg determines if this package is available in a security repository.\n", "type": "boolean" }, "symbols": { "description": "Symbols contains names of vulnerable functions that are linked in the executable binary, empty if the entire package is vulnerable.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "version": { "description": "Package version.\n", "type": "string" } }, "type": "object" }, "shared.Packages": { "description": "Packages is a collection of packages", "properties": { "pkgs": { "description": "List of packages.\n", "items": { "$ref": "#/$defs/shared.Package" }, "type": "array" }, "pkgsType": { "$ref": "#/$defs/packages.Type" } }, "type": "object" }, "shared.PkgsTimes": { "description": "PkgsTimes are the compressed layer times for pkgs of the specific type", "properties": { "pkgTimes": { "description": ".\n", "items": { "$ref": "#/$defs/int64" }, "type": "array" }, "pkgsType": { "$ref": "#/$defs/packages.Type" } }, "type": "object" }, "shared.ScanResultType": { "description": "ScanResultType represents a cloud scan result type", "enum": [ [ "aws-ecr", "aws-lambda", "aws-ecs-task-definition", "aws-ec2", "aws-eks", "aws-eks-fargate-container", "aws-ecs", "aws-s3", "aws-config", "aws-cloud-trail", "aws-kms", "aws-cloud-watch", "aws-sns", "aws-security-hub", "aws-secrets-manager", "aws-parameter-store", "azure-acr", "azure-functions", "azure-aks", "azure-aci", "azure-vm", "gcp-gcr", "gcp-gcf", "gcp-gke", "gcp-vm", "gcp-artifact", "gcp-cloud-run-service", "oci-instance" ] ], "type": "string" }, "shared.ScanType": { "description": "ScanType displays the components for an ongoing scan", "enum": [ [ "image", "ciImage", "container", "host", "agentlessHost", "registry", "serverlessScan", "ciServerless", "vm", "tas", "ciTas", "cloudDiscovery", "serverlessRadar", "serverlessAutoDeploy", "hostAutoDeploy", "codeRepo", "ciCodeRepo" ] ], "type": "string" }, "string": { "type": "string" }, "trust.Group": { "description": "Group represents a group of images", "properties": { "_id": { "description": "Name of the group.\n", "type": "string" }, "disabled": { "description": "Indicates whether the rule is currently disabled. Values: true (disabled) or false (enabled).\n", "type": "boolean" }, "images": { "description": "Image names or IDs (e.g., docker.io/library/ubuntu:16.04 / SHA264@...).\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "layers": { "description": "Filesystem layers. The image is trusted if its layers have a prefix of the trusted groups layer in the same order.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "modified": { "description": "Specifies the date and time when the rule was last modified.\n", "format": "date-time", "type": "string" }, "name": { "description": "Name of the rule.\n", "type": "string" }, "notes": { "description": "Describes any noteworthy points for a rule. You can include any text.\n", "type": "string" }, "owner": { "description": "User who created or last modified the rule.\n", "type": "string" }, "previousName": { "description": "Previous name of the rule. Required for rule renaming.\n", "type": "string" } }, "type": "object" }, "trust.HostStatus": { "description": "HostStatus represents an image trust status on a host", "properties": { "host": { "description": "Host name.\n", "type": "string" }, "status": { "$ref": "#/$defs/trust.Status" } }, "type": "object" }, "trust.ImageResult": { "description": "ImageResult represents an aggregated image trust result", "properties": { "groups": { "description": "Trust groups which apply to the image.\n", "items": { "$ref": "#/$defs/trust.Group" }, "type": "array" }, "hostsStatuses": { "description": "Image trust status on each host. Can be set to \"trusted\" or \"untrusted\".\n", "items": { "$ref": "#/$defs/trust.HostStatus" }, "type": "array" } }, "type": "object" }, "trust.Status": { "description": "Status is the trust status for an image", "enum": [ [ "trusted", "untrusted" ] ], "type": "string" }, "vuln.AllCompliance": { "description": "AllCompliance contains data regarding passed compliance checks", "properties": { "compliance": { "description": "Compliance are all the passed compliance checks.\n", "items": { "$ref": "#/$defs/vuln.Vulnerability" }, "type": "array" }, "enabled": { "description": "Enabled indicates whether passed compliance checks is enabled by policy.\n", "type": "boolean" } }, "type": "object" }, "vuln.Application": { "description": "Application represents a detected application", "properties": { "installedFromPackage": { "description": "Indicates that the app was installed as an OS package.\n", "type": "boolean" }, "knownVulnerabilities": { "description": "Total number of vulnerabilities for this application.\n", "type": "integer" }, "layerTime": { "description": "Image layer to which the application belongs - layer creation time.\n", "format": "int64", "type": "integer" }, "md5": { "description": "MD5 is the md5sum of the app.\n", "type": "string" }, "name": { "description": "Name of the application.\n", "type": "string" }, "originPackageName": { "description": "OriginPackageName is the name of the app origin package.\n", "type": "string" }, "path": { "description": "Path of the detected application.\n", "type": "string" }, "rpmModule": { "description": "RPMModule represents the RPM module in which this application is included.\n", "type": "string" }, "service": { "description": "Service indicates whether the application is installed as a service.\n", "type": "boolean" }, "version": { "description": "Version of the application.\n", "type": "string" } }, "type": "object" }, "vuln.ComplianceTemplate": { "description": "ComplianceTemplate represents the compliance template", "enum": [ [ "PCI", "HIPAA", "NIST SP 800-190", "GDPR", "DISA STIG" ] ], "type": "string" }, "vuln.Distribution": { "description": "Distribution counts the number of vulnerabilities per type", "properties": { "critical": { "description": ".\n", "type": "integer" }, "high": { "description": ".\n", "type": "integer" }, "low": { "description": ".\n", "type": "integer" }, "medium": { "description": ".\n", "type": "integer" }, "total": { "description": ".\n", "type": "integer" } }, "type": "object" }, "vuln.Secret": { "description": "Secret represents a secret found on the scanned workload", "properties": { "group": { "description": "Group is a group name or ID of owner the file metadata containing the secret.\n", "type": "string" }, "locationInFile": { "description": "LocationInFile is the line and offset in the file where the secret was found.\n", "type": "string" }, "metadataModifiedTime": { "description": "MetadataModifiedTime is the modification time of the file metadata containing the secret.\n", "format": "int64", "type": "integer" }, "modifiedTime": { "description": "ModifiedTime is the modification time of the file containing the secret.\n", "format": "int64", "type": "integer" }, "originalFileLocation": { "description": ".\n", "type": "string" }, "path": { "description": "Path is the path of the file in which the secret was found.\n", "type": "string" }, "permissions": { "description": "Permissions are permission bits of the file metadata containing the secret.\n", "type": "string" }, "secretID": { "description": "SecretID is the SHA1 of the secret content.\n", "type": "string" }, "size": { "description": "Size is the size in bytes of the file in which the secret was found.\n", "format": "int64", "type": "integer" }, "snippet": { "description": "Snippet is the partial plain secret.\n", "type": "string" }, "type": { "$ref": "#/$defs/vuln.SecretType" }, "user": { "description": "User is a username or ID of owner the file metadata containing the secret.\n", "type": "string" } }, "type": "object" }, "vuln.SecretType": { "description": "SecretType represents a secret type", "enum": [ [ "AWS Access Key ID", "AWS Secret Key", "AWS MWS Auth Token", "Azure Storage Account Access Key", "Azure Service Principal", "GCP Service Account Auth Key", "Private Encryption Key", "Public Encryption Key", "PEM X509 Certificate Header", "SSH Authorized Keys", "Artifactory API Token", "Artifactory Password", "Basic Auth Credentials", "Mailchimp Access Key", "NPM Token", "Slack Token", "Slack Webhook", "Square OAuth Secret", "Notion Integration Token", "Airtable API Key", "Atlassian Oauth2 Keys", "CircleCI Personal Token", "Databricks Authentication Token", "GitHub Token", "GitLab Token", "Google API key", "Grafana Token", "Python Package Index Key (PYPI)", "Typeform API Token", "Scalr Token", "Braintree Access Token", "Braintree Payments Key", "Paypal Token Key", "Braintree Payments ID", "Datadog Client Token", "ClickUp Personal API Token", "OpenAI API Key", "Java DB Connectivity (JDBC)", "MongoDB", ".Net SQL Server" ] ], "type": "string" }, "vuln.TagInfo": { "description": "TagInfo is the tag info in a specific vulnerability context", "properties": { "color": { "$ref": "#/$defs/common.Color" }, "comment": { "description": "Tag comment in a specific vulnerability context.\n", "type": "string" }, "name": { "description": "Name of the tag.\n", "type": "string" } }, "type": "object" }, "vuln.Vulnerability": { "description": "Vulnerability is a general schema for vulnerabilities (e.g., for compliance or packages)", "properties": { "applicableRules": { "description": "Rules applied on the package.\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "binaryPkgs": { "description": "Names of the distro binary package names (packages which are built from the source of the package).\n", "items": { "$ref": "#/$defs/string" }, "type": "array" }, "block": { "description": "Indicates if the vulnerability has a block effect (true) or not (false).\n", "type": "boolean" }, "cause": { "description": "Additional information regarding the root cause for the vulnerability.\n", "type": "string" }, "cri": { "description": "Indicates if this is a CRI-specific vulnerability (true) or not (false).\n", "type": "boolean" }, "custom": { "description": "Indicates if the vulnerability is a custom vulnerability (e.g., openscap, sandbox) (true) or not (false).\n", "type": "boolean" }, "cve": { "description": "CVE ID of the vulnerability (if applied).\n", "type": "string" }, "cvss": { "description": "CVSS score of the vulnerability.\n", "format": "float", "type": "number" }, "description": { "description": "Description of the vulnerability.\n", "type": "string" }, "discovered": { "description": "Specifies the time of discovery for the vulnerability.\n", "format": "date-time", "type": "string" }, "exploit": { "$ref": "#/$defs/vulnerability.ExploitType" }, "exploits": { "$ref": "#/$defs/vulnerability.Exploits" }, "fixDate": { "description": "Date/time when the vulnerability was fixed (in Unix time).\n", "format": "int64", "type": "integer" }, "fixLink": { "description": "Link to the vendor's fixed-version information.\n", "type": "string" }, "functionLayer": { "description": "Specifies the serverless layer ID in which the vulnerability was discovered.\n", "type": "string" }, "gracePeriodDays": { "description": "Number of grace days left for a vulnerability, based on the configured grace period. Nil if no block vulnerability rule applies.\n", "type": "integer" }, "id": { "description": "ID of the violation.\n", "type": "integer" }, "isRPMModule": { "description": "IsRPMModule indicates whether this vulnerability is specific to an RPM module.\n", "type": "boolean" }, "layerTime": { "description": "Date/time of the image layer to which the CVE belongs.\n", "format": "int64", "type": "integer" }, "link": { "description": "Vendor link to the CVE.\n", "type": "string" }, "packageName": { "description": "Name of the package that caused the vulnerability.\n", "type": "string" }, "packageType": { "$ref": "#/$defs/packages.Type" }, "packageVersion": { "description": "Version of the package that caused the vulnerability (or null).\n", "type": "string" }, "published": { "description": "Date/time when the vulnerability was published (in Unix time).\n", "format": "int64", "type": "integer" }, "riskFactors": { "$ref": "#/$defs/vulnerability.RiskFactors" }, "rpmModule": { "description": "RPMModule specifies the RPM module containing the package affected by this vulnerability.\n", "type": "string" }, "secret": { "$ref": "#/$defs/vuln.Secret" }, "severity": { "description": "Textual representation of the vulnerability's severity.\n", "type": "string" }, "status": { "description": "Vendor status for the vulnerability.\n", "type": "string" }, "templates": { "description": "List of templates with which the vulnerability is associated.\n", "items": { "$ref": "#/$defs/vuln.ComplianceTemplate" }, "type": "array" }, "text": { "description": "Description of the violation.\n", "type": "string" }, "title": { "description": "Compliance title.\n", "type": "string" }, "twistlock": { "description": "Indicates if this is a Twistlock-specific vulnerability (true) or not (false).\n", "type": "boolean" }, "type": { "$ref": "#/$defs/vulnerability.Type" }, "vecStr": { "description": "Textual representation of the metric values used to score the vulnerability.\n", "type": "string" }, "vulnTagInfos": { "description": "Tag information for the vulnerability.\n", "items": { "$ref": "#/$defs/vuln.TagInfo" }, "type": "array" }, "wildfireMalware": { "$ref": "#/$defs/vuln.WildFireMalware" } }, "type": "object" }, "vuln.WildFireMalware": { "description": "WildFireMalware holds the data for WildFire malicious MD5", "properties": { "md5": { "description": "MD5 is the hash of the malicious binary.\n", "type": "string" }, "path": { "description": "Path is the path to malicious binary.\n", "type": "string" }, "verdict": { "description": "Verdict is the malicious source like grayware, malware and phishing.\n", "type": "string" } }, "type": "object" }, "vulnerability.ExploitData": { "description": "ExploitData holds information about an exploit", "properties": { "kind": { "$ref": "#/$defs/vulnerability.ExploitKind" }, "link": { "description": "Link is a link to information about the exploit.\n", "type": "string" }, "source": { "$ref": "#/$defs/vulnerability.ExploitType" } }, "type": "object" }, "vulnerability.ExploitKind": { "description": "ExploitKind represents the kind of the exploit", "enum": [ [ "poc", "in-the-wild" ] ], "type": "string" }, "vulnerability.ExploitType": { "description": "ExploitType represents the source of an exploit", "enum": [ [ "", "exploit-db", "exploit-windows", "cisa-kev" ] ], "type": "string" }, "vulnerability.Exploits": { "description": "Exploits represents the exploits data found for a CVE", "items": { "$ref": "#/$defs/vulnerability.ExploitData" }, "type": "array" }, "vulnerability.RiskFactors": { "additionalProperties": { "$ref": "#/$defs/string" }, "description": "RiskFactors maps the existence of vulnerability risk factors", "type": "object" }, "vulnerability.Type": { "description": "Type represents the vulnerability type", "enum": [ [ "container", "image", "host_config", "daemon_config", "daemon_config_files", "security_operations", "k8s_master", "k8s_worker", "k8s_federation", "linux", "windows", "istio", "serverless", "custom", "docker_stig", "openshift_master", "openshift_worker", "application_control_linux", "gke_worker", "image_malware", "host_malware", "aks_worker", "eks_worker", "image_secret", "host_secret" ] ], "type": "string" }, "waas.OutOfBandMode": { "description": "OutOfBandMode holds the app firewall out-of-band mode", "enum": [ [ "", "Observation", "Protection" ] ], "type": "string" }, "waas.ProtectionStatus": { "description": "ProtectionStatus describes the status of the WAAS protection", "properties": { "enabled": { "description": "Enabled indicates if WAAS proxy protection is enabled (true) or not (false).\n", "type": "boolean" }, "outOfBandMode": { "$ref": "#/$defs/waas.OutOfBandMode" }, "ports": { "description": "Ports indicates http open ports associated with the container.\n", "items": { "$ref": "#/$defs/int" }, "type": "array" }, "supported": { "description": "Supported indicates if WAAS protection is supported (true) or not (false).\n", "type": "boolean" }, "tlsPorts": { "description": "TLSPorts indicates https open ports associated with the container.\n", "items": { "$ref": "#/$defs/int" }, "type": "array" }, "unprotectedProcesses": { "description": "UnprotectedProcesses holds the processes that support HTTP/HTTPS without WAAS protection.\n", "items": { "$ref": "#/$defs/waas.UnprotectedProcess" }, "type": "array" } }, "type": "object" }, "waas.UnprotectedProcess": { "description": "UnprotectedProcess holds unprotected processes alongside the port", "properties": { "port": { "description": "Port is the process port.\n", "type": "integer" }, "process": { "description": "Process is the process name.\n", "type": "string" }, "tls": { "description": "TLS is the port TLS indication.\n", "type": "boolean" } }, "type": "object" }, "wildfire.Usage": { "description": "Usage holds wildfire usage stats, period for the usage varies with context", "properties": { "bytes": { "description": "Bytes is the total number of bytes uploaded to the WildFire API.\n", "format": "int64", "type": "integer" }, "queries": { "description": "Queries is the number of queries to the WildFire API.\n", "format": "int64", "type": "integer" }, "uploads": { "description": "Uploads is the number of uploads to the WildFire API.\n", "format": "int64", "type": "integer" } }, "type": "object" } } }