Skip to content

Commit d45bdc0

Browse files
fix: update validator function
1 parent fd1396e commit d45bdc0

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

tools/vuln_valid/vulnValidate.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ const coreModel = Joi.object({
2525
publish_date: Joi
2626
.string()
2727
.regex(/^\d{4}-\d{2}-\d{2}$/)
28-
.optional()
29-
.isoDate(),
28+
.optional(),
3029
type: Joi.string().optional(),
3130
cvss_score: Joi.number().optional(),
3231
cvss: Joi.string().optional(),
@@ -43,9 +42,32 @@ const coreModel = Joi.object({
4342
.required()
4443
});
4544

45+
const npmModel = Joi.object({
46+
id: Joi.number().required(),
47+
cves: Joi.array().items(Joi.string().regex(/CVE-\d{4}-\d+/)).required(),
48+
created_at: Joi.string().regex(/^\d{4}-\d{2}-\d{2}$/).required(),
49+
updated_at: Joi.string().regex(/^\d{4}-\d{2}-\d{2}$/).required(),
50+
title: Joi.string().max(150).regex(/^[^\n]+$/).required(),
51+
author: Joi.object({
52+
name: Joi.string().required(),
53+
username: Joi.string().required().allow(null),
54+
website: Joi.string().required().allow(null)
55+
}),
56+
module_name: Joi.string().required(),
57+
publish_date: Joi.string().regex(/^\d{4}-\d{2}-\d{2}$/).required(),
58+
vulnerable_versions: Joi.string().allow(null).required(),
59+
patched_versions: Joi.string().allow(null).required(),
60+
overview: Joi.string().required(),
61+
recommendation: Joi.string().allow(null).required(),
62+
references: Joi.array().allow(null).required(),
63+
cvss_vector: Joi.string().allow(null).required(),
64+
cvss_score: Joi.number().allow(null).required(),
65+
coordinating_vendor: Joi.string().allow(null).required()
66+
});
67+
4668
function validateVuln(filePath, model) {
4769
const vuln = JSON.parse(fs.readFileSync(filePath));
48-
const result = coreModel.validate(vuln);
70+
const result = model.validate(vuln);
4971
if (result.error) {
5072
console.error(filePath, result.error);
5173
throw result.error;
@@ -64,6 +86,7 @@ function validate(dir, model) {
6486

6587
module.exports = {
6688
coreModel,
89+
npmModel,
6790
validateVuln,
6891
validate
6992
};

0 commit comments

Comments
 (0)