@@ -482,20 +482,23 @@ var analyzeCmd = &cobra.Command{
482482 log .Fatalf ("Failed to merge SARIF outputs: %v" , err )
483483 }
484484
485+ // Filter rules from the merged SARIF output
486+ sarifData , err := os .ReadFile (tmpOutputFile )
487+ if err != nil {
488+ log .Fatalf ("Failed to read merged SARIF output: %v" , err )
489+ }
490+
491+ filteredData , err := utils .FilterRulesFromSarif (sarifData )
492+ if err != nil {
493+ log .Fatalf ("Failed to filter rules from SARIF: %v" , err )
494+ }
495+
485496 if outputFile != "" {
486- // copy tmpOutputFile to outputFile
487- content , err := os .ReadFile (tmpOutputFile )
488- if err != nil {
489- log .Fatalf ("Failed to read merged SARIF output: %v" , err )
490- }
491- os .WriteFile (outputFile , content , utils .DefaultFilePerms )
497+ // Write filtered SARIF to output file
498+ os .WriteFile (outputFile , filteredData , utils .DefaultFilePerms )
492499 } else {
493- // println the output file content
494- content , err := os .ReadFile (tmpOutputFile )
495- if err != nil {
496- log .Fatalf ("Failed to read merged SARIF output: %v" , err )
497- }
498- fmt .Println (string (content ))
500+ // Print the filtered SARIF output
501+ fmt .Println (string (filteredData ))
499502 }
500503 } else {
501504 // Run tools without merging outputs
0 commit comments