@security-alert/sarif-to-markdown 1.9.0 → 1.10.4
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 -2
- package/lib/sarif-to-markdown.d.ts +4 -0
- package/lib/sarif-to-markdown.js +66 -50
- package/lib/sarif-to-markdown.js.map +1 -1
- package/module/sarif-to-markdown.d.ts +4 -0
- package/module/sarif-to-markdown.js +66 -50
- package/module/sarif-to-markdown.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -351,7 +351,7 @@ https://github.com/owner/repo/blob/master/base/examples/Xss.js#L4
|
|
|
351
351
|
|
|
352
352
|
## Changelog
|
|
353
353
|
|
|
354
|
-
See [Releases page](https://github.com/
|
|
354
|
+
See [Releases page](https://github.com/security-alert/security-alert/releases).
|
|
355
355
|
|
|
356
356
|
## Running tests
|
|
357
357
|
|
|
@@ -363,7 +363,7 @@ Install devDependencies and Run `npm test`:
|
|
|
363
363
|
|
|
364
364
|
Pull requests and stars are always welcome.
|
|
365
365
|
|
|
366
|
-
For bugs and feature requests, [please create an issue](https://github.com/
|
|
366
|
+
For bugs and feature requests, [please create an issue](https://github.com/security-alert/security-alert/issues).
|
|
367
367
|
|
|
368
368
|
1. Fork it!
|
|
369
369
|
2. Create your feature branch: `git checkout -b my-new-feature`
|
|
@@ -37,6 +37,10 @@ export declare type sarifFormatterOptions = {
|
|
|
37
37
|
* Should the markdown include rule details or tool details at all
|
|
38
38
|
*/
|
|
39
39
|
simple?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Which severities should be included ?
|
|
42
|
+
*/
|
|
43
|
+
severities?: readonly string[];
|
|
40
44
|
};
|
|
41
45
|
declare type sarifToMarkdownResult = {
|
|
42
46
|
title?: string;
|
package/lib/sarif-to-markdown.js
CHANGED
|
@@ -70,33 +70,29 @@ function groupBy(arr, criteria) {
|
|
|
70
70
|
acc[currentValue[criteria]].push(currentValue);
|
|
71
71
|
return acc;
|
|
72
72
|
}, {});
|
|
73
|
-
return
|
|
73
|
+
return newObj;
|
|
74
74
|
}
|
|
75
75
|
function createGroupedResultsMarkdown(groupedResults, run, options) {
|
|
76
76
|
var _a, _b, _c, _d;
|
|
77
77
|
var groupedResultsMarkdown = "";
|
|
78
|
-
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var properResult = result;
|
|
92
|
-
if (properResult.suppressions === undefined) {
|
|
93
|
-
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
94
|
-
}
|
|
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";
|
|
95
91
|
}
|
|
96
|
-
};
|
|
97
|
-
for (var r in group) {
|
|
98
|
-
_loop_1(r);
|
|
99
92
|
}
|
|
93
|
+
};
|
|
94
|
+
for (var rule in groupedResults) {
|
|
95
|
+
_loop_1(rule);
|
|
100
96
|
}
|
|
101
97
|
return groupedResultsMarkdown;
|
|
102
98
|
}
|
|
@@ -104,47 +100,67 @@ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
|
|
|
104
100
|
var _a, _b, _c, _d;
|
|
105
101
|
var groupedSuppressedResultsMD = "";
|
|
106
102
|
var suppressedCounter = 0;
|
|
107
|
-
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (properResult.suppressions !== undefined) {
|
|
124
|
-
suppressedCounter += 1;
|
|
125
|
-
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
126
|
-
}
|
|
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";
|
|
127
119
|
}
|
|
128
120
|
}
|
|
129
|
-
};
|
|
130
|
-
for (var r in group) {
|
|
131
|
-
_loop_2(r);
|
|
132
121
|
}
|
|
122
|
+
};
|
|
123
|
+
for (var rule in groupedResults) {
|
|
124
|
+
_loop_2(rule);
|
|
133
125
|
}
|
|
134
126
|
return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
|
|
135
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;
|
|
148
|
+
}
|
|
136
149
|
var sarifToMarkdown = function (options) {
|
|
150
|
+
var _a;
|
|
137
151
|
var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
|
|
138
152
|
var simpleMode = options.simple !== undefined ? options.simple : false;
|
|
153
|
+
var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
|
|
139
154
|
return function (sarifLog) {
|
|
140
155
|
return sarifLog.runs.map(function (run) {
|
|
141
|
-
var _a, _b;
|
|
142
156
|
var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
|
|
143
157
|
var toolInfo = simpleMode ? "" : createToolInfo(run);
|
|
144
158
|
var ruleInfo = simpleMode ? "" : createRuleInfo(run);
|
|
145
159
|
var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
|
|
146
160
|
var groupedResults = groupBy(run.results, "ruleId");
|
|
147
|
-
var
|
|
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;
|
|
148
164
|
/* Results
|
|
149
165
|
- rule id
|
|
150
166
|
- message
|
|
@@ -152,10 +168,10 @@ var sarifToMarkdown = function (options) {
|
|
|
152
168
|
|
|
153
169
|
If pass the scan, results is empty array
|
|
154
170
|
*/
|
|
155
|
-
var results =
|
|
171
|
+
var results = hasMessage
|
|
156
172
|
? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
|
|
157
173
|
: "\n## Results\n\nNothing here.\n\n";
|
|
158
|
-
var
|
|
174
|
+
var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
|
|
159
175
|
// careful, double ternary... first check if we should include suppressedresults (return empty string)
|
|
160
176
|
// then check if there are results, if none, return default string
|
|
161
177
|
var suppressedResultsText = suppressedResultsFlag
|
|
@@ -174,12 +190,12 @@ var sarifToMarkdown = function (options) {
|
|
|
174
190
|
"\n" +
|
|
175
191
|
ruleDetails +
|
|
176
192
|
toolInfo,
|
|
177
|
-
hasMessages:
|
|
193
|
+
hasMessages: hasMessage
|
|
178
194
|
};
|
|
179
195
|
}
|
|
180
196
|
return {
|
|
181
197
|
body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
|
|
182
|
-
hasMessages:
|
|
198
|
+
hasMessages: hasMessage
|
|
183
199
|
};
|
|
184
200
|
});
|
|
185
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,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,cAAc,gKAAA,yFAIvB,EAMA,EAAE,KANF,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAC,IAAS;;QACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,0CAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,mBAAmB;QACnB,OAAO,oBACH,IAAI,CAAC,EAAE,eAAK,QAAQ,yBACpB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,OAAI,CAAC;IACxC,CAAC,CAAC,EAAG;AACL,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,yCAED,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,+BACb,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0BAClC,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,eAAe,OAC5C,CAAC;AACF,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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"}
|
|
@@ -37,6 +37,10 @@ export declare type sarifFormatterOptions = {
|
|
|
37
37
|
* Should the markdown include rule details or tool details at all
|
|
38
38
|
*/
|
|
39
39
|
simple?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Which severities should be included ?
|
|
42
|
+
*/
|
|
43
|
+
severities?: readonly string[];
|
|
40
44
|
};
|
|
41
45
|
declare type sarifToMarkdownResult = {
|
|
42
46
|
title?: string;
|
|
@@ -64,33 +64,29 @@ function groupBy(arr, criteria) {
|
|
|
64
64
|
acc[currentValue[criteria]].push(currentValue);
|
|
65
65
|
return acc;
|
|
66
66
|
}, {});
|
|
67
|
-
return
|
|
67
|
+
return newObj;
|
|
68
68
|
}
|
|
69
69
|
function createGroupedResultsMarkdown(groupedResults, run, options) {
|
|
70
70
|
var _a, _b, _c, _d;
|
|
71
71
|
var groupedResultsMarkdown = "";
|
|
72
|
-
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
var properResult = result;
|
|
86
|
-
if (properResult.suppressions === undefined) {
|
|
87
|
-
groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
|
|
88
|
-
}
|
|
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";
|
|
89
85
|
}
|
|
90
|
-
};
|
|
91
|
-
for (var r in group) {
|
|
92
|
-
_loop_1(r);
|
|
93
86
|
}
|
|
87
|
+
};
|
|
88
|
+
for (var rule in groupedResults) {
|
|
89
|
+
_loop_1(rule);
|
|
94
90
|
}
|
|
95
91
|
return groupedResultsMarkdown;
|
|
96
92
|
}
|
|
@@ -98,47 +94,67 @@ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
|
|
|
98
94
|
var _a, _b, _c, _d;
|
|
99
95
|
var groupedSuppressedResultsMD = "";
|
|
100
96
|
var suppressedCounter = 0;
|
|
101
|
-
|
|
102
|
-
var
|
|
103
|
-
|
|
104
|
-
var
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if (properResult.suppressions !== undefined) {
|
|
118
|
-
suppressedCounter += 1;
|
|
119
|
-
groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
|
|
120
|
-
}
|
|
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";
|
|
121
113
|
}
|
|
122
114
|
}
|
|
123
|
-
};
|
|
124
|
-
for (var r in group) {
|
|
125
|
-
_loop_2(r);
|
|
126
115
|
}
|
|
116
|
+
};
|
|
117
|
+
for (var rule in groupedResults) {
|
|
118
|
+
_loop_2(rule);
|
|
127
119
|
}
|
|
128
120
|
return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
|
|
129
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;
|
|
142
|
+
}
|
|
130
143
|
export var sarifToMarkdown = function (options) {
|
|
144
|
+
var _a;
|
|
131
145
|
var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
|
|
132
146
|
var simpleMode = options.simple !== undefined ? options.simple : false;
|
|
147
|
+
var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
|
|
133
148
|
return function (sarifLog) {
|
|
134
149
|
return sarifLog.runs.map(function (run) {
|
|
135
|
-
var _a, _b;
|
|
136
150
|
var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
|
|
137
151
|
var toolInfo = simpleMode ? "" : createToolInfo(run);
|
|
138
152
|
var ruleInfo = simpleMode ? "" : createRuleInfo(run);
|
|
139
153
|
var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
|
|
140
154
|
var groupedResults = groupBy(run.results, "ruleId");
|
|
141
|
-
var
|
|
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;
|
|
142
158
|
/* Results
|
|
143
159
|
- rule id
|
|
144
160
|
- message
|
|
@@ -146,10 +162,10 @@ export var sarifToMarkdown = function (options) {
|
|
|
146
162
|
|
|
147
163
|
If pass the scan, results is empty array
|
|
148
164
|
*/
|
|
149
|
-
var results =
|
|
165
|
+
var results = hasMessage
|
|
150
166
|
? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
|
|
151
167
|
: "\n## Results\n\nNothing here.\n\n";
|
|
152
|
-
var
|
|
168
|
+
var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
|
|
153
169
|
// careful, double ternary... first check if we should include suppressedresults (return empty string)
|
|
154
170
|
// then check if there are results, if none, return default string
|
|
155
171
|
var suppressedResultsText = suppressedResultsFlag
|
|
@@ -168,12 +184,12 @@ export var sarifToMarkdown = function (options) {
|
|
|
168
184
|
"\n" +
|
|
169
185
|
ruleDetails +
|
|
170
186
|
toolInfo,
|
|
171
|
-
hasMessages:
|
|
187
|
+
hasMessages: hasMessage
|
|
172
188
|
};
|
|
173
189
|
}
|
|
174
190
|
return {
|
|
175
191
|
body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
|
|
176
|
-
hasMessages:
|
|
192
|
+
hasMessages: hasMessage
|
|
177
193
|
};
|
|
178
194
|
});
|
|
179
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,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,cAAc,gKAAA,yFAIvB,EAMA,EAAE,KANF,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAC,IAAS;;QACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,0CAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,mBAAmB;QACnB,OAAO,oBACH,IAAI,CAAC,EAAE,eAAK,QAAQ,yBACpB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,OAAI,CAAC;IACxC,CAAC,CAAC,EAAG;AACL,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,yCAED,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,+BACb,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0BAClC,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,eAAe,OAC5C,CAAC;AACF,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,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@security-alert/sarif-to-markdown",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.4",
|
|
4
4
|
"description": "Convert Sarif format to body text",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sarif",
|
|
7
7
|
"security-alert",
|
|
8
8
|
"codeql"
|
|
9
9
|
],
|
|
10
|
-
"homepage": "https://github.com/
|
|
10
|
+
"homepage": "https://github.com/security-alert/security-alert/tree/master/packages/sarif-to-markdown/",
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/
|
|
12
|
+
"url": "https://github.com/security-alert/security-alert/issues"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "https://github.com/
|
|
16
|
+
"url": "https://github.com/security-alert/security-alert.git"
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"author": "azu",
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "c362df11d1023f31c0a4342df87226e6fadf61e3"
|
|
60
60
|
}
|