Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type History ¶
type History struct { Name string `json:"name"` Registry string `json:"registry"` Tags []Tag `json:"tags"` }
History stores a slice of tags for a given repository
type Image ¶
type Image struct { Registry string `json:"registry"` Name string `json:"name"` VulnsFound int `json:"vulns_found"` CritVulns int `json:"crit_vulns"` HighVulns int `json:"high_vulns"` MedVulns int `json:"med_vulns"` LowVulns int `json:"low_vulns"` NegVulns int `json:"neg_vulns"` RegistryType string `json:"registry_type"` Repository string `json:"repository"` Tag string `json:"tag"` Created time.Time `json:"created"` Author string `json:"author"` Digest string `json:"digest"` Size int `json:"size"` Os string `json:"os"` OsVersion string `json:"os_version"` ScanStatus string `json:"scan_status"` ScanDate time.Time `json:"scan_date"` ScanError string `json:"scan_error"` SensitiveData int `json:"sensitive_data"` Malware int `json:"malware"` Disallowed bool `json:"disallowed"` Whitelisted bool `json:"whitelisted"` Blacklisted bool `json:"blacklisted"` PermissionAuthor string `json:"permission_author"` PolicyFailures interface{} `json:"policy_failures,omitempty"` PartialResults bool `json:"partial_results"` NewerImageExists bool `json:"newer_image_exists"` Metadata struct { DockerID string `json:"docker_id,omitempty"` Parent string `json:"parent,omitempty"` RepoDigests []string `json:"repo_digests,omitempty"` Comment string `json:"comment,omitempty"` Created time.Time `json:"created,omitempty"` DockerVersion string `json:"docker_version,omitempty"` Author string `json:"author,omitempty"` Architecture string `json:"architecture,omitempty"` Os string `json:"os,omitempty"` OsVersion string `json:"os_version,omitempty"` Size int `json:"size,omitempty"` VirtualSize int `json:"virtual_size,omitempty"` DefaultUser string `json:"default_user,omitempty"` Env []string `json:"env,omitempty"` DockerLabels []string `json:"docker_labels,omitempty"` ImageType string `json:"image_type,omitempty"` } `json:"metadata"` History []struct { ID string `json:"id"` Size int `json:"size"` Comment string `json:"comment"` Created string `json:"created"` CreatedBy string `json:"created_by"` } `json:"history"` AssuranceResults struct { Disallowed bool `json:"disallowed"` ChecksPerformed []struct { PolicyName string `json:"policy_name"` AssuranceType string `json:"assurance_type"` Failed bool `json:"failed"` Blocking bool `json:"blocking"` Control string `json:"control"` SensitiveDataFound int32 `json:"sensitive_data_found,omitempty"` MaxSeverityAllowed string `json:"max_severity_allowed,omitempty"` MaxSeverityFound string `json:"max_severity_found,omitempty"` MalwareFound int64 `json:"malware_found,omitempty"` RootUserFound bool `json:"root_user_found,omitempty"` BlacklistedCvesFound []string `json:"blacklisted_cves_found,omitempty"` CustomChecksFailed []struct { ScriptName string `json:"script_name"` ScriptType string `json:"script_type"` ExitCode int `json:"exit_code"` Output string `json:"output"` } `json:"custom_checks_failed,omitempty"` } `json:"checks_performed"` } `json:"assurance_results"` PendingDisallowed bool `json:"pending_disallowed"` MicroenforcerDetected bool `json:"microenforcer_detected"` DTASeverityScore string `json:"dta_severity_score,omitempty"` Permission string `json:"permission,omitempty"` }
Image - API response to v2/images/{registry}/{repo}/{tag}
type Images ¶
type Images struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []Image `json:"result"` }
Images - API response to /v2/images
type Layer ¶
type Layer struct { ID string `json:"id"` Comment string `json:"comment"` Created int `json:"created"` CreatedBy string `json:"created_by"` Size int `json:"size"` Position int `json:"position"` CritVulns int `json:"crit_vulns"` HighVulns int `json:"high_vulns"` MedVulns int `json:"med_vulns"` LowVulns int `json:"low_vulns"` NegVulns int `json:"neg_vulns"` SensitiveData int `json:"sensitive_data"` VulnsFound int `json:"vulns_found"` IsBaseLayer bool `json:"is_base_layer"` }
Layer - an attempt to de-duplicate layer history
type Layers ¶
type Layers struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []Layer `json:"result"` }
Layers response from v2/images/registry/repo/tag/history_layers
type Malware ¶
type Malware struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []struct { Malware string `json:"malware"` Hash string `json:"hash"` Path string `json:"path"` Paths []string `json:"paths"` Acknowledged bool `json:"acknowledged"` AcknowledgeDate time.Time `json:"acknowledge_date"` AcknowledgeScope string `json:"acknowledge_scope"` AcknowledgeExpirationDays int `json:"acknowledge_expiration_days"` AcknowledgeExpirationConfiguredAt time.Time `json:"acknowledge_expiration_configured_at"` AcknowledgeExpirationConfiguredBy string `json:"acknowledge_expiration_configured_by"` } `json:"result"` }
Malware - image malware API response from v2/images/registry/repo/tag/malware
type Repositories ¶
type Repositories struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []Repository `json:"result"` Query struct { Registry string `json:"registry"` Time string `json:"time"` Orderby string `json:"orderby"` Scopes interface{} `json:"Scopes"` } `json:"query,omitempty"` MoreData int `json:"more_data,omitempty"` }
Repositories returns the api/v2/repositories query data
type Repository ¶
type Repository struct { Name string `json:"name"` Registry string `json:"registry"` Author string `json:"author"` Policy string `json:"policy"` DynamicProfiling bool `json:"dynamic_profiling"` NumImages int `json:"num_images"` NumDisallowed int `json:"num_disallowed"` NumFailed int `json:"num_failed"` CritVulns int `json:"crit_vulns"` HighVulns int `json:"high_vulns"` MedVulns int `json:"med_vulns"` LowVulns int `json:"low_vulns"` NegVulns int `json:"neg_vulns"` SensitiveData int `json:"sensitive_data"` Malware int `json:"malware"` TrustedBaseCount int `json:"trusted_base_count"` WhitelistedImagesCount int `json:"whitelisted_images_count"` IsDefaultPolicy bool `json:"is_default_policy"` }
Repository - single repo
type Resource ¶
type Resource struct { Type string `json:"type"` Format string `json:"format"` Path string `json:"path"` Name string `json:"name"` Version string `json:"version"` Arch string `json:"arch,omitempty"` Cpe string `json:"cpe"` Licenses []string `json:"licenses,omitempty"` Hash string `json:"hash,omitempty"` }
Resource is a specific vulnerability resource
type ScanHistories ¶
type ScanHistories struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []ScanHistory `json:"result"` }
ScanHistory stores the results of the v2/images/{}/{}/{}/scan_history call
type ScanHistory ¶
type ScanHistory struct { Date time.Time `json:"date"` Error string `json:"error"` Digest string `json:"digest"` DockerID string `json:"docker_id"` ImagePulled bool `json:"image_pulled"` ImageCreationDate time.Time `json:"image_creation_date"` SensitiveDataScanned bool `json:"sensitive_data_scanned"` ExecutablesScanned bool `json:"executables_scanned"` MalwareScanned bool `json:"malware_scanned"` CritVulns int `json:"crit_vulns"` HighVulns int `json:"high_vulns"` MedVulns int `json:"med_vulns"` LowVulns int `json:"low_vulns"` NegVulns int `json:"neg_vulns"` SensitiveData int `json:"sensitive_data"` Malware int `json:"malware"` Disallowed bool `json:"disallowed"` PartialResults bool `json:"partial_results"` }
ScanHistory - single scan history object
type Sensitive ¶
type Sensitive struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []struct { Type string `json:"type"` Path string `json:"path"` Hash string `json:"hash"` Filename string `json:"filename"` Acknowledged bool `json:"acknowledged"` AcknowledgeDate time.Time `json:"acknowledge_date"` AcknowledgeScope string `json:"acknowledge_scope"` } `json:"result"` }
Sensitive - response from v2/images/registry/repo/tag/sensitive
type Tag ¶
type Tag struct { Tag string `json:"tag"` Created time.Time `json:"created"` VulnsFound int `json:"vulns_found"` CritVulns int `json:"crit_vulns"` HighVulns int `json:"high_vulns"` MedVulns int `json:"med_vulns"` LowVulns int `json:"low_vulns"` NegVulns int `json:"neg_vulns"` }
Tag stores the vulnerability information for a specific repository:tag
type Vulnerabilities ¶
type Vulnerabilities struct { Count int `json:"count"` Page int `json:"page"` Pagesize int `json:"pagesize"` Result []Vulnerability `json:"result"` }
Vulnerabilities - API Response to v2/images/registry/repo/tag/vulnerabilities
type Vulnerability ¶
type Vulnerability struct { Registry string `json:"registry"` ImageRepositoryName string `json:"image_repository_name"` ImageName string `json:"image_name"` ReferencedVulnerabilities interface{} `json:"referenced_vulnerabilities"` Resource Resource `json:"resource"` Name string `json:"name"` Description string `json:"description"` PublishDate string `json:"publish_date"` ModificationDate string `json:"modification_date"` VendorSeverity string `json:"vendor_severity"` VendorCvss2Score float64 `json:"vendor_cvss2_score"` VendorCvss2Vectors string `json:"vendor_cvss2_vectors"` VendorStatement string `json:"vendor_statement"` VendorURL string `json:"vendor_url"` NvdSeverity string `json:"nvd_severity"` NvdCvss2Score float64 `json:"nvd_cvss2_score"` NvdCvss2Vectors string `json:"nvd_cvss2_vectors"` NvdCvss3Severity string `json:"nvd_cvss3_severity"` NvdCvss3Score float64 `json:"nvd_cvss3_score"` NvdCvss3Vectors string `json:"nvd_cvss3_vectors"` NvdURL string `json:"nvd_url"` FixVersion string `json:"fix_version"` Solution string `json:"solution"` Classification string `json:"classification"` QualysIds interface{} `json:"qualys_ids"` AquaScore float64 `json:"aqua_score"` AquaSeverity string `json:"aqua_severity"` AquaVectors string `json:"aqua_vectors"` AquaScoringSystem string `json:"aqua_scoring_system"` AncestorPkg string `json:"ancestor_pkg"` SiblingPkg string `json:"sibling_pkg"` VPatchAppliedBy string `json:"v_patch_applied_by"` VPatchAppliedOn string `json:"v_patch_applied_on"` VPatchRevertedBy string `json:"v_patch_reverted_by"` VPatchRevertedOn string `json:"v_patch_reverted_on"` VPatchEnforcedBy string `json:"v_patch_enforced_by"` VPatchEnforcedOn string `json:"v_patch_enforced_on"` VPatchStatus string `json:"v_patch_status"` AcknowledgedDate time.Time `json:"acknowledged_date"` AckScope string `json:"ack_scope"` AckComment string `json:"ack_comment"` AckAuthor string `json:"ack_author"` AckExpirationDays int `json:"ack_expiration_days"` AckExpirationConfiguredAt time.Time `json:"ack_expiration_configured_at"` AckExpirationConfiguredBy string `json:"ack_expiration_configured_by"` VPatchPolicyName string `json:"v_patch_policy_name"` VPatchPolicyEnforce bool `json:"v_patch_policy_enforce"` AuditEventsCount int `json:"audit_events_count"` BlockEventsCount int `json:"block_events_count"` ImageWorkloadInfo interface{} `json:"image_workload_info"` BaseImageVulnerability bool `json:"base_image_vulnerability"` BaseImageName string `json:"base_image_name"` }
Vulnerability - single vulnerability object