From 8bc9c6c4633e028b8dd2979289dd47d735ddd8e6 Mon Sep 17 00:00:00 2001 From: bendo-eXX Date: Thu, 23 Jul 2026 11:24:56 +0200 Subject: [PATCH] feat(CSAF2.1): add informativeTest_6_3_21_8.js --- README.md | 2 +- csaf_2_1/informativeTests.js | 1 + .../informativeTest_6_3_21_8.js | 26 +++++++++++++++++++ tests/csaf_2_1/oasis.js | 1 - 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 csaf_2_1/informativeTests/informativeTest_6_3_21_8.js diff --git a/README.md b/README.md index bd3e87bd..80a8d71c 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,6 @@ The following tests are not yet implemented and therefore missing: - Informative Test 6.2.21.5 - Informative Test 6.2.21.6 - Informative Test 6.2.21.7 -- Informative Test 6.2.21.8 - Informative Test 6.2.21.9 - Informative Test 6.2.22 @@ -523,6 +522,7 @@ export const informativeTest_6_3_10: DocumentTest export const informativeTest_6_3_11: DocumentTest export const informativeTest_6_3_12: DocumentTest export const informativeTest_6_3_18: DocumentTest +export const informativeTest_6_3_21_8: DocumentTest ``` [(back to top)](#bsi-csaf-validator-lib) diff --git a/csaf_2_1/informativeTests.js b/csaf_2_1/informativeTests.js index e15078a9..1a461641 100644 --- a/csaf_2_1/informativeTests.js +++ b/csaf_2_1/informativeTests.js @@ -13,3 +13,4 @@ export { informativeTest_6_3_4 } from './informativeTests/informativeTest_6_3_4. export { informativeTest_6_3_5 } from './informativeTests/informativeTest_6_3_5.js' export { informativeTest_6_3_12 } from './informativeTests/informativeTest_6_3_12.js' export { informativeTest_6_3_18 } from './informativeTests/informativeTest_6_3_18.js' +export { informativeTest_6_3_21_8 } from './informativeTests/informativeTest_6_3_21_8.js' diff --git a/csaf_2_1/informativeTests/informativeTest_6_3_21_8.js b/csaf_2_1/informativeTests/informativeTest_6_3_21_8.js new file mode 100644 index 00000000..3b5418e8 --- /dev/null +++ b/csaf_2_1/informativeTests/informativeTest_6_3_21_8.js @@ -0,0 +1,26 @@ +import { walkPath } from '../../lib/walkPaths.js' + +/** + * This implements the informative test 6.3.21.8 of the CSAF 2.1 standard. + * @param {any} doc + * @returns + */ +export async function informativeTest_6_3_21_8(doc) { + const ctx = { + infos: /** @type {Array<{ message: string; instancePath: string }>} */ ([]), + } + + await walkPath( + doc, + '/vulnerabilities[*]/x_extensions', + async (instancePath) => { + ctx.infos.push({ + instancePath, + message: + 'The element "x_extensions" exists inside a "vulnerabilities" item.', + }) + } + ) + + return ctx +} diff --git a/tests/csaf_2_1/oasis.js b/tests/csaf_2_1/oasis.js index ffe51ad4..72f1e2f8 100644 --- a/tests/csaf_2_1/oasis.js +++ b/tests/csaf_2_1/oasis.js @@ -68,7 +68,6 @@ const excluded = [ '6.3.21.5', '6.3.21.6', '6.3.21.7', - '6.3.21.8', '6.3.21.9', '6.3.22', ]