Documentation
¶
Index ¶
- func IsDir(path string) bool
- func Ptr[T any](v T) *T
- func SaveFindingResult(result UploadFindingResponse) error
- type Analyzer
- type ChangedFile
- type ChangedFileStatus
- type CiScanInfo
- type CiScanRequest
- type Client
- func (client *Client) InitScan(request CiScanRequest) (*CiScanInfo, error)
- func (client *Client) Request() *resty.Request
- func (client *Client) TestConnection() bool
- func (client *Client) UpdateScan(scanId string, request UpdateCIScanRequest) error
- func (client *Client) UploadDependency(request UploadDependencyRequest) (*UploadDependencyResponse, error)
- func (client *Client) UploadFinding(request UploadFindingRequest) (*UploadFindingResponse, error)
- type FindingLocation
- type FindingMetadata
- type GitAction
- type HandleSastFindingPros
- type Handler
- type LocalHandler
- func (handler *LocalHandler) HandleSCA(sourceManager git.GitEnv, result ScaResult)
- func (handler *LocalHandler) HandleSastFindings(input HandleSastFindingPros)
- func (handler *LocalHandler) OnCompleted()
- func (handler *LocalHandler) OnError(err error)
- func (handler *LocalHandler) OnStart(sourceManager git.GitEnv, scannerName string, scannerType ScannerType) (*CiScanInfo, error)
- type Package
- type PackageDependency
- type PackageInfo
- type RemoteHandler
- func (handler *RemoteHandler) HandleSCA(sourceManager git.GitEnv, result ScaResult)
- func (handler *RemoteHandler) HandleSastFindings(input HandleSastFindingPros)
- func (handler *RemoteHandler) OnCompleted()
- func (handler *RemoteHandler) OnError(err error)
- func (handler *RemoteHandler) OnStart(sourceManager git.GitEnv, scannerName string, scannerType ScannerType) (*CiScanInfo, error)
- type SastAnalyzer
- type SastAnalyzerOption
- type SastFinding
- type SastResult
- type SastScanner
- type ScaAnalyzer
- type ScaResult
- type ScaScanner
- type ScanOption
- type ScanStatus
- type ScanStrategy
- type ScannerType
- type Severity
- type UpdateCIScanRequest
- type UploadDependencyRequest
- type UploadDependencyResponse
- type UploadFindingRequest
- type UploadFindingResponse
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SaveFindingResult ¶
func SaveFindingResult(result UploadFindingResponse) error
Types ¶
type Analyzer ¶
type Analyzer struct {
// contains filtered or unexported fields
}
func (*Analyzer) RegisterHandler ¶
func (*Analyzer) RegisterSourceManager ¶
type ChangedFile ¶
type ChangedFile struct { From string `json:"from"` To string `json:"to"` Status ChangedFileStatus `json:"status"` }
func FromObjectChanges ¶
func FromObjectChanges(changes object.Changes) []ChangedFile
type ChangedFileStatus ¶
type ChangedFileStatus string
const Add ChangedFileStatus = "Add"
const Delete ChangedFileStatus = "Delete"
const Modify ChangedFileStatus = "Modify"
type CiScanInfo ¶
type CiScanRequest ¶
type CiScanRequest struct { Source string `json:"source"` RepoId string `json:"repoId"` RepoUrl string `json:"repoUrl"` RepoName string `json:"repoName"` GitAction GitAction `json:"gitAction"` ScanTitle string `json:"scanTitle"` CommitHash string `json:"commitHash"` CommitBranch string `json:"commitBranch"` TargetBranch string `json:"targetBranch"` MergeRequestId string `json:"mergeRequestId"` Scanner string `json:"scanner"` Type ScannerType `json:"type"` JobUrl string `json:"jobUrl"` IsDefault *bool `json:"isDefault"` }
type Client ¶
type Client struct { UserAgent string // contains filtered or unexported fields }
func (*Client) InitScan ¶
func (client *Client) InitScan(request CiScanRequest) (*CiScanInfo, error)
func (*Client) TestConnection ¶
func (*Client) UpdateScan ¶
func (client *Client) UpdateScan(scanId string, request UpdateCIScanRequest) error
func (*Client) UploadDependency ¶
func (client *Client) UploadDependency(request UploadDependencyRequest) (*UploadDependencyResponse, error)
func (*Client) UploadFinding ¶
func (client *Client) UploadFinding(request UploadFindingRequest) (*UploadFindingResponse, error)
type FindingLocation ¶
type FindingLocation struct { Path string `json:"path,omitempty"` Snippet string `json:"snippet,omitempty"` StartLine int `json:"startLine,omitempty"` EndLine int `json:"endLine,omitempty"` StartColumn int `json:"startColumn,omitempty"` EndColumn int `json:"endColumn,omitempty"` }
func (*FindingLocation) String ¶
func (location *FindingLocation) String() string
type FindingMetadata ¶
type FindingMetadata struct { FindingFlow []FindingLocation `json:"findingFlow,omitempty"` Cwes []string `json:"cwes,omitempty"` References []string `json:"references,omitempty"` Cvss *string `json:"cvss,omitempty"` CvssScore *string `json:"cvssScore,omitempty"` }
type HandleSastFindingPros ¶
type HandleSastFindingPros struct { Result SastResult Strategy ScanStrategy ChangedFiles []ChangedFile SourceManager git.GitEnv }
type Handler ¶
type Handler interface { OnStart(source git.GitEnv, scannerName string, scannerType ScannerType) (*CiScanInfo, error) OnCompleted() OnError(err error) HandleSastFindings(input HandleSastFindingPros) HandleSCA(sourceManager git.GitEnv, result ScaResult) }
func GetHandler ¶
func GetHandler() Handler
type LocalHandler ¶
type LocalHandler struct{}
func NewLocalHandler ¶
func NewLocalHandler() *LocalHandler
func (*LocalHandler) HandleSCA ¶
func (handler *LocalHandler) HandleSCA(sourceManager git.GitEnv, result ScaResult)
func (*LocalHandler) HandleSastFindings ¶
func (handler *LocalHandler) HandleSastFindings(input HandleSastFindingPros)
func (*LocalHandler) OnCompleted ¶
func (handler *LocalHandler) OnCompleted()
func (*LocalHandler) OnError ¶
func (handler *LocalHandler) OnError(err error)
func (*LocalHandler) OnStart ¶
func (handler *LocalHandler) OnStart(sourceManager git.GitEnv, scannerName string, scannerType ScannerType) (*CiScanInfo, error)
type Package ¶
type Package struct { Id *string `json:"id,omitempty"` PkgId string `json:"pkgId,omitempty"` Group string `json:"group,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` Type string `json:"type,omitempty"` License string `json:"license,omitempty"` Location *string `json:"location,omitempty"` }
type PackageDependency ¶
type PackageInfo ¶
type PackageInfo struct { Package Package `json:"package"` Vulnerabilities []Vulnerability `json:"vulnerabilities"` }
type RemoteHandler ¶
type RemoteHandler struct {
// contains filtered or unexported fields
}
func NewRemoteHandler ¶
func NewRemoteHandler(codeSecureServer, codeSecureToken string) (*RemoteHandler, error)
func (*RemoteHandler) HandleSCA ¶
func (handler *RemoteHandler) HandleSCA(sourceManager git.GitEnv, result ScaResult)
func (*RemoteHandler) HandleSastFindings ¶
func (handler *RemoteHandler) HandleSastFindings(input HandleSastFindingPros)
func (*RemoteHandler) OnCompleted ¶
func (handler *RemoteHandler) OnCompleted()
func (*RemoteHandler) OnError ¶
func (handler *RemoteHandler) OnError(err error)
func (*RemoteHandler) OnStart ¶
func (handler *RemoteHandler) OnStart(sourceManager git.GitEnv, scannerName string, scannerType ScannerType) (*CiScanInfo, error)
type SastAnalyzer ¶
type SastAnalyzer struct { Analyzer // contains filtered or unexported fields }
SastAnalyzer start
func NewSastAnalyzer ¶
func NewSastAnalyzer(option SastAnalyzerOption) *SastAnalyzer
func (*SastAnalyzer) RegisterScanner ¶
func (analyzer *SastAnalyzer) RegisterScanner(scanner SastScanner)
func (*SastAnalyzer) Run ¶
func (analyzer *SastAnalyzer) Run()
type SastAnalyzerOption ¶
type SastAnalyzerOption struct { ProjectPath string Scanner SastScanner }
type SastFinding ¶
type SastFinding struct { ID string `json:"id,omitempty"` RuleID string `json:"ruleId,omitempty" json:"ruleID,omitempty"` Identity string `json:"identity,omitempty" json:"identity,omitempty"` Name string `json:"name,omitempty" json:"name,omitempty"` Description string `json:"description,omitempty" json:"description,omitempty"` Category string `json:"category,omitempty" json:"category,omitempty"` Recommendation string `json:"recommendation,omitempty" json:"recommendation,omitempty"` Severity Severity `json:"severity,omitempty" json:"severity,omitempty"` Location *FindingLocation `json:"location,omitempty" json:"location,omitempty"` Metadata *FindingMetadata `json:"metadata,omitempty" json:"metadata,omitempty"` }
type SastResult ¶
type SastResult struct {
Findings []SastFinding
}
type SastScanner ¶
type SastScanner interface { Name() string Type() ScannerType Scan(option ScanOption) (*SastResult, error) }
type ScaAnalyzer ¶
type ScaAnalyzer struct { Analyzer // contains filtered or unexported fields }
ScaAnalyzer start
func NewScaAnalyzer ¶
func NewScaAnalyzer() *ScaAnalyzer
func (*ScaAnalyzer) RegisterScanner ¶
func (analyzer *ScaAnalyzer) RegisterScanner(scanner ScaScanner)
func (*ScaAnalyzer) Run ¶
func (analyzer *ScaAnalyzer) Run()
type ScaResult ¶
type ScaResult struct { Packages []Package PackageDependencies []PackageDependency Vulnerabilities []Vulnerability }
type ScaScanner ¶
type ScaScanner interface { Name() string Type() ScannerType Scan() (*ScaResult, error) }
type ScanOption ¶
type ScanOption struct { ChangedFiles []ChangedFile ScanStrategy ScanStrategy BaseLineCommitSha string }
type ScanStatus ¶
type ScanStatus string
const ( StatusCompleted ScanStatus = "Completed" StatusRunning ScanStatus = "Running" StatusError ScanStatus = "Error" )
type ScanStrategy ¶
type ScanStrategy string
const ( AllFiles ScanStrategy = "AllFiles" ChangedFileOnly ScanStrategy = "ChangedFileOnly" )
func (ScanStrategy) String ¶
func (a ScanStrategy) String() string
type ScannerType ¶
type ScannerType string
const ( ScannerTypeSast ScannerType = "Sast" ScannerTypeDast ScannerType = "Dast" ScannerTypeIast ScannerType = "Iast" ScannerTypeDependency ScannerType = "Dependency" ScannerTypeContainer ScannerType = "Container" ScannerTypeSecretDetection ScannerType = "Secret" )
type UpdateCIScanRequest ¶
type UpdateCIScanRequest struct { Status *ScanStatus `json:"status,omitempty"` Description *string `json:"description,omitempty"` }
type UploadDependencyRequest ¶
type UploadDependencyRequest struct { ScanId string `json:"scanId,omitempty"` Packages []Package `json:"packages,omitempty"` PackageDependencies []PackageDependency `json:"packageDependencies,omitempty"` Vulnerabilities []Vulnerability `json:"vulnerabilities,omitempty"` }
type UploadDependencyResponse ¶
type UploadDependencyResponse struct { Packages []PackageInfo `json:"packages,omitempty"` IsBlock bool `json:"isBlock,omitempty"` }
type UploadFindingRequest ¶
type UploadFindingRequest struct { ScanId string `json:"scanId,omitempty"` Findings []SastFinding `json:"findings,omitempty"` Strategy ScanStrategy `json:"strategy,omitempty"` ChangedFiles []ChangedFile `json:"changedFiles,omitempty"` }
type UploadFindingResponse ¶
type UploadFindingResponse struct { FindingUrl string `json:"findingUrl,omitempty"` NewFindings []SastFinding `json:"newFindings,omitempty"` ConfirmedFindings []SastFinding `json:"confirmedFindings,omitempty"` OpenFindings []SastFinding `json:"openFindings,omitempty"` FixedFindings []SastFinding `json:"fixedFindings,omitempty"` IsBlock bool `json:"isBlock,omitempty"` }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.