report.go 653 B

123456789101112131415161718192021222324252627282930313233343536
  1. package report
  2. import (
  3. "os"
  4. "strings"
  5. "github.com/zricethezav/gitleaks/v8/config"
  6. )
  7. const (
  8. // https://cwe.mitre.org/data/definitions/798.html
  9. CWE = "CWE-798"
  10. CWE_DESCRIPTION = "Use of Hard-coded Credentials"
  11. )
  12. func Write(findings []*Finding, cfg config.Config, ext string, reportPath string) error {
  13. if len(findings) == 0 {
  14. return nil
  15. }
  16. file, err := os.Create(reportPath)
  17. if err != nil {
  18. return err
  19. }
  20. ext = strings.ToLower(ext)
  21. switch ext {
  22. case ".json", "json":
  23. writeJson(findings, file)
  24. case ".csv", "csv":
  25. writeCsv(findings, file)
  26. case ".sarif", "sarif":
  27. writeSarif(cfg, findings, file)
  28. }
  29. return nil
  30. }