Sha256: 8215b9056d95dfd11a3c8e5ae60447d2b992b933f88bf8bebc4d2f82522410f3

Contents?: true

Size: 1.73 KB

Versions: 18

Compression:

Stored size: 1.73 KB

Contents

@DREADCalculator =
  calculate: ->
    damage     = parseInt($("input[name='damage']:checked").val())
    affected   = parseInt($("input[name='affected']:checked").val())
    impact     = (damage + affected) / 2

    repro      = parseInt($("input[name='repro']:checked").val())
    exploit    = parseInt($("input[name='exploit']:checked").val())
    disc       = parseInt($("input[name='disc']:checked").val())
    threat     = $("input[name='disc']:checked").data('agent')
    likelihood = (repro + exploit + disc) / 3


    dread      = (impact + likelihood) / 2

    impact_fixed     = DREADCalculator._fix(impact)
    likelihood_fixed = DREADCalculator._fix(likelihood)
    dread_fixed      = DREADCalculator._fix(dread)

    $('#impact-score').text(impact_fixed)
    $('#likelihood-score').text(likelihood_fixed)
    $('#dread-score').text(dread_fixed)

    issue_dread = "#[DreadValue]#\n"
    issue_dread += "#{dread_fixed}\n\n"
    issue_dread += "#[Damage]#\n"
    issue_dread += "#{damage}\n\n"
    issue_dread += "#[AffectedSystems]#\n"
    issue_dread += "#{affected}\n\n"
    issue_dread += "#[Impact]#\n"
    issue_dread += "#{impact_fixed}\n\n"
    issue_dread += "#[Reproducibility]#\n"
    issue_dread += "#{repro}\n\n"
    issue_dread += "#[Discoverability]#\n"
    issue_dread += "#{disc}\n\n"
    issue_dread += "#[ThreatAgent]#\n"
    issue_dread += "#{threat}\n\n"
    issue_dread += "#[Exploitability]#\n"
    issue_dread += "#{exploit}\n\n"
    issue_dread += "#[Likelihood]#\n"
    issue_dread += "#{likelihood_fixed}\n"
    $('#blob').text(issue_dread)

  _fix: (input) ->
    if $.isNumeric(input) && Math.floor(input) == input
      input
    else
      input.toFixed(3)


jQuery ->
  $('input[type=radio]').on 'change', DREADCalculator.calculate

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
dradis-calculator_dread-3.19.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.18.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.17.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.16.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.15.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.14.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.13.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.12.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.11.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.10.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.9.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.8.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.7.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.6.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.0.3 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.0.2 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.0.1 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee
dradis-calculator_dread-3.0.0 app/assets/javascripts/dradis/plugins/calculators/dread/calculator.js.coffee