2025-02-05 08:29:52 +00:00
|
|
|
package com.freeleaps.devops
|
|
|
|
|
|
|
|
|
|
import com.freeleaps.devops.enums.SASTScannerTypes
|
2025-02-07 07:18:40 +00:00
|
|
|
import com.freeleaps.devops.sast.SASTScanner
|
2025-02-07 07:23:46 +00:00
|
|
|
import com.freeleaps.devops.sast.Bandit
|
2025-02-05 08:29:52 +00:00
|
|
|
|
|
|
|
|
class SASTExecutor {
|
|
|
|
|
def steps
|
|
|
|
|
def workspace
|
|
|
|
|
def scannerType
|
2025-02-07 07:18:40 +00:00
|
|
|
|
|
|
|
|
SASTExecutor(steps, workspace, scannerType) {
|
|
|
|
|
this.steps = steps
|
|
|
|
|
this.workspace = workspace
|
|
|
|
|
this.scannerType = scannerType
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def execute() {
|
|
|
|
|
SASTScanner scanner
|
|
|
|
|
|
|
|
|
|
switch (scannerType) {
|
|
|
|
|
case SASTScannerTypes.BANDIT:
|
|
|
|
|
scanner = new Bandit(steps, workspace)
|
|
|
|
|
break
|
|
|
|
|
default:
|
|
|
|
|
steps.error("Unsupported SAST scanner type: ${scannerType}")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scanner.scan()
|
|
|
|
|
}
|
2025-02-05 08:29:52 +00:00
|
|
|
}
|