Sha256: 188d9a32860dc7ccc67e8b5b09ccee311022a7a0fcd6e26ca48b2e15060c46d0

Contents?: true

Size: 863 Bytes

Versions: 76

Compression:

Stored size: 863 Bytes

Contents

class Brakeman::Report::Sonar < Brakeman::Report::Base
  def generate_report
    report_object = {
      issues: all_warnings.map { |warning| issue_json(warning) }
    }
    return JSON.pretty_generate report_object
  end
  
  private
  
  def issue_json(warning)
    {
      engineId: "Brakeman",
      ruleId: warning.warning_code,
      type: "VULNERABILITY",
      severity: severity_level_for(warning.confidence),
      primaryLocation: {
        message: warning.message,
        filePath: warning.file.relative,
        textRange: {
          "startLine": warning.line || 1,
          "endLine": warning.line || 1,
        }
      },
      effortMinutes: (4 - warning.confidence) * 15
    }
  end

  def severity_level_for(confidence)
    if confidence == 0
      "CRITICAL"
    elsif confidence == 1
      "MAJOR"
    else
      "MINOR"
    end
  end
end

Version data entries

76 entries across 76 versions & 3 rubygems

Version Path
brakeman-7.0.0 lib/brakeman/report/report_sonar.rb
brakeman-lib-7.0.0 lib/brakeman/report/report_sonar.rb
brakeman-min-7.0.0 lib/brakeman/report/report_sonar.rb
brakeman-6.2.2 lib/brakeman/report/report_sonar.rb
brakeman-lib-6.2.2 lib/brakeman/report/report_sonar.rb
brakeman-min-6.2.2 lib/brakeman/report/report_sonar.rb
brakeman-6.2.2.rc1 lib/brakeman/report/report_sonar.rb
brakeman-min-6.2.1 lib/brakeman/report/report_sonar.rb
brakeman-lib-6.2.1 lib/brakeman/report/report_sonar.rb
brakeman-6.2.1 lib/brakeman/report/report_sonar.rb
brakeman-6.2.0 lib/brakeman/report/report_sonar.rb
brakeman-lib-6.2.0 lib/brakeman/report/report_sonar.rb
brakeman-min-6.2.0 lib/brakeman/report/report_sonar.rb
brakeman-6.1.2 lib/brakeman/report/report_sonar.rb
brakeman-lib-6.1.2 lib/brakeman/report/report_sonar.rb
brakeman-min-6.1.2 lib/brakeman/report/report_sonar.rb
brakeman-min-6.1.1 lib/brakeman/report/report_sonar.rb
brakeman-lib-6.1.1 lib/brakeman/report/report_sonar.rb
brakeman-6.1.1 lib/brakeman/report/report_sonar.rb
brakeman-6.1.0 lib/brakeman/report/report_sonar.rb