-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
executable file
·42 lines (35 loc) · 1.19 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env node
const readline = require("readline");
const {Application} = require("auditjs/bin/Application/Application");
const {AuditOSSIndex} = require("auditjs/bin/Audit/AuditOSSIndex");
if (process.argv.length !== 3) {
console.error("Usage: auditjs-min-score <score>");
process.exit(1);
}
const maximum_security_score = parseInt(process.argv[2], 10);
// override auditor
AuditOSSIndex.prototype.auditResults = function(results) {
const bad_libs = [];
results.forEach((element) => {
element.vulnerabilities.forEach((vuln) => {
if (vuln.cvssScore > maximum_security_score) {
bad_libs.push(element.coordinates);
}
});
});
// original behavior
if (this.quiet) {
results = results.filter((x) => {
let _a;
return x.vulnerabilities && ((_a = x.vulnerabilities) === null || _a === void 0 ? void 0 : _a.length) > 0;
});
}
this.formatter.printAuditResults(results);
// override default:
// return Formatter_1.getNumberOfVulnerablePackagesFromResults(results) > 0;
return bad_libs.length > 0;
}
let app = new Application();
let args = {ossi: true, json: true, quiet: true};
args._ = ["ossi", "-s"];
app.startApplication(args);