report

package
v2.0.0-...-811865e Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IssueSeverityHigh   issueSeverity = "high"
	IssueSeverityMedium issueSeverity = "medium"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type FlawDetails

type FlawDetails struct {
	ID                      int
	CWE                     int
	AffectsPolicyCompliance bool
	RemediationStatus       string
	MitigationStatus        string
	Mitigation              string
	SourceFile              string
	LineNumber              int
	ModulePath              string
}

func (*FlawDetails) IsInList

func (f *FlawDetails) IsInList(flaws []FlawDetails) bool

func (*FlawDetails) IsOpen

func (f *FlawDetails) IsOpen() bool

type FlawSummary

type FlawSummary struct {
	Total                     int `json:"total,omitempty"`
	Fixed                     int `json:"fixed,omitempty"`
	TotalAffectingPolicy      int `json:"total_affecting_policy,omitempty"`
	Mitigated                 int `json:"mitigated,omitempty"`
	OpenAffectingPolicy       int `json:"open_affecting_policy,omitempty"`
	OpenButNotAffectingPolicy int `json:"open_but_not_affecting_policy,omitempty"`
}

type Issue

type Issue struct {
	Description     string        `json:"description,omitempty"`
	Severity        issueSeverity `json:"severity,omitempty"`
	AffectedFiles   []string      `json:"affected_files,omitempty"`
	AffectedModules []string      `json:"affected_modules,omitempty"`
}

type Module

type Module struct {
	Name         string           `json:"name,omitempty"`
	IsThirdParty bool             `json:"is_third_party"`
	IsIgnored    bool             `json:"is_ignored"`
	Instances    []ModuleInstance `json:"instances,omitempty"`
	Flaws        FlawSummary      `json:"flaws,omitempty"`
	FlawDetails  []FlawDetails    `json:"-"`
	DependencyOf []string         `json:"dependency_of,omitempty"`
}

func (*Module) HasFatalErrors

func (m *Module) HasFatalErrors() bool

func (*Module) HasStatus

func (m *Module) HasStatus(status string) bool

func (*Module) IsDependency

func (m *Module) IsDependency() bool

func (*Module) IsDotNetOrCPPModule

func (m *Module) IsDotNetOrCPPModule() bool

func (*Module) IsInListByName

func (m *Module) IsInListByName(modules []Module) bool

func (*Module) IsJavaModule

func (m *Module) IsJavaModule() bool

func (*Module) IsJavaScriptModule

func (m *Module) IsJavaScriptModule() bool

func (*Module) IsNodeModule

func (m *Module) IsNodeModule() bool

func (*Module) IsSelected

func (m *Module) IsSelected() bool

func (*Module) Issues

func (m *Module) Issues() []string

type ModuleInstance

type ModuleInstance struct {
	Id              int                  `json:"id,omitempty"`
	Compiler        string               `json:"compiler,omitempty"`
	OperatingSystem string               `json:"operating_system,omitempty"`
	Architecture    string               `json:"architecture,omitempty"`
	IsDependency    bool                 `json:"is_dependency"`
	IsSelected      bool                 `json:"is_selected"`
	WasScanned      bool                 `json:"was_scanned"`
	HasFatalErrors  bool                 `json:"has_fatal_errors"`
	Status          string               `json:"status,omitempty"`
	Platform        string               `json:"platform,omitempty"`
	Size            string               `json:"size,omitempty"`
	MD5             string               `json:"md5,omitempty"`
	Issues          []string             `json:"issues,omitempty"`
	SizeBytes       int                  `json:"size_bytes,omitempty"`
	Source          ModuleInstanceSource `json:"source,omitempty"`
}

type ModuleInstanceSource

type ModuleInstanceSource string
const (
	DetailedReportModuleSelected ModuleInstanceSource = "detailed_report_module_selected"
	PrescanModuleList            ModuleInstanceSource = "prescan_module_list"
)

type Report

