@security-alert/sarif-to-markdown 1.7.0 → 1.10.3
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.
|
@@ -33,6 +33,14 @@ export declare type sarifFormatterOptions = {
|
|
|
33
33
|
* Should the markdown include suppressed findings, defaults to true
|
|
34
34
|
*/
|
|
35
35
|
suppressedResults?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Should the markdown include rule details or tool details at all
|
|
38
|
+
*/
|
|
39
|
+
simple?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Which severities should be included ?
|
|
42
|
+
*/
|
|
43
|
+
severities?: readonly string[];
|
|
36
44
|
};
|
|
37
45
|
declare type sarifToMarkdownResult = {
|
|
38
46
|
title?: string;
|
package/lib/sarif-to-markdown.js
CHANGED
|
@@ -26,6 +26,19 @@ function escapeMarkdown(strings) {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
function createRuleInfo(run) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
return escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""])), (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.map(function (rule) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
|
|
34
|
+
// rule description
|
|
35
|
+
return "\n\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
function createToolInfo(run) {
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
return "\n## Tool information\n- Name: ".concat((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name, "\n- Organization: ").concat((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization, "\n- Version: ").concat((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion, "\n");
|
|
41
|
+
}
|
|
29
42
|
var createCodeURL = function (result, options) {
|
|
30
43
|
var _a, _b;
|
|
31
44
|
var githubHost = (_a = options.githubHost) !== null && _a !== void 0 ? _a : "https://github.com";
|
|
@@ -57,46 +70,97 @@ function groupBy(arr, criteria) {
|
|
|
57
70
|
acc[currentValue[criteria]].push(currentValue);
|
|
58
71
|
return acc;
|
|
59
72
|
}, {});
|
|
60
|
-
return
|
|
73
|
+
return newObj;
|
|
74
|
+
}
|
|
75
|
+
function createGroupedResultsMarkdown(groupedResults, run, options) {
|
|
76
|
+
var _a, _b, _c, _d;
|
|
77
|
+
var groupedResultsMarkdown = "";
|
|
78
|
+
var _loop_1 = function (rule) {
|
|
79
|
+
var ruleMatch = run.tool.driver.rules.filter(function (r) {
|
|
80
|
+
return r.id == rule;
|
|
81
|
+
});
|
|
82
|
+
var severityLevel = (_c = (_b = (_a = ruleMatch[0].defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : "";
|
|
83
|
+
var helpUri = ruleMatch[0].helpUri !== undefined ? (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "" : "";
|
|
84
|
+
groupedResultsMarkdown +=
|
|
85
|
+
"- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? (0, markdown_escape_1.default)(groupedResults[rule][0].message.text) : "", "`") + "\n";
|
|
86
|
+
for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
|
|
87
|
+
var result = _e[_i];
|
|
88
|
+
var properResult = result;
|
|
89
|
+
if (properResult.suppressions === undefined) {
|
|
90
|
+
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
for (var rule in groupedResults) {
|
|
95
|
+
_loop_1(rule);
|
|
96
|
+
}
|
|
97
|
+
return groupedResultsMarkdown;
|
|
98
|
+
}
|
|
99
|
+
function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
|
|
100
|
+
var _a, _b, _c, _d;
|
|
101
|
+
var groupedSuppressedResultsMD = "";
|
|
102
|
+
var suppressedCounter = 0;
|
|
103
|
+
var _loop_2 = function (rule) {
|
|
104
|
+
var groupContainsSuppressed = groupedResults[rule].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
|
|
105
|
+
if (groupContainsSuppressed) {
|
|
106
|
+
var ruleMatch = run.tool.driver.rules.filter(function (r) {
|
|
107
|
+
return r.id == rule;
|
|
108
|
+
});
|
|
109
|
+
var helpUri = ruleMatch[0].helpUri !== undefined ? (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "" : "";
|
|
110
|
+
var severityLevel = (_d = (_c = (_b = ruleMatch[0].defaultConfiguration) === null || _b === void 0 ? void 0 : _b.level) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : "";
|
|
111
|
+
groupedSuppressedResultsMD +=
|
|
112
|
+
"- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? (0, markdown_escape_1.default)(groupedResults[rule][0].message.text) : "", "`") + "\n";
|
|
113
|
+
for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
|
|
114
|
+
var result = _e[_i];
|
|
115
|
+
var properResult = result;
|
|
116
|
+
if (properResult.suppressions !== undefined) {
|
|
117
|
+
suppressedCounter += 1;
|
|
118
|
+
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
for (var rule in groupedResults) {
|
|
124
|
+
_loop_2(rule);
|
|
125
|
+
}
|
|
126
|
+
return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
|
|
127
|
+
}
|
|
128
|
+
function filterGroupedResultsBySeverity(groupedResults, severities, run) {
|
|
129
|
+
var _a, _b;
|
|
130
|
+
// 1st step, go through run and find rule severities
|
|
131
|
+
// 2nd step, filter groupedResults and remove rulegroups that don't match the severities filter
|
|
132
|
+
var ruleSeverityMapping = new Map();
|
|
133
|
+
(_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.forEach(function (rule) {
|
|
134
|
+
var _a, _b;
|
|
135
|
+
var severity = (_b = (_a = rule.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : "";
|
|
136
|
+
ruleSeverityMapping.set(rule.id, severity);
|
|
137
|
+
});
|
|
138
|
+
var filteredResults = Object.keys(groupedResults)
|
|
139
|
+
.filter(function (rule) {
|
|
140
|
+
var _a;
|
|
141
|
+
return severities.includes((_a = ruleSeverityMapping.get(rule)) !== null && _a !== void 0 ? _a : "unknownseverity");
|
|
142
|
+
})
|
|
143
|
+
.reduce(function (obj, key) {
|
|
144
|
+
obj[key] = groupedResults[key];
|
|
145
|
+
return obj;
|
|
146
|
+
}, {});
|
|
147
|
+
return filteredResults;
|
|
61
148
|
}
|
|
62
149
|
var sarifToMarkdown = function (options) {
|
|
150
|
+
var _a;
|
|
63
151
|
var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
|
|
152
|
+
var simpleMode = options.simple !== undefined ? options.simple : false;
|
|
153
|
+
var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
|
|
64
154
|
return function (sarifLog) {
|
|
65
155
|
return sarifLog.runs.map(function (run) {
|
|
66
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
67
156
|
var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
|
|
68
|
-
var toolInfo =
|
|
69
|
-
|
|
70
|
-
// Rule info
|
|
71
|
-
// Vulnerability info
|
|
72
|
-
// ## Results
|
|
73
|
-
// Result(s)
|
|
74
|
-
/**
|
|
75
|
-
* # Rule Info
|
|
76
|
-
*/
|
|
77
|
-
var ruleInfo = escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
|
|
78
|
-
var _a, _b;
|
|
79
|
-
var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
|
|
80
|
-
// rule description
|
|
81
|
-
return "\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
|
|
82
|
-
}));
|
|
157
|
+
var toolInfo = simpleMode ? "" : createToolInfo(run);
|
|
158
|
+
var ruleInfo = simpleMode ? "" : createRuleInfo(run);
|
|
83
159
|
var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
|
|
84
160
|
var groupedResults = groupBy(run.results, "ruleId");
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
for (var r in group) {
|
|
89
|
-
groupedResultsMarkdown +=
|
|
90
|
-
"- **".concat(r, "**: ").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "") + "\n";
|
|
91
|
-
for (var _h = 0, _j = group[r]; _h < _j.length; _h++) {
|
|
92
|
-
var result = _j[_h];
|
|
93
|
-
var properResult = result;
|
|
94
|
-
if (properResult.suppressions === undefined) {
|
|
95
|
-
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
161
|
+
var filteredResults = filterGroupedResultsBySeverity(groupedResults, severities, run);
|
|
162
|
+
var groupedResultsMarkdown = createGroupedResultsMarkdown(filteredResults, run, options);
|
|
163
|
+
var hasMessage = run.results && run.results.length > 0 && Object.keys(filteredResults).length > 0;
|
|
100
164
|
/* Results
|
|
101
165
|
- rule id
|
|
102
166
|
- message
|
|
@@ -104,35 +168,16 @@ var sarifToMarkdown = function (options) {
|
|
|
104
168
|
|
|
105
169
|
If pass the scan, results is empty array
|
|
106
170
|
*/
|
|
107
|
-
var results =
|
|
108
|
-
? "\n## Results\n".concat(groupedResultsMarkdown)
|
|
109
|
-
: "\n## Results\n\
|
|
110
|
-
var groupedSuppressedResultsMD =
|
|
111
|
-
var suppressedCounter = 0;
|
|
112
|
-
for (var _k = 0, groupedResults_2 = groupedResults; _k < groupedResults_2.length; _k++) {
|
|
113
|
-
var group = groupedResults_2[_k];
|
|
114
|
-
for (var r in group) {
|
|
115
|
-
var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
|
|
116
|
-
if (groupContainsSuppressed) {
|
|
117
|
-
groupedSuppressedResultsMD +=
|
|
118
|
-
"- **".concat(r, "**: ").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "") + "\n";
|
|
119
|
-
for (var _l = 0, _m = group[r]; _l < _m.length; _l++) {
|
|
120
|
-
var result = _m[_l];
|
|
121
|
-
var properResult = result;
|
|
122
|
-
if (properResult.suppressions !== undefined) {
|
|
123
|
-
suppressedCounter += 1;
|
|
124
|
-
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
171
|
+
var results = hasMessage
|
|
172
|
+
? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
|
|
173
|
+
: "\n## Results\n\nNothing here.\n\n";
|
|
174
|
+
var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
|
|
130
175
|
// careful, double ternary... first check if we should include suppressedresults (return empty string)
|
|
131
176
|
// then check if there are results, if none, return default string
|
|
132
177
|
var suppressedResultsText = suppressedResultsFlag
|
|
133
178
|
? run.results && suppressedCounter > 0
|
|
134
179
|
? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
|
|
135
|
-
: "\n## Results\n\
|
|
180
|
+
: "\n## Suppressed Results\n\nNothing here.\n\n"
|
|
136
181
|
: "";
|
|
137
182
|
if (options.details) {
|
|
138
183
|
return {
|
|
@@ -145,12 +190,12 @@ var sarifToMarkdown = function (options) {
|
|
|
145
190
|
"\n" +
|
|
146
191
|
ruleDetails +
|
|
147
192
|
toolInfo,
|
|
148
|
-
hasMessages:
|
|
193
|
+
hasMessages: hasMessage
|
|
149
194
|
};
|
|
150
195
|
}
|
|
151
196
|
return {
|
|
152
197
|
body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
|
|
153
|
-
hasMessages:
|
|
198
|
+
hasMessages: hasMessage
|
|
154
199
|
};
|
|
155
200
|
});
|
|
156
201
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":";;;;;;;;;;AACA,aAAa;AACb,oEAAqC;AACrC,sDAA+B;AAE/B,SAAS,cAAc,CAAC,OAA6B;IAAE,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,+BAAgB;;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACjC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,MAAM,GAAG,IAAA,yBAAM,EAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;aAAM;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAA8B;;IACjE,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,oBAAoB,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC,UAAC,QAAa;QAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GACZ,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACzC,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,cAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE;YAC5E,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;QAClD,OAAO,IAAA,kBAAO,EACV,UAAU,EACV,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,eAAQ,OAAO,CAAC,MAAM,CAAE,EACxB,OAAO,CAAC,UAAU,EAClB,UAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,cAAI,UAAU,CAAE,CAC3D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,14 @@ export declare type sarifFormatterOptions = {
|
|
|
33
33
|
* Should the markdown include suppressed findings, defaults to true
|
|
34
34
|
*/
|
|
35
35
|
suppressedResults?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Should the markdown include rule details or tool details at all
|
|
38
|
+
*/
|
|
39
|
+
simple?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Which severities should be included ?
|
|
42
|
+
*/
|
|
43
|
+
severities?: readonly string[];
|
|
36
44
|
};
|
|
37
45
|
declare type sarifToMarkdownResult = {
|
|
38
46
|
title?: string;
|
|
@@ -20,6 +20,19 @@ function escapeMarkdown(strings) {
|
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
+
function createRuleInfo(run) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
return escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""])), (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.map(function (rule) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
|
|
28
|
+
// rule description
|
|
29
|
+
return "\n\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
function createToolInfo(run) {
|
|
33
|
+
var _a, _b, _c;
|
|
34
|
+
return "\n## Tool information\n- Name: ".concat((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name, "\n- Organization: ").concat((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization, "\n- Version: ").concat((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion, "\n");
|
|
35
|
+
}
|
|
23
36
|
var createCodeURL = function (result, options) {
|
|
24
37
|
var _a, _b;
|
|
25
38
|
var githubHost = (_a = options.githubHost) !== null && _a !== void 0 ? _a : "https://github.com";
|
|
@@ -51,46 +64,97 @@ function groupBy(arr, criteria) {
|
|
|
51
64
|
acc[currentValue[criteria]].push(currentValue);
|
|
52
65
|
return acc;
|
|
53
66
|
}, {});
|
|
54
|
-
return
|
|
67
|
+
return newObj;
|
|
68
|
+
}
|
|
69
|
+
function createGroupedResultsMarkdown(groupedResults, run, options) {
|
|
70
|
+
var _a, _b, _c, _d;
|
|
71
|
+
var groupedResultsMarkdown = "";
|
|
72
|
+
var _loop_1 = function (rule) {
|
|
73
|
+
var ruleMatch = run.tool.driver.rules.filter(function (r) {
|
|
74
|
+
return r.id == rule;
|
|
75
|
+
});
|
|
76
|
+
var severityLevel = (_c = (_b = (_a = ruleMatch[0].defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : "";
|
|
77
|
+
var helpUri = ruleMatch[0].helpUri !== undefined ? (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "" : "";
|
|
78
|
+
groupedResultsMarkdown +=
|
|
79
|
+
"- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? escape(groupedResults[rule][0].message.text) : "", "`") + "\n";
|
|
80
|
+
for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
|
|
81
|
+
var result = _e[_i];
|
|
82
|
+
var properResult = result;
|
|
83
|
+
if (properResult.suppressions === undefined) {
|
|
84
|
+
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
for (var rule in groupedResults) {
|
|
89
|
+
_loop_1(rule);
|
|
90
|
+
}
|
|
91
|
+
return groupedResultsMarkdown;
|
|
92
|
+
}
|
|
93
|
+
function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
|
|
94
|
+
var _a, _b, _c, _d;
|
|
95
|
+
var groupedSuppressedResultsMD = "";
|
|
96
|
+
var suppressedCounter = 0;
|
|
97
|
+
var _loop_2 = function (rule) {
|
|
98
|
+
var groupContainsSuppressed = groupedResults[rule].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
|
|
99
|
+
if (groupContainsSuppressed) {
|
|
100
|
+
var ruleMatch = run.tool.driver.rules.filter(function (r) {
|
|
101
|
+
return r.id == rule;
|
|
102
|
+
});
|
|
103
|
+
var helpUri = ruleMatch[0].helpUri !== undefined ? (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "" : "";
|
|
104
|
+
var severityLevel = (_d = (_c = (_b = ruleMatch[0].defaultConfiguration) === null || _b === void 0 ? void 0 : _b.level) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : "";
|
|
105
|
+
groupedSuppressedResultsMD +=
|
|
106
|
+
"- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? escape(groupedResults[rule][0].message.text) : "", "`") + "\n";
|
|
107
|
+
for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
|
|
108
|
+
var result = _e[_i];
|
|
109
|
+
var properResult = result;
|
|
110
|
+
if (properResult.suppressions !== undefined) {
|
|
111
|
+
suppressedCounter += 1;
|
|
112
|
+
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
for (var rule in groupedResults) {
|
|
118
|
+
_loop_2(rule);
|
|
119
|
+
}
|
|
120
|
+
return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
|
|
121
|
+
}
|
|
122
|
+
function filterGroupedResultsBySeverity(groupedResults, severities, run) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
// 1st step, go through run and find rule severities
|
|
125
|
+
// 2nd step, filter groupedResults and remove rulegroups that don't match the severities filter
|
|
126
|
+
var ruleSeverityMapping = new Map();
|
|
127
|
+
(_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.forEach(function (rule) {
|
|
128
|
+
var _a, _b;
|
|
129
|
+
var severity = (_b = (_a = rule.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : "";
|
|
130
|
+
ruleSeverityMapping.set(rule.id, severity);
|
|
131
|
+
});
|
|
132
|
+
var filteredResults = Object.keys(groupedResults)
|
|
133
|
+
.filter(function (rule) {
|
|
134
|
+
var _a;
|
|
135
|
+
return severities.includes((_a = ruleSeverityMapping.get(rule)) !== null && _a !== void 0 ? _a : "unknownseverity");
|
|
136
|
+
})
|
|
137
|
+
.reduce(function (obj, key) {
|
|
138
|
+
obj[key] = groupedResults[key];
|
|
139
|
+
return obj;
|
|
140
|
+
}, {});
|
|
141
|
+
return filteredResults;
|
|
55
142
|
}
|
|
56
143
|
export var sarifToMarkdown = function (options) {
|
|
144
|
+
var _a;
|
|
57
145
|
var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
|
|
146
|
+
var simpleMode = options.simple !== undefined ? options.simple : false;
|
|
147
|
+
var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
|
|
58
148
|
return function (sarifLog) {
|
|
59
149
|
return sarifLog.runs.map(function (run) {
|
|
60
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
61
150
|
var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
|
|
62
|
-
var toolInfo =
|
|
63
|
-
|
|
64
|
-
// Rule info
|
|
65
|
-
// Vulnerability info
|
|
66
|
-
// ## Results
|
|
67
|
-
// Result(s)
|
|
68
|
-
/**
|
|
69
|
-
* # Rule Info
|
|
70
|
-
*/
|
|
71
|
-
var ruleInfo = escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
|
|
72
|
-
var _a, _b;
|
|
73
|
-
var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
|
|
74
|
-
// rule description
|
|
75
|
-
return "\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
|
|
76
|
-
}));
|
|
151
|
+
var toolInfo = simpleMode ? "" : createToolInfo(run);
|
|
152
|
+
var ruleInfo = simpleMode ? "" : createRuleInfo(run);
|
|
77
153
|
var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
|
|
78
154
|
var groupedResults = groupBy(run.results, "ruleId");
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
for (var r in group) {
|
|
83
|
-
groupedResultsMarkdown +=
|
|
84
|
-
"- **".concat(r, "**: ").concat(group[r][0] ? escape(group[r][0].message.text) : "") + "\n";
|
|
85
|
-
for (var _h = 0, _j = group[r]; _h < _j.length; _h++) {
|
|
86
|
-
var result = _j[_h];
|
|
87
|
-
var properResult = result;
|
|
88
|
-
if (properResult.suppressions === undefined) {
|
|
89
|
-
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
155
|
+
var filteredResults = filterGroupedResultsBySeverity(groupedResults, severities, run);
|
|
156
|
+
var groupedResultsMarkdown = createGroupedResultsMarkdown(filteredResults, run, options);
|
|
157
|
+
var hasMessage = run.results && run.results.length > 0 && Object.keys(filteredResults).length > 0;
|
|
94
158
|
/* Results
|
|
95
159
|
- rule id
|
|
96
160
|
- message
|
|
@@ -98,35 +162,16 @@ export var sarifToMarkdown = function (options) {
|
|
|
98
162
|
|
|
99
163
|
If pass the scan, results is empty array
|
|
100
164
|
*/
|
|
101
|
-
var results =
|
|
102
|
-
? "\n## Results\n".concat(groupedResultsMarkdown)
|
|
103
|
-
: "\n## Results\n\
|
|
104
|
-
var groupedSuppressedResultsMD =
|
|
105
|
-
var suppressedCounter = 0;
|
|
106
|
-
for (var _k = 0, groupedResults_2 = groupedResults; _k < groupedResults_2.length; _k++) {
|
|
107
|
-
var group = groupedResults_2[_k];
|
|
108
|
-
for (var r in group) {
|
|
109
|
-
var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
|
|
110
|
-
if (groupContainsSuppressed) {
|
|
111
|
-
groupedSuppressedResultsMD +=
|
|
112
|
-
"- **".concat(r, "**: ").concat(group[r][0] ? escape(group[r][0].message.text) : "") + "\n";
|
|
113
|
-
for (var _l = 0, _m = group[r]; _l < _m.length; _l++) {
|
|
114
|
-
var result = _m[_l];
|
|
115
|
-
var properResult = result;
|
|
116
|
-
if (properResult.suppressions !== undefined) {
|
|
117
|
-
suppressedCounter += 1;
|
|
118
|
-
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
165
|
+
var results = hasMessage
|
|
166
|
+
? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
|
|
167
|
+
: "\n## Results\n\nNothing here.\n\n";
|
|
168
|
+
var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
|
|
124
169
|
// careful, double ternary... first check if we should include suppressedresults (return empty string)
|
|
125
170
|
// then check if there are results, if none, return default string
|
|
126
171
|
var suppressedResultsText = suppressedResultsFlag
|
|
127
172
|
? run.results && suppressedCounter > 0
|
|
128
173
|
? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
|
|
129
|
-
: "\n## Results\n\
|
|
174
|
+
: "\n## Suppressed Results\n\nNothing here.\n\n"
|
|
130
175
|
: "";
|
|
131
176
|
if (options.details) {
|
|
132
177
|
return {
|
|
@@ -139,12 +184,12 @@ export var sarifToMarkdown = function (options) {
|
|
|
139
184
|
"\n" +
|
|
140
185
|
ruleDetails +
|
|
141
186
|
toolInfo,
|
|
142
|
-
hasMessages:
|
|
187
|
+
hasMessages: hasMessage
|
|
143
188
|
};
|
|
144
189
|
}
|
|
145
190
|
return {
|
|
146
191
|
body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
|
|
147
|
-
hasMessages:
|
|
192
|
+
hasMessages: hasMessage
|
|
148
193
|
};
|
|
149
194
|
});
|
|
150
195
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":";;;;AACA,aAAa;AACb,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,SAAS,cAAc,CAAC,OAA6B;IAAE,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,+BAAgB;;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACjC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;aAAM;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAA8B;;IACjE,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,oBAAoB,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC,UAAC,QAAa;QAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GACZ,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACzC,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,cAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE;YAC5E,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;QAClD,OAAO,OAAO,CACV,UAAU,EACV,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,eAAQ,OAAO,CAAC,MAAM,CAAE,EACxB,OAAO,CAAC,UAAU,EAClB,UAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,cAAI,UAAU,CAAE,CAC3D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@security-alert/sarif-to-markdown",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.3",
|
|
4
4
|
"description": "Convert Sarif format to body text",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sarif",
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "c4850218e9577edd6b74a38868b41bd2936df22d"
|
|
60
60
|
}
|