Skip to content

Commit 7910834

Browse files
authored
Added SSVC Calculator and fixed uv editable requirements.txt file. (#937)
2 parents 0fd6e52 + 6e6c81a commit 7910834

File tree

11 files changed

+3498
-266
lines changed

11 files changed

+3498
-266
lines changed

docs/ssvc-calc/css.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* css version 2.2.9 */
1+
/* css version 2.2.10 */
22
#helper {
33
background-color: rgba(255,255,255,0.95);
44
border: 1px solid grey;
@@ -464,3 +464,7 @@ pre {
464464
textPath {
465465
cursor: pointer;
466466
}
467+
.blackbody .swal2-popup {
468+
background: #222;
469+
color: #eee;
470+
}

docs/ssvc-calc/findex.html

Lines changed: 75 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@
5252
<link rel="stylesheet" href="main.css">
5353
<link rel="stylesheet" href="css.css?v=1663537129">
5454
<script src="ungraph.js?v=1663537129"></script>
55+
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11" async defer></script>
5556
</head>
5657
<body class="text-center whitebody">
57-
<img src="moon_icon.png" class="cert-tweet" alt="CERT Logo"
58+
<img src="moon_icon.png" class="cert-tweet" alt="CERT Logo" style="display:none"
5859
onclick="$('body').toggleClass('blackbody').toggleClass('whitebody')"/>
5960
<div class="tright" style="display:none">
6061
<a href="javascript:void(0)" onclick="$('#helper').show()"
@@ -97,48 +98,39 @@ <h3 class="brand">
9798

9899
<main class="inner cover">
99100
<h4 class="cover-heading">
100-
<select id="graph-ungraph" class="form-control mauto"
101-
onchange="swapg(this)">
102-
<option value="Graphic">Mode: Graphic</option>
103-
<option value="Analyst">Mode: Analyst</option>
104-
</select>
105-
Dryad - SSVC Calc App
101+
Sample Decision Models:
106102
<select id="tree_samples" class="form-control impselector embedded" style="border: 1px solid"
107103
onchange="tree_process(this)">
108104
<option value="">Select</option>
109105
<option value="import">Import Tree</option>
110106
</select>
111-
107+
<button class="btn btn-sm btn-outline-info" onclick="promptMultipleCVEs()">
108+
Multiple CVEs
109+
</button>
112110
<div class="cover_heading_append d-none">
113111
(CISA Coordinator v2)
114112
</div>
115113
<button type="button" class="btn btn-secondary" id="exportopen"
116114
data-toggle="tooltip" data-placement="bottom"
117-
title="Show Export" style="display:none"
115+
title="Show Export"
118116
onclick="export_show(false)">
119-
Export</button>
120-
117+
Export
118+
</button>
121119
</h4>
122120
<div class="alert" id="topalert" role="alert">
123121
This is an alert!
124122
</div>
125-
<p class="lead graphy">
123+
<p class="lead graphy-old" style="display:none">
126124
<button type="button" class="btn btn-primary" id="dt_start"
127125
data-toggle="tooltip" data-placement="bottom"
128-
title="Start walking the SSVC decision tree"
129-
onclick="dt_start()">
130-
Start Decision</button>
126+
title="Use SSVC Decision Tree to evaluate one or more vulnerabilities"
127+
onclick="evaluate_vuls()">
128+
Evaluate Vulnerability</button>
131129
<button type="button" class="btn btn-danger" id="dt_clear"
132130
data-toggle="tooltip" data-placement="bottom"
133131
title="Clear all decisions and start over"
134-
onclick="dt_clear()">
135-
Clear All</button>
136-
<button type="button" class="btn btn-info" id="dt_full_tree"
137-
data-toggle="tooltip" data-placement="bottom"
138-
title="Explore the full decision tree of this SSVC Instance"
139-
onclick="show_full_tree()">
140-
Show Full Tree
141-
</button>
132+
onclick="check_all()">
133+
Check All</button>
142134
<a href="javascript:void(0)" title="View previous score"
143135
alt="View previous score" id="table_toggle" style="display:none"
144136
onclick="cve_table_toggle()">
@@ -151,13 +143,15 @@ <h4 class="cover-heading">
151143
<tbody><tr></tr></tbody>
152144
</table>
153145
</p>
146+
<section id="evaluate_section"></section>
154147
<div id="zoomcontrol" class="graphy embedded d-none">
155148
<div class="d-none">&#128269;</div>
156149
<input type="range" orient="vertical" alt="Zoom Graph"
157150
max="100" min="0" value="100" title="Zoom Graph"
158151
onchange="svgzoom(this)">
159-
</div>
160-
<div id="graph" class="position-relative graphy embedded" style="margin-left: 20px">
152+
</div>
153+
<div id="graph" class="position-relative graphy embedded"
154+
style="border: 1px solid rgba(1,1,1,0.1)">
161155
</div>
162156
<div id="ungraph" class="position-relative d-none">
163157
<table class="table table-borderless">
@@ -429,70 +423,79 @@ <h4>Decision Tree Usage:</h4>
429423
</div>
430424
<div id="exporter" class="d-none">
431425
<div class="row justify-content-center position-absolute exportdiv">
432-
<div class="export-header">
433-
<h3> Export Calculated Score</h3>
434-
<button type="button" aria-label="Close" class="close h3" onclick="$(this).parent().parent().remove()">
426+
<div class="export-header" style="padding-bottom:8px">
427+
<h3> Export Calculated SSVC Score</h3>
428+
<button type="button" aria-label="Close" class="close h3" onclick="export_close()">
435429
<span aria-hidden="true">×</span>
436430
</button>
437431
</div>
438432
<div class="col-auto">
439433
<table class="table table-borderless w-auto">
440434
<tbody>
441435
<tr>
442-
<td>
443-
<input type="text" placeholder="ID CVE/VU#"
444-
class="form-control exportId">
436+
<td style="padding:2px">
437+
<label>
438+
Timestamp: <input type="text" placeholder="timestamp UTC like 2025-01-01T12:00:00Z" name="timestamp"
439+
class="form-control timestamp" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?Z" style="width:auto; display:inline-block;min-width:24ch;">
440+
</label>
441+
<label class="custom-control custom-switch">
442+
<input class="custom-control-input" type="checkbox" name="include_outcome" checked>
443+
<span class="custom-control-label">Include Outcomes</span>
444+
</label>
445+
<label class="custom-control custom-switch">
446+
<input type="checkbox" class="custom-control-input export-resources"
447+
onchange="export_optional(this.checked)">
448+
<span class="custom-control-label text-muted">Provide resource information</span>
449+
</label>
445450
</td>
446451
</tr>
447-
<tr>
448-
<td>
449-
<select class="form-control exportRole">
450-
<option value="" disabled selected>Select Role</option>
451-
<option>Coordinator</option>
452-
<option>Supplier</option>
453-
<option>Deployer</option>
454-
<option>Other</option>
455-
</select>
452+
<tr class="export-optional d-none">
453+
<td style="padding:2px">
454+
<div style="border: 1px dotted grey">
455+
For Vulnerability:
456+
<span class="vulninfo text-muted"></span>
457+
458+
<ul style="margin-bottom:1px">
459+
<li style="list-style:none; position:relative; border: 1px dashed grey;">
460+
<input type="text" placeholder="URL of Decision Tree schema" name="decision_point_resources-0-uri"class="form-control">
461+
<input type="text" placeholder="Description of Decision Tree URL" name="decision_point_resources-0-summary" class="form-control">
462+
<button class="btn" title="Add Row" style="position:absolute; right:0px; bottom: 0px"
463+
aria-label="Add Row"
464+
onclick="duplicate(this.parentNode)">
465+
<span aria-hidden="true">&#8853;</span>
466+
</button>
467+
</li>
468+
</ul>
469+
<ul style="margin-bottom:1px">
470+
<li style="list-style:none; position:relative; border: 1px dashed grey;">
471+
<input type="text" placeholder="URL of resources used for selection" name="references-0-uri" class="form-control">
472+
<input type="text" placeholder="Description of the Resources URL" name="references-0-summary" class="form-control">
473+
<button class="btn" title="Add Row" style="position:absolute; right:0px; bottom: 0px"
474+
aria-label="Add Row"
475+
onclick="duplicate(this.parentNode)">
476+
<span aria-hidden="true">&#8853;</span>
477+
</button>
478+
</li>
479+
</ul>
480+
</div>
456481
</td>
457-
</tr>
482+
</tr>
458483
<tr>
459-
<td>
460-
<div>
461-
<span class="text ssvcvector d-inline">
462-
</span>
463-
<span onclick="copym('#graph .ssvcvector')">
464-
<img src="icons8-copy-60.png"
465-
class="icon8"/>
466-
</span>
467-
<span onclick="create_permalink('copy')">
468-
<img src="icons8-copy-link-48.png"
469-
class="icon8"/>
470-
</span>
471-
<br/>
472-
<span class="permalink d-none"
473-
style="font-size:1px; position:fixed">
474-
</span>
475-
</div>
484+
<td style="padding:2px">
485+
<label class="custom-control custom-switch">
486+
<input type="checkbox" unchecked="" class="custom-control-input includetree" value="">
487+
<span class="custom-control-label text-muted">Include decision tree in export</span>
488+
</label>
476489

477-
<input type="checkbox" class="includetree" unchecked>
478-
<span class="text-muted">
479-
Include decision tree in export
480-
</span>
481-
<div>
482-
Contact:
483-
<input type="text" id="contact" class="form-control"
484-
value="DHS CISA can be contacted at cisa@cisa.dhs.gov"/>
485-
</div>
486-
<br/>
487490
<div class="btn-group primary-button Exporter">
488491
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
489492
Export
490493
</button>
491494
<div class="dropdown-menu">
492-
<a class="dropdown-item" href="javascript:void(0)"
493-
onclick="export_json()">JSON</a>
494-
<a class="dropdown-item" href="javascript:void(0)"
495-
onclick="export_pdf()">PDF</a>
495+
<button class="dropdown-item" href="javascript:void(0)"
496+
onclick="export_json()">JSON</button>
497+
<button class="dropdown-item" href="javascript:void(0)" disabled
498+
onclick="export_pdf()">PDF</button>
496499
<!--
497500
<div class="dropdown-divider"></div>
498501
<a class="dropdown-item" href="#">Separated link</a>

docs/ssvc-calc/index.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
# SSVC Calculator
1+
---
2+
hide:
3+
- navigation
4+
- title
5+
---
6+
7+
# Dryad SSVC Calculator
28

39
<style>
410
.sembed {
511
min-width: 1200px;
612
min-height: 1100px;
7-
margin-left: -40%;
8-
margin-top: -15%;
13+
margin-top: -5%;
914
z-index: 1;
1015
position: relative;
1116
}

0 commit comments

Comments
 (0)