@@ -23,16 +23,17 @@ const (
2323type SastScanManager struct {
2424 sastScannerResults []* sarif.Run
2525 scanner * jas.JasScanner
26+ signedDescriptions bool
2627 configFileName string
2728 resultsFileName string
2829}
2930
30- func RunSastScan (scanner * jas.JasScanner , module jfrogappsconfig.Module , threadId int ) (results []* sarif.Run , err error ) {
31+ func RunSastScan (scanner * jas.JasScanner , module jfrogappsconfig.Module , signedDescriptions bool , threadId int ) (results []* sarif.Run , err error ) {
3132 var scannerTempDir string
3233 if scannerTempDir , err = jas .CreateScannerTempDirectory (scanner , jasutils .Sast .String ()); err != nil {
3334 return
3435 }
35- sastScanManager := newSastScanManager (scanner , scannerTempDir )
36+ sastScanManager := newSastScanManager (scanner , scannerTempDir , signedDescriptions )
3637 log .Info (clientutils .GetLogMsgPrefix (threadId , false ) + "Running SAST scan..." )
3738 if err = sastScanManager .scanner .Run (sastScanManager , module ); err != nil {
3839 err = jas .ParseAnalyzerManagerError (jasutils .Sast , err )
@@ -45,16 +46,17 @@ func RunSastScan(scanner *jas.JasScanner, module jfrogappsconfig.Module, threadI
4546 return
4647}
4748
48- func newSastScanManager (scanner * jas.JasScanner , scannerTempDir string ) (manager * SastScanManager ) {
49+ func newSastScanManager (scanner * jas.JasScanner , scannerTempDir string , signedDescriptions bool ) (manager * SastScanManager ) {
4950 return & SastScanManager {
5051 sastScannerResults : []* sarif.Run {},
5152 scanner : scanner ,
53+ signedDescriptions : signedDescriptions ,
5254 configFileName : filepath .Join (scannerTempDir , "config.yaml" ),
5355 resultsFileName : filepath .Join (scannerTempDir , "results.sarif" )}
5456}
5557
5658func (ssm * SastScanManager ) Run (module jfrogappsconfig.Module ) (err error ) {
57- if err = ssm .createConfigFile (module , ssm .scanner .Exclusions ... ); err != nil {
59+ if err = ssm .createConfigFile (module , ssm .signedDescriptions , ssm . scanner .Exclusions ... ); err != nil {
5860 return
5961 }
6062 if err = ssm .runAnalyzerManager (filepath .Dir (ssm .scanner .AnalyzerManager .AnalyzerManagerFullPath )); err != nil {
@@ -74,14 +76,19 @@ type sastScanConfig struct {
7476}
7577
7678type scanConfiguration struct {
77- Roots []string `yaml:"roots,omitempty"`
78- Type string `yaml:"type,omitempty"`
79- Language string `yaml:"language,omitempty"`
80- ExcludePatterns []string `yaml:"exclude_patterns,omitempty"`
81- ExcludedRules []string `yaml:"excluded-rules,omitempty"`
79+ Roots []string `yaml:"roots,omitempty"`
80+ Type string `yaml:"type,omitempty"`
81+ Language string `yaml:"language,omitempty"`
82+ ExcludePatterns []string `yaml:"exclude_patterns,omitempty"`
83+ ExcludedRules []string `yaml:"excluded-rules,omitempty"`
84+ SastParameters sastParameters `yaml:"sast_parameters,omitempty"`
8285}
8386
84- func (ssm * SastScanManager ) createConfigFile (module jfrogappsconfig.Module , exclusions ... string ) error {
87+ type sastParameters struct {
88+ SignedDescriptions bool `yaml:"signed_descriptions,omitempty"`
89+ }
90+
91+ func (ssm * SastScanManager ) createConfigFile (module jfrogappsconfig.Module , signedDescriptions bool , exclusions ... string ) error {
8592 sastScanner := module .Scanners .Sast
8693 if sastScanner == nil {
8794 sastScanner = & jfrogappsconfig.SastScanner {}
@@ -93,10 +100,13 @@ func (ssm *SastScanManager) createConfigFile(module jfrogappsconfig.Module, excl
93100 configFileContent := sastScanConfig {
94101 Scans : []scanConfiguration {
95102 {
96- Type : sastScannerType ,
97- Roots : roots ,
98- Language : sastScanner .Language ,
99- ExcludedRules : sastScanner .ExcludedRules ,
103+ Type : sastScannerType ,
104+ Roots : roots ,
105+ Language : sastScanner .Language ,
106+ ExcludedRules : sastScanner .ExcludedRules ,
107+ SastParameters : sastParameters {
108+ SignedDescriptions : signedDescriptions ,
109+ },
100110 ExcludePatterns : jas .GetExcludePatterns (module , & sastScanner .Scanner , exclusions ... ),
101111 },
102112 },
0 commit comments