@@ -48,14 +48,21 @@ const (
4848var ruleIDsVulnerability = []string {ruleIDVulnerabilityCritical , ruleIDVulnerabilityHigh , ruleIDVulnerabilityMedium , ruleIDVulnerabilityMinor }
4949
5050// New creates a new instance of Codacy Trivy.
51- func New () codacyTrivy {
52- return codacyTrivy {
53- runnerFactory : & defaultRunnerFactory {},
51+ func New (maliciousPackagesIndexPath string ) (* codacyTrivy , error ) {
52+ maliciousPackagesScanner , err := NewMaliciousPackagesScanner (maliciousPackagesIndexPath )
53+ if err != nil {
54+ return nil , err
5455 }
56+
57+ return & codacyTrivy {
58+ runnerFactory : & defaultRunnerFactory {},
59+ maliciousPackagesScanner : * maliciousPackagesScanner ,
60+ }, nil
5561}
5662
5763type codacyTrivy struct {
58- runnerFactory RunnerFactory
64+ runnerFactory RunnerFactory
65+ maliciousPackagesScanner MaliciousPackagesScanner
5966}
6067
6168// https://github.com/uber-go/guide/blob/master/style.md#verify-interface-compliance
@@ -87,11 +94,7 @@ func (t codacyTrivy) Run(ctx context.Context, toolExecution codacy.ToolExecution
8794
8895 secretScanningIssues := t .runSecretScanning (toolExecution )
8996
90- maliciousPackagesScanner , err := NewMaliciousPackagesScanner ()
91- if err != nil {
92- return nil , err
93- }
94- maliciousPackagesIssues := maliciousPackagesScanner .Scan (report , toolExecution )
97+ maliciousPackagesIssues := t .maliciousPackagesScanner .Scan (report , toolExecution )
9598
9699 allIssues := append (vulnerabilityScanningIssues , secretScanningIssues ... )
97100 allIssues = append (allIssues , maliciousPackagesIssues ... )
0 commit comments