@secureport/core 1.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/finding.d.ts +9 -8
- package/dist/finding.d.ts.map +1 -1
- package/dist/fingerprint.d.ts +12 -5
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +74 -8
- package/dist/fingerprint.js.map +1 -1
- package/dist/import/nessus.d.ts +9 -6
- package/dist/import/nessus.d.ts.map +1 -1
- package/dist/import/nessus.js +9 -6
- package/dist/import/nessus.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/issue.d.ts +1 -1
- package/dist/issue.d.ts.map +1 -1
- package/dist/reconcile.d.ts +71 -1
- package/dist/reconcile.d.ts.map +1 -1
- package/dist/reconcile.js +64 -4
- package/dist/reconcile.js.map +1 -1
- package/dist/refingerprint.d.ts +116 -0
- package/dist/refingerprint.d.ts.map +1 -0
- package/dist/refingerprint.js +190 -0
- package/dist/refingerprint.js.map +1 -0
- package/dist/report/anchors.d.ts +39 -0
- package/dist/report/anchors.d.ts.map +1 -0
- package/dist/report/anchors.js +73 -0
- package/dist/report/anchors.js.map +1 -0
- package/dist/report/html.d.ts.map +1 -1
- package/dist/report/html.js +126 -22
- package/dist/report/html.js.map +1 -1
- package/dist/report/markdown.d.ts.map +1 -1
- package/dist/report/markdown.js +112 -26
- package/dist/report/markdown.js.map +1 -1
- package/dist/report/model.d.ts +227 -1
- package/dist/report/model.d.ts.map +1 -1
- package/dist/report/model.js +87 -8
- package/dist/report/model.js.map +1 -1
- package/package.json +1 -1
- package/src/finding.ts +9 -8
- package/src/fingerprint.ts +76 -10
- package/src/import/nessus.ts +9 -6
- package/src/index.ts +14 -2
- package/src/issue.ts +1 -0
- package/src/reconcile.ts +121 -5
- package/src/refingerprint.ts +282 -0
- package/src/report/anchors.ts +96 -0
- package/src/report/html.ts +146 -26
- package/src/report/markdown.ts +125 -25
- package/src/report/model.ts +344 -7
package/dist/report/html.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { anchorHtmlHeadings } from './anchors.js';
|
|
1
2
|
import { SEVERITY_ORDER } from '../severity.js';
|
|
2
|
-
import { buildReportModel, } from './model.js';
|
|
3
|
+
import { buildReportModel, VERDICT_LABELS, } from './model.js';
|
|
3
4
|
import { formatDate } from './markdown.js';
|
|
4
5
|
/** Escapes text for HTML. Every value from a snapshot goes through this. */
|
|
5
6
|
function esc(value) {
|
|
@@ -53,6 +54,30 @@ td code, code { font: .88em ui-monospace, SFMono-Regular, Menlo, monospace; word
|
|
|
53
54
|
.breached { color: var(--critical); font-weight: 600; }
|
|
54
55
|
.issue { break-inside: avoid; page-break-inside: avoid; margin-bottom: 1.5rem; }
|
|
55
56
|
.none { color: var(--muted); font-style: italic; }
|
|
57
|
+
.evidence { color: var(--muted); font-size: .92em; margin: 0 0 1rem; }
|
|
58
|
+
/* Fixed rather than absolute: Chromium repeats a fixed element on every page
|
|
59
|
+
of a PDF, which is the only way one element can mark a whole document. */
|
|
60
|
+
.toc { margin: 2rem 0; }
|
|
61
|
+
.toc h2 { margin-top: 0; }
|
|
62
|
+
.toc ul { list-style: none; padding: 0; margin: 0; }
|
|
63
|
+
.toc li { margin: .2rem 0; }
|
|
64
|
+
.toc-3 { padding-left: 1.25rem; font-size: .94em; }
|
|
65
|
+
.toc a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--rule); }
|
|
66
|
+
.cover {
|
|
67
|
+
min-height: 88vh; display: flex; flex-direction: column; justify-content: center;
|
|
68
|
+
break-after: page; page-break-after: always;
|
|
69
|
+
}
|
|
70
|
+
.cover img { max-height: 5rem; max-width: 18rem; margin-bottom: 2.5rem; }
|
|
71
|
+
.cover h1 { font-size: 2.6rem; margin: 0 0 .5rem; }
|
|
72
|
+
.cover .for { font-size: 1.15rem; margin: 0 0 3rem; }
|
|
73
|
+
.cover .details { color: var(--muted); font-size: .92em; }
|
|
74
|
+
.cover .details div { margin: .15rem 0; }
|
|
75
|
+
.watermark {
|
|
76
|
+
position: fixed; inset: 0; z-index: -1; pointer-events: none;
|
|
77
|
+
display: flex; align-items: center; justify-content: center;
|
|
78
|
+
font: 700 5.5rem/1 ui-serif, Georgia, serif; letter-spacing: .08em;
|
|
79
|
+
color: rgba(20, 24, 31, .07); transform: rotate(-28deg); text-transform: uppercase;
|
|
80
|
+
}
|
|
56
81
|
footer { margin-top: 3rem; padding-top: .75rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .85em; }
|
|
57
82
|
|
|
58
83
|
@media print {
|
|
@@ -82,8 +107,46 @@ function changeSummary(model) {
|
|
|
82
107
|
? ` <span class="breached">${model.breached} past ${model.breached === 1 ? 'its' : 'their'} remediation deadline.</span>`
|
|
83
108
|
: ''}</p>`;
|
|
84
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* One supporting finding, in a sentence.
|
|
112
|
+
*
|
|
113
|
+
* Every field here is something that was *found*. Nothing identifies what
|
|
114
|
+
* found it — the engine name has leaked into rendered output twice.
|
|
115
|
+
*/
|
|
116
|
+
function evidenceLine(finding) {
|
|
117
|
+
const where = finding.parameter === undefined
|
|
118
|
+
? `<code>${esc(finding.location)}</code>`
|
|
119
|
+
: `<code>${esc(finding.location)}</code> (<code>${esc(finding.parameter)}</code>)`;
|
|
120
|
+
const detail = [`${finding.detectedSeverity}, seen ${formatDate(finding.createdAt)}`];
|
|
121
|
+
if (finding.cve !== undefined)
|
|
122
|
+
detail.push(esc(finding.cve));
|
|
123
|
+
if (finding.cvssScore !== undefined) {
|
|
124
|
+
detail.push(finding.cvssVector === undefined
|
|
125
|
+
? `CVSS ${String(finding.cvssScore)}`
|
|
126
|
+
: `CVSS ${String(finding.cvssScore)} <code>${esc(finding.cvssVector)}</code>`);
|
|
127
|
+
}
|
|
128
|
+
if (finding.confidence !== undefined) {
|
|
129
|
+
detail.push(`confidence ${String(Math.round(finding.confidence * 100))}%`);
|
|
130
|
+
}
|
|
131
|
+
const captures = finding.evidenceUri ?? [];
|
|
132
|
+
if (captures.length > 0) {
|
|
133
|
+
detail.push(`${String(captures.length)} capture${captures.length === 1 ? '' : 's'} stored`);
|
|
134
|
+
}
|
|
135
|
+
return `${where} — ${detail.join('; ')}`;
|
|
136
|
+
}
|
|
137
|
+
/** The count, the detail, or nothing — never the engine. */
|
|
138
|
+
function evidenceBlock(entry, verbosity) {
|
|
139
|
+
if (entry.findings.length === 0 || verbosity === 'none')
|
|
140
|
+
return '';
|
|
141
|
+
if (verbosity === 'summary') {
|
|
142
|
+
return `<p class="lede">Evidence: ${entry.findings.length} finding${entry.findings.length === 1 ? '' : 's'} recorded.</p>`;
|
|
143
|
+
}
|
|
144
|
+
return `<p class="lede">Evidence</p><ul class="evidence">${entry.findings
|
|
145
|
+
.map((f) => `<li>${evidenceLine(f)}</li>`)
|
|
146
|
+
.join('')}</ul>`;
|
|
147
|
+
}
|
|
85
148
|
/** One issue in full. */
|
|
86
|
-
function issueDetail(entry) {
|
|
149
|
+
function issueDetail(entry, verbosity) {
|
|
87
150
|
const { issue } = entry;
|
|
88
151
|
const first = entry.findings[0];
|
|
89
152
|
const references = [...new Set(entry.findings.flatMap((f) => f.references ?? []))];
|
|
@@ -103,22 +166,12 @@ ${issue.cwe === undefined ? '' : `<tr><td>Weakness</td><td>${esc(issue.cwe)}</td
|
|
|
103
166
|
</tbody></table>
|
|
104
167
|
${first?.description === undefined ? '' : `<p>${esc(first.description)}</p>`}
|
|
105
168
|
${first?.recommendation === undefined ? '' : `<p><strong>Recommendation.</strong> ${esc(first.recommendation)}</p>`}
|
|
106
|
-
${entry
|
|
107
|
-
? ''
|
|
108
|
-
: `<p class="lede">Evidence: ${entry.findings.length} finding${entry.findings.length === 1 ? '' : 's'} recorded.</p>`}
|
|
169
|
+
${evidenceBlock(entry, verbosity)}
|
|
109
170
|
${references.length === 0
|
|
110
171
|
? ''
|
|
111
172
|
: `<ul class="refs">${references.map((r) => `<li><a href="${esc(r)}">${esc(r)}</a></li>`).join('')}</ul>`}
|
|
112
173
|
</div>`;
|
|
113
174
|
}
|
|
114
|
-
/** How a verdict is printed. The dashes are an implementation detail. */
|
|
115
|
-
const VERDICT_LABELS = Object.freeze({
|
|
116
|
-
fixed: 'fixed',
|
|
117
|
-
still_present: 'still present',
|
|
118
|
-
returned: 'returned',
|
|
119
|
-
not_retested: 'not retested',
|
|
120
|
-
new: 'new since',
|
|
121
|
-
});
|
|
122
175
|
/** The Retest body: the difference between two runs, and nothing else. */
|
|
123
176
|
function retestBody(model) {
|
|
124
177
|
// `buildReportModel` refuses to build a retest without one.
|
|
@@ -200,7 +253,7 @@ function attestationBody(model) {
|
|
|
200
253
|
const found = snapshot.issues.length + snapshot.suppressed.length;
|
|
201
254
|
const rows = SEVERITY_ORDER.map((sev) => `<tr><td class="${sevClass(sev)}">${sev}</td><td>${model.outstanding[sev]}</td></tr>`).join('');
|
|
202
255
|
return `<h2>Statement</h2>
|
|
203
|
-
<p>${esc(model.
|
|
256
|
+
<p>${esc(model.attestor)} carried out security testing of <strong>${esc(snapshot.target.name)}</strong> (${esc(snapshot.target.url)}) on ${formatDate(snapshot.run.createdAt)}.</p>
|
|
204
257
|
<p>${esc(model.basis.statement)}</p>
|
|
205
258
|
<p>The testing identified ${found} issue${found === 1 ? '' : 's'} in total, of which ${model.outstandingTotal} ${model.outstandingTotal === 1 ? 'remains' : 'remain'} outstanding at the date of this letter:</p>
|
|
206
259
|
<table><thead><tr><th>Severity</th><th>Outstanding</th></tr></thead><tbody>${rows}</tbody></table>
|
|
@@ -263,14 +316,20 @@ ${changeSummary(model)}`;
|
|
|
263
316
|
findings = attestationBody(model);
|
|
264
317
|
}
|
|
265
318
|
else if (model.sections.length === 0) {
|
|
266
|
-
|
|
319
|
+
// "No issues were found" is false when a floor is what emptied the
|
|
320
|
+
// section, and it is the most dangerous sentence in the document to get
|
|
321
|
+
// wrong — a reader would take it as a clean result.
|
|
322
|
+
findings =
|
|
323
|
+
model.omitted === undefined
|
|
324
|
+
? '<h2>Findings</h2><p class="none">No issues were found.</p>'
|
|
325
|
+
: '<h2>Findings</h2><p class="none">No issues at or above the reporting threshold were found.</p>';
|
|
267
326
|
}
|
|
268
327
|
else if (model.kind === 'pen') {
|
|
269
328
|
findings =
|
|
270
329
|
'<h2>Findings</h2>' +
|
|
271
330
|
model.sections
|
|
272
331
|
.map((section) => `<h3 class="${sevClass(section.severity)}">${section.severity} (${section.issues.length})</h3>` +
|
|
273
|
-
section.issues.map(issueDetail).join(''))
|
|
332
|
+
section.issues.map((e) => issueDetail(e, model.evidenceVerbosity)).join(''))
|
|
274
333
|
.join('');
|
|
275
334
|
}
|
|
276
335
|
else {
|
|
@@ -284,6 +343,14 @@ ${changeSummary(model)}`;
|
|
|
284
343
|
.join('');
|
|
285
344
|
findings = `<h2>Findings</h2><table><thead><tr><th>Issue</th><th>Severity</th><th>Location</th><th>Change</th><th>Days open</th><th>Remediation</th></tr></thead><tbody>${rows}</tbody></table>`;
|
|
286
345
|
}
|
|
346
|
+
// Beside the section it is about, rather than left to the limitations list,
|
|
347
|
+
// which only the Attestation Letter renders (B109). The Executive Summary
|
|
348
|
+
// and the Attestation have no findings section to attach it to, and both
|
|
349
|
+
// already print counts rather than issues, so neither is misled by its
|
|
350
|
+
// absence.
|
|
351
|
+
if (model.omitted !== undefined && model.kind !== 'exec' && model.kind !== 'attest') {
|
|
352
|
+
findings += `<p class="lede">${esc(model.omitted.statement)}</p>`;
|
|
353
|
+
}
|
|
287
354
|
const resolved = model.kind === 'exec' ||
|
|
288
355
|
model.kind === 'attest' ||
|
|
289
356
|
model.kind === 'retest' ||
|
|
@@ -301,23 +368,60 @@ ${changeSummary(model)}`;
|
|
|
301
368
|
<table><thead><tr><th>Issue</th><th>Severity when suppressed</th><th>Reason</th><th>By</th><th>Expires</th><th>Justification</th></tr></thead><tbody>${snapshot.suppressed
|
|
302
369
|
.map((s) => `<tr><td>${esc(s.issue.title)}</td><td class="${sevClass(s.severityAtIgnore)}">${s.severityAtIgnore}</td><td>${s.reason.replace('_', ' ')}</td><td>${esc(s.ignoredBy)}</td><td>${s.expiresAt === undefined ? 'never' : formatDate(s.expiresAt)}</td><td>${esc(s.comment)}</td></tr>`)
|
|
303
370
|
.join('')}</tbody></table>`;
|
|
371
|
+
// Appended rather than interpolated into STYLES, so the base stylesheet is
|
|
372
|
+
// one constant that every report shares and the brand is visibly an
|
|
373
|
+
// override. `primaryColour` is refused unless it is a hex triplet
|
|
374
|
+
// (`buildReportModel`), which is what makes this safe to put in a <style>
|
|
375
|
+
// element at all — `esc` protects text nodes, not CSS.
|
|
376
|
+
const accent = model.branding?.primaryColour;
|
|
377
|
+
const brandStyles = accent === undefined
|
|
378
|
+
? ''
|
|
379
|
+
: `\n:root { --accent: ${accent}; }\nh1 { color: var(--accent); }\nh2 { border-bottom-color: var(--accent); }`;
|
|
380
|
+
const brand = model.branding;
|
|
381
|
+
const cover = !model.coverPage
|
|
382
|
+
? ''
|
|
383
|
+
: `<section class="cover">
|
|
384
|
+
${brand?.logo === undefined ? '' : `<img src="${esc(brand.logo)}" alt="${esc(model.attestor)}">`}
|
|
385
|
+
<h1>${esc(model.title)}</h1>
|
|
386
|
+
<p class="for"><strong>${esc(target.name)}</strong> — ${esc(target.url)}</p>
|
|
387
|
+
<div class="details">
|
|
388
|
+
<div>${esc(model.attestor)}</div>
|
|
389
|
+
${(brand?.companyDetails ?? []).map((line) => `<div>${esc(line)}</div>`).join('\n')}
|
|
390
|
+
<div>${formatDate(model.generatedAt)}</div>
|
|
391
|
+
${model.preparedFor === undefined ? '' : `<div>Prepared for ${esc(model.preparedFor)}</div>`}
|
|
392
|
+
</div>
|
|
393
|
+
</section>`;
|
|
394
|
+
const watermark = model.branding?.watermark === undefined
|
|
395
|
+
? ''
|
|
396
|
+
: `<div class="watermark" aria-hidden="true">${esc(model.branding.watermark)}</div>`;
|
|
397
|
+
// One scan produces both, so an entry cannot point at an anchor that does
|
|
398
|
+
// not exist. Always run, even when no list is printed: the anchors are what
|
|
399
|
+
// Chromium turns into a PDF outline.
|
|
400
|
+
const body = anchorHtmlHeadings([preamble, findings, resolved, suppressed].join('\n'));
|
|
401
|
+
const contents = !model.tableOfContents
|
|
402
|
+
? ''
|
|
403
|
+
: `<nav class="toc"><h2>Contents</h2><ul>${body.toc
|
|
404
|
+
.map((entry) => `<li class="toc-${String(entry.level)}"><a href="#${entry.id}">${entry.text}</a></li>`)
|
|
405
|
+
.join('')}</ul></nav>`;
|
|
304
406
|
return `<!doctype html>
|
|
305
407
|
<html lang="en">
|
|
306
408
|
<head>
|
|
307
409
|
<meta charset="utf-8">
|
|
308
410
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
309
411
|
<title>${esc(model.title)} — ${esc(target.name)}</title>
|
|
310
|
-
<style>${STYLES}</style>
|
|
412
|
+
<style>${STYLES}${brandStyles}</style>
|
|
311
413
|
</head>
|
|
312
414
|
<body>
|
|
415
|
+
${watermark}
|
|
416
|
+
${cover}
|
|
313
417
|
<h1>${esc(model.title)}</h1>
|
|
314
418
|
<p class="lede"><strong>${esc(target.name)}</strong> — ${esc(target.url)}</p>
|
|
315
419
|
<table class="meta"><tbody>${meta}</tbody></table>
|
|
316
|
-
${
|
|
317
|
-
${
|
|
318
|
-
|
|
319
|
-
${
|
|
320
|
-
|
|
420
|
+
${contents}
|
|
421
|
+
${body.html}
|
|
422
|
+
<footer>${model.branding?.whiteLabel === true
|
|
423
|
+
? `Run ${esc(snapshot.run.runId)}`
|
|
424
|
+
: `Generated by Secureport from run ${esc(snapshot.run.runId)}`}. Issue state as of ${formatDate(snapshot.run.createdAt)}.</footer>
|
|
321
425
|
</body>
|
|
322
426
|
</html>`;
|
|
323
427
|
}
|
package/dist/report/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/report/markdown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/report/markdown.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAKL,KAAK,aAAa,EAEnB,MAAM,YAAY,CAAC;AAEpB,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAyXD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CA2HjF"}
|
package/dist/report/markdown.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { markdownHeadings } from './anchors.js';
|
|
1
2
|
import { SEVERITY_ORDER } from '../severity.js';
|
|
2
|
-
import { buildReportModel, } from './model.js';
|
|
3
|
+
import { buildReportModel, VERDICT_LABELS, } from './model.js';
|
|
3
4
|
/** A date, printed the same way everywhere, without a locale to disagree about. */
|
|
4
5
|
export function formatDate(date) {
|
|
5
6
|
return date.toISOString().slice(0, 10);
|
|
@@ -40,7 +41,7 @@ function changeSummary(model) {
|
|
|
40
41
|
];
|
|
41
42
|
}
|
|
42
43
|
/** One issue, in full. The Penetration Test presentation. */
|
|
43
|
-
function issueDetail(entry) {
|
|
44
|
+
function issueDetail(entry, verbosity) {
|
|
44
45
|
const { issue } = entry;
|
|
45
46
|
const lines = [
|
|
46
47
|
`#### ${issue.title}`,
|
|
@@ -66,32 +67,61 @@ function issueDetail(entry) {
|
|
|
66
67
|
if (first?.recommendation !== undefined) {
|
|
67
68
|
lines.push('**Recommendation.** ' + first.recommendation, '');
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
// The count or the detail, never the engine. Which scanner produced a
|
|
71
|
+
// finding is an implementation detail of the assessment, and naming the
|
|
72
|
+
// stack in a customer-facing document gives away more than it explains —
|
|
73
|
+
// it has leaked into rendered output twice, so no branch below reads
|
|
74
|
+
// `sourceEngine` or `sourceRuleId`.
|
|
75
|
+
if (entry.findings.length > 0 && verbosity === 'summary') {
|
|
73
76
|
lines.push(`_Evidence: ${entry.findings.length} finding${entry.findings.length === 1 ? '' : 's'} recorded._`, '');
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
}
|
|
78
|
+
else if (entry.findings.length > 0 && verbosity === 'full') {
|
|
79
|
+
lines.push('**Evidence**', '');
|
|
80
|
+
for (const finding of entry.findings)
|
|
81
|
+
lines.push(`- ${evidenceLine(finding)}`);
|
|
82
|
+
lines.push('');
|
|
83
|
+
}
|
|
84
|
+
// Outside the verbosity branch: an advisory is external reading, not
|
|
85
|
+
// evidence, so `none` still lists it.
|
|
86
|
+
const references = [...new Set(entry.findings.flatMap((f) => f.references ?? []))];
|
|
87
|
+
if (references.length > 0) {
|
|
88
|
+
lines.push(...references.map((r) => `- ${r}`), '');
|
|
78
89
|
}
|
|
79
90
|
return lines;
|
|
80
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* One supporting finding, in a sentence.
|
|
94
|
+
*
|
|
95
|
+
* Every field here is something that was *found*. Nothing identifies what
|
|
96
|
+
* found it.
|
|
97
|
+
*/
|
|
98
|
+
function evidenceLine(finding) {
|
|
99
|
+
const where = finding.parameter === undefined
|
|
100
|
+
? `\`${cell(finding.location)}\``
|
|
101
|
+
: `\`${cell(finding.location)}\` (\`${cell(finding.parameter)}\`)`;
|
|
102
|
+
const detail = [`${finding.detectedSeverity}, seen ${formatDate(finding.createdAt)}`];
|
|
103
|
+
if (finding.cve !== undefined)
|
|
104
|
+
detail.push(cell(finding.cve));
|
|
105
|
+
if (finding.cvssScore !== undefined) {
|
|
106
|
+
detail.push(finding.cvssVector === undefined
|
|
107
|
+
? `CVSS ${finding.cvssScore}`
|
|
108
|
+
: `CVSS ${finding.cvssScore} \`${cell(finding.cvssVector)}\``);
|
|
109
|
+
}
|
|
110
|
+
if (finding.confidence !== undefined) {
|
|
111
|
+
detail.push(`confidence ${Math.round(finding.confidence * 100)}%`);
|
|
112
|
+
}
|
|
113
|
+
const captures = finding.evidenceUri ?? [];
|
|
114
|
+
if (captures.length > 0) {
|
|
115
|
+
detail.push(`${captures.length} capture${captures.length === 1 ? '' : 's'} stored`);
|
|
116
|
+
}
|
|
117
|
+
return `${where} — ${detail.join('; ')}`;
|
|
118
|
+
}
|
|
81
119
|
/** One issue, as a table row. The Vulnerability Assessment presentation. */
|
|
82
120
|
function issueRow(entry) {
|
|
83
121
|
const { issue } = entry;
|
|
84
122
|
const location = issue.parameter === undefined ? issue.location : `${issue.location} (${issue.parameter})`;
|
|
85
123
|
return `| ${cell(issue.title)} | ${issue.effectiveSeverity} | \`${cell(location)}\` | ${entry.change.replace('_', ' ')} | ${entry.daysOpen} | ${entry.slaStatus.replace('_', ' ')} |`;
|
|
86
124
|
}
|
|
87
|
-
/** How a verdict is printed. The dashes are an implementation detail. */
|
|
88
|
-
const VERDICT_LABELS = Object.freeze({
|
|
89
|
-
fixed: 'fixed',
|
|
90
|
-
still_present: 'still present',
|
|
91
|
-
returned: 'returned',
|
|
92
|
-
not_retested: 'not retested',
|
|
93
|
-
new: 'new since',
|
|
94
|
-
});
|
|
95
125
|
/** The Retest body: the difference between two runs, and nothing else. */
|
|
96
126
|
function retestBody(model) {
|
|
97
127
|
// `buildReportModel` refuses to build a retest without one.
|
|
@@ -195,7 +225,7 @@ function attestationBody(model) {
|
|
|
195
225
|
return [
|
|
196
226
|
'## Statement',
|
|
197
227
|
'',
|
|
198
|
-
`${model.
|
|
228
|
+
`${model.attestor} carried out security testing of **${snapshot.target.name}**`,
|
|
199
229
|
`(${snapshot.target.url}) on ${formatDate(snapshot.run.createdAt)}.`,
|
|
200
230
|
'',
|
|
201
231
|
model.basis.statement,
|
|
@@ -219,6 +249,35 @@ function attestationBody(model) {
|
|
|
219
249
|
'',
|
|
220
250
|
];
|
|
221
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* The contents list, inserted above the first section.
|
|
254
|
+
*
|
|
255
|
+
* Computed from the finished document rather than from a list kept alongside
|
|
256
|
+
* it, for the reason `anchors.ts` explains: a contents list assembled
|
|
257
|
+
* separately from the headings it points at is one that can point at nothing,
|
|
258
|
+
* and the failure is silent.
|
|
259
|
+
*
|
|
260
|
+
* Markdown headings carry no explicit id, so the links rely on the anchor
|
|
261
|
+
* every common Markdown renderer derives from the heading text. `slug` matches
|
|
262
|
+
* that convention, which is the only way this can work at all.
|
|
263
|
+
*/
|
|
264
|
+
function withContents(lines, model) {
|
|
265
|
+
if (!model.tableOfContents)
|
|
266
|
+
return lines.join('\n');
|
|
267
|
+
// Before inserting, so the contents list does not list itself.
|
|
268
|
+
const toc = markdownHeadings(lines);
|
|
269
|
+
if (toc.length === 0)
|
|
270
|
+
return lines.join('\n');
|
|
271
|
+
const block = [
|
|
272
|
+
'## Contents',
|
|
273
|
+
'',
|
|
274
|
+
...toc.map((entry) => `${entry.level === 3 ? ' ' : ''}- [${entry.text}](#${entry.id})`),
|
|
275
|
+
'',
|
|
276
|
+
];
|
|
277
|
+
const firstSection = lines.findIndex((line) => /^##\s/u.test(line));
|
|
278
|
+
const at = firstSection < 0 ? lines.length : firstSection;
|
|
279
|
+
return [...lines.slice(0, at), ...block, ...lines.slice(at)].join('\n');
|
|
280
|
+
}
|
|
222
281
|
/**
|
|
223
282
|
* Renders a snapshot as Markdown.
|
|
224
283
|
*
|
|
@@ -241,9 +300,24 @@ export function renderMarkdown(snapshot, options) {
|
|
|
241
300
|
const model = buildReportModel(snapshot, options);
|
|
242
301
|
const { target } = snapshot;
|
|
243
302
|
const lines = [
|
|
303
|
+
// Markdown has no pages and no rotation, so the stamp the HTML puts across
|
|
304
|
+
// every page becomes a line at the top. Same statement, in the only form
|
|
305
|
+
// this format has for it.
|
|
306
|
+
...(model.branding?.watermark === undefined ? [] : [`**${model.branding.watermark}**`, '']),
|
|
244
307
|
`# ${model.title}`,
|
|
245
308
|
'',
|
|
246
309
|
`**${target.name}** — ${target.url}`,
|
|
310
|
+
// Markdown has no pages, so the cover is a block under the title rather
|
|
311
|
+
// than a page of its own. The same facts, in the only form this format
|
|
312
|
+
// has for them.
|
|
313
|
+
...(model.coverPage
|
|
314
|
+
? [
|
|
315
|
+
'',
|
|
316
|
+
model.attestor,
|
|
317
|
+
...(model.branding?.companyDetails ?? []),
|
|
318
|
+
...(model.preparedFor === undefined ? [] : [`Prepared for ${model.preparedFor}`]),
|
|
319
|
+
].map((line, i) => (i === 0 ? line : `_${line}_`))
|
|
320
|
+
: []),
|
|
247
321
|
'',
|
|
248
322
|
`| | |`,
|
|
249
323
|
`| --- | --- |`,
|
|
@@ -261,7 +335,7 @@ export function renderMarkdown(snapshot, options) {
|
|
|
261
335
|
// reader stops trusting.
|
|
262
336
|
if (model.kind === 'attest') {
|
|
263
337
|
lines.push(...attestationBody(model), ...suppressedAppendix(snapshot), '');
|
|
264
|
-
return lines
|
|
338
|
+
return withContents(lines, model);
|
|
265
339
|
}
|
|
266
340
|
lines.push('## Basis of testing', '', model.basis.statement, '');
|
|
267
341
|
lines.push('## Scope', '', `This report covers only what the run exercised: ${snapshot.run.coverage.paths
|
|
@@ -270,21 +344,27 @@ export function renderMarkdown(snapshot, options) {
|
|
|
270
344
|
lines.push(...changeSummary(model), '');
|
|
271
345
|
if (model.kind === 'exec') {
|
|
272
346
|
lines.push(...executiveBody(model), ...suppressedAppendix(snapshot), '');
|
|
273
|
-
return lines
|
|
347
|
+
return withContents(lines, model);
|
|
274
348
|
}
|
|
275
349
|
if (model.kind === 'retest') {
|
|
276
350
|
lines.push(...retestBody(model), ...suppressedAppendix(snapshot), '');
|
|
277
|
-
return lines
|
|
351
|
+
return withContents(lines, model);
|
|
278
352
|
}
|
|
279
353
|
if (model.sections.length === 0) {
|
|
280
|
-
|
|
354
|
+
// "No issues were found" is false when a floor is what emptied the
|
|
355
|
+
// section, and it is the most dangerous sentence in the document to get
|
|
356
|
+
// wrong — a reader would take it as a clean result.
|
|
357
|
+
lines.push('## Findings', '', model.omitted === undefined
|
|
358
|
+
? '_No issues were found._'
|
|
359
|
+
: '_No issues at or above the reporting threshold were found._', '');
|
|
281
360
|
}
|
|
282
361
|
else if (model.kind === 'pen') {
|
|
283
362
|
lines.push('## Findings', '');
|
|
284
363
|
for (const section of model.sections) {
|
|
285
364
|
lines.push(`### ${section.severity} (${section.issues.length})`, '');
|
|
286
|
-
for (const entry of section.issues)
|
|
287
|
-
lines.push(...issueDetail(entry));
|
|
365
|
+
for (const entry of section.issues) {
|
|
366
|
+
lines.push(...issueDetail(entry, model.evidenceVerbosity));
|
|
367
|
+
}
|
|
288
368
|
}
|
|
289
369
|
}
|
|
290
370
|
else {
|
|
@@ -295,10 +375,16 @@ export function renderMarkdown(snapshot, options) {
|
|
|
295
375
|
}
|
|
296
376
|
lines.push('');
|
|
297
377
|
}
|
|
378
|
+
// Printed here, beside the section it is about, rather than left to the
|
|
379
|
+
// limitations list — which only the Attestation Letter renders (B109). A
|
|
380
|
+
// floor that removed issues from this section and said so nowhere the reader
|
|
381
|
+
// will look is the quiet form of the over-claim §7 exists to stop.
|
|
382
|
+
if (model.omitted !== undefined)
|
|
383
|
+
lines.push(`_${model.omitted.statement}_`, '');
|
|
298
384
|
if (model.resolved.length > 0) {
|
|
299
385
|
lines.push('## Resolved since the last run', '', `${model.resolved.length} issue${model.resolved.length === 1 ? '' : 's'} no longer detected by a run that covered ${model.resolved.length === 1 ? 'it' : 'them'}.`, '', '| Issue | Severity | Location | Open for |', '| --- | --- | --- | --- |', ...model.resolved.map((entry) => `| ${cell(entry.issue.title)} | ${entry.issue.effectiveSeverity} | \`${cell(entry.issue.location)}\` | ${entry.daysOpen} days |`), '');
|
|
300
386
|
}
|
|
301
387
|
lines.push(...suppressedAppendix(snapshot), '');
|
|
302
|
-
return lines
|
|
388
|
+
return withContents(lines, model);
|
|
303
389
|
}
|
|
304
390
|
//# sourceMappingURL=markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/report/markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/report/markdown.ts"],"names":[],"mappings":"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"}
|