images

package
v0.0.0-...-5ee5e5d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2020 License: Apache-2.0 Imports: 1 Imported by: 4

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL