From ddf46f5619f777627d79f20b6af8439575378807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 11:48:01 +0200 Subject: [PATCH 1/7] Update nist.md --- docs/user/lib_mapper/nist.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/user/lib_mapper/nist.md b/docs/user/lib_mapper/nist.md index d23e4a4b..0fd7ce01 100644 --- a/docs/user/lib_mapper/nist.md +++ b/docs/user/lib_mapper/nist.md @@ -7,5 +7,6 @@ | cisco:ios_xe | → | cisco_xe | | cisco:ios_xr | → | cisco_xr | | cisco:nx-os | → | cisco_nxos | +| hpe:arubaos-cx | → | aruba_aoscx | | juniper:junos | → | juniper_junos | -| paloaltonetworks:pan-os | → | paloalto_panos | \ No newline at end of file +| paloaltonetworks:pan-os | → | paloalto_panos | From 0d56fc5dec21022633d8e4f6b9a5fdb531d23149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 11:55:14 +0200 Subject: [PATCH 2/7] Update nist_reverse.md --- docs/user/lib_mapper/nist_reverse.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/user/lib_mapper/nist_reverse.md b/docs/user/lib_mapper/nist_reverse.md index 4016104e..85456818 100644 --- a/docs/user/lib_mapper/nist_reverse.md +++ b/docs/user/lib_mapper/nist_reverse.md @@ -1,6 +1,7 @@ | NORMALIZED | | NIST | | ---------- | -- | ------ | | arista_eos | → | arista:eos | +| aruba_aoscx | → | hpe:arubaos-cx | | aruba_os | → | arubanetworks:arubaos | | cisco_asa | → | cisco:adaptive_security_appliance_software | | cisco_ios | → | cisco:ios | @@ -8,4 +9,4 @@ | cisco_xe | → | cisco:ios_xe | | cisco_xr | → | cisco:ios_xr | | juniper_junos | → | juniper:junos | -| paloalto_panos | → | paloaltonetworks:pan-os | \ No newline at end of file +| paloalto_panos | → | paloaltonetworks:pan-os | From d250a7dbe76b7b465d5f69cf9b1c090c94d57527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 12:05:11 +0200 Subject: [PATCH 3/7] Update lib_mapper.py --- netutils/lib_mapper.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/netutils/lib_mapper.py b/netutils/lib_mapper.py index 1a1ec184..bda19d6d 100644 --- a/netutils/lib_mapper.py +++ b/netutils/lib_mapper.py @@ -558,6 +558,7 @@ "cisco:nx-os": "cisco_nxos", "cisco:ios_xe": "cisco_xe", "cisco:ios_xr": "cisco_xr", + "hpe:arubaos-cx": "aruba_aoscx", "juniper:junos": "juniper_junos", "paloaltonetworks:pan-os": "paloalto_panos", } @@ -741,6 +742,7 @@ # Normalized | NIST NIST_LIB_MAPPER_REVERSE: t.Dict[str, str] = { "arista_eos": "arista:eos", + "aruba_aoscx": "hpe:arubaos-cx", "aruba_os": "arubanetworks:arubaos", "cisco_asa": "cisco:adaptive_security_appliance_software", "cisco_ios": "cisco:ios", @@ -832,7 +834,7 @@ "ncclient": NCCLIENT_LIB_MAPPER_REVERSE, "netmiko": NETMIKO_LIB_MAPPER_REVERSE, "netutils_parser": NETUTILSPARSER_LIB_MAPPER_REVERSE, - "nist": NIST_LIB_MAPPER_REVERSE, + "nist": _REVERSE, "ntc_templates": NTCTEMPLATES_LIB_MAPPER_REVERSE, "pyats": PYATS_LIB_MAPPER_REVERSE, "pyntc": PYNTC_LIB_MAPPER_REVERSE, From 2222a30c4ac2b0895a778dc007a947181274bee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 12:06:11 +0200 Subject: [PATCH 4/7] Update lib_mapper.py --- netutils/lib_mapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netutils/lib_mapper.py b/netutils/lib_mapper.py index bda19d6d..8588fc36 100644 --- a/netutils/lib_mapper.py +++ b/netutils/lib_mapper.py @@ -834,7 +834,7 @@ "ncclient": NCCLIENT_LIB_MAPPER_REVERSE, "netmiko": NETMIKO_LIB_MAPPER_REVERSE, "netutils_parser": NETUTILSPARSER_LIB_MAPPER_REVERSE, - "nist": _REVERSE, + "nist": NIST_LIB_MAPPER_REVERSE, "ntc_templates": NTCTEMPLATES_LIB_MAPPER_REVERSE, "pyats": PYATS_LIB_MAPPER_REVERSE, "pyntc": PYNTC_LIB_MAPPER_REVERSE, From 7ede28921903c56dd2c4a04fad9fabbe6e5802ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 12:14:14 +0200 Subject: [PATCH 5/7] Update lib_mapper.py --- netutils/lib_mapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netutils/lib_mapper.py b/netutils/lib_mapper.py index 8588fc36..1e35250a 100644 --- a/netutils/lib_mapper.py +++ b/netutils/lib_mapper.py @@ -555,9 +555,9 @@ "arubanetworks:arubaos": "aruba_os", "cisco:adaptive_security_appliance_software": "cisco_asa", "cisco:ios": "cisco_ios", - "cisco:nx-os": "cisco_nxos", "cisco:ios_xe": "cisco_xe", "cisco:ios_xr": "cisco_xr", + "cisco:nx-os": "cisco_nxos", "hpe:arubaos-cx": "aruba_aoscx", "juniper:junos": "juniper_junos", "paloaltonetworks:pan-os": "paloalto_panos", From 7b28fda322646cd2b77590daf534a573edcd25bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 14:21:18 +0200 Subject: [PATCH 6/7] Update nist.py --- netutils/nist.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/netutils/nist.py b/netutils/nist.py index a3162805..6a742b1f 100644 --- a/netutils/nist.py +++ b/netutils/nist.py @@ -21,6 +21,11 @@ ("buildmetadata", str, dataclasses.field(default=None)), # pylint: disable=[E3701] ("vendor_metadata", bool, dataclasses.field(default=False)), # pylint: disable=[E3701] ], + "hpe": { + "arubaos-cx": [ + ("release", str, dataclasses.field(default=None)), + ], + }, "juniper": { "junos": [ ("main", str, dataclasses.field(default=None)), # pylint: disable=[E3701] @@ -63,6 +68,18 @@ def __getitem__(self, key: str) -> t.Any: return getattr(self, key) +def _get_nist_urls_hpe_arubaos_cx(os_platform_data: t.Dict[str, t.Any]) -> t.List[str]: + """Create NIST URLs for HPE Aruba AOS-CX.""" + base_url = "https://services.nvd.nist.gov/rest/json/cves/2.0?cpeName=cpe:2.3:o:" + version = ( + f"{os_platform_data['major']}." + f"{os_platform_data['minor']}." + f"{os_platform_data['patch']}" + ) + + return [f"{base_url}{os_platform_data['vendor']}:{os_platform_data['os_type']}:{version}:*"] + + def _get_nist_urls_juniper_junos(os_platform_data: t.Dict[str, t.Any]) -> t.List[str]: # pylint: disable=R0911 """Create a list of possible NIST Url strings for JuniperPlatform. @@ -233,6 +250,9 @@ def _os_platform_object_builder(vendor: str, platform: str, version: str) -> obj get_nist_url_funcs: t.Dict[str, t.Any] = { "default": _get_nist_urls_default, + "hpe": { + "arubaos-cx": _get_nist_urls_hpe_arubaos_cx, + }, "juniper": {"junos": _get_nist_urls_juniper_junos}, } From 1a47f4606c87d7659ef100cdab9101c7c9509faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 8 Sep 2026 14:29:55 +0200 Subject: [PATCH 7/7] Update nist.py --- netutils/nist.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/netutils/nist.py b/netutils/nist.py index 6a742b1f..2fbd8491 100644 --- a/netutils/nist.py +++ b/netutils/nist.py @@ -275,9 +275,10 @@ def get_nist_vendor_platform_urls(vendor: str, platform: str, version: str) -> t >>> """ platform_data = _os_platform_object_builder(vendor, platform, version).__dict__ + get_nist_urls_func = get_nist_url_funcs.get(vendor.lower(), {}).get(platform.lower()) - if vendor.lower() == "juniper" and platform.lower() == "junos": - return _get_nist_urls_juniper_junos(platform_data) + if get_nist_urls_func: + return get_nist_urls_func(platform_data) return _get_nist_urls_default(platform_data)