type Report struct {
	HealthTool           healthTool     `json:"health_tool,omitempty"`
	LastAppActivity      time.Time      `json:"last_app_activity,omitempty"`
	LastSandboxActivity  time.Time      `json:"last_sandbox_activity,omitempty"`
	Scan                 Scan           `json:"scan,omitempty"`
	OtherScans           []Scan         `json:"-"`
	Flaws                FlawSummary    `json:"flaws,omitempty"`
	UploadedFiles        []UploadedFile `json:"uploaded_files,omitempty"`
	Modules              []Module       `json:"modules,omitempty"`
	SCAComponents        []string       `json:"sca_components,omitempty"`
	Issues               []Issue        `json:"issues,omitempty"`
	Recommendations      []string       `json:"recommendations,omitempty"`
	IsReportForOtherScan bool           `json:"-"`
}

func NewReport

func NewReport(buildId int, region, version string, isReportForOtherScan bool) *Report

func (*Report) AddModuleDependency

func (r *Report) AddModuleDependency(moduleName, thisModuleIsDependentOn string)

func (*Report) AddModuleInstance

func (r *Report) AddModuleInstance(moduleName string, moduleInstance ModuleInstance)

func (*Report) FancyListMatchModules

func (r *Report) FancyListMatchModules(fancyList []string) []string

func (*Report) FancyListMatchSelectedModules

func (r *Report) FancyListMatchSelectedModules(fancyList []string) []string

func (*Report) FancyListMatchUploadedFiles

func (r *Report) FancyListMatchUploadedFiles(fancyList []string) []string

func (*Report) GetPrescanModules

func (r *Report) GetPrescanModules() []Module

func (*Report) GetReviewModulesUrl

func (r *Report) GetReviewModulesUrl() string

func (*Report) GetSelectedModules

func (r *Report) GetSelectedModules() []Module

func (*Report) GetTriageFlawsUrl

func (r *Report) GetTriageFlawsUrl() string

func (*Report) MakeRecommendation

func (r *Report) MakeRecommendation(recommendation string)

func (*Report) PrioritizeIssues

func (r *Report) PrioritizeIssues()

func (*Report) Render

func (r *Report) Render(format, jsonFilePath string)

func (*Report) ReportFileIssue

func (r *Report) ReportFileIssue(issue string, severity issueSeverity, files []string)

func (*Report) ReportIssue

func (r *Report) ReportIssue(issue string, severity issueSeverity)

func (*Report) ReportModuleIssue

func (r *Report) ReportModuleIssue(issue string, severity issueSeverity, modules []string)

type Scan

type Scan struct {
	AccountId            int           `json:"account_id,omitempty"`
	BusinessUnit         string        `json:"business_unit,omitempty"`
	ApplicationId        int           `json:"application_id,omitempty"`
	ApplicationName      string        `json:"application_name,omitempty"`
	ScanName             string        `json:"scan_name,omitempty"`
	SandboxId            int           `json:"sandbox_id,omitempty"`
	SandboxName          string        `json:"sandbox_name,omitempty"`
	BuildId              int           `json:"build_id,omitempty"`
	AnalysisId           int           `json:"analysis_id,omitempty"`
	StaticAnalysisUnitId int           `json:"static_analysis_unit_id,omitempty"`
	ReviewModulesUrl     string        `json:"review_modules_url,omitempty"`
	TriageFlawsUrl       string        `json:"triage_flaws_url,omitempty"`
	TotalFilesUploaded   int           `json:"total_files_uploaded,omitempty"`
	TotalModules         int           `json:"total_modules,omitempty"`
	TotalModulesSelected int           `json:"total_modules_selected,omitempty"`
	EngineVersion        string        `json:"engine_version,omitempty"`
	SubmittedDate        time.Time     `json:"submitted_date,omitempty"`
	PublishedDate        time.Time     `json:"published_data,omitempty"`
	Duration             time.Duration `json:"duration,omitempty"`
	AnalysisSize         uint64        `json:"analysis_size,omitempty"`
	IsLatestScan         bool          `json:"is_latest_scan"`
	IsSCADataAvailable   bool          `json:"is_sca_data_available"`
}

type UploadedFile

type UploadedFile struct {
	Id           int    `json:"id,omitempty"`
	Name         string `json:"name,omitempty"`
	Status       string `json:"status,omitempty"`
	MD5          string `json:"md5,omitempty"`
	IsThirdParty bool   `json:"is_third_party"`
	IsIgnored    bool   `json:"is_ignored"`
	Source       string `json:"source,omitempty"`
}

Jump to

Keyboard shortcuts

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