ForescoutEyeInspectButtonGetVulnerabilityInfo

Get information of a CVE from Forescout EyeInspect CVEs DB.

python · Forescout EyeInspect

Details

IDForescoutEyeInspectButtonGetVulnerabilityInfo
Languagepython
From Version6.1.0
Docker Imagedemisto/python3:3.12.13.10116658
Tagsincident-action-button

README

Get information of a CVE from Forescout EyeInspect CVEs DB.

Script Data


Name Description
Script Type python3
Tags incident-action-button
Cortex XSOAR Version 6.1.0

Inputs


Argument Name Description
cve_id The unique ID of the vulnerability information record to be retrieved. The CVE ID can be retrieved from public vulnerability databases, such as NVD, or from the “CVEs and IoCs” page inside Forescout EyeInspect.

Outputs


There are no outputs for this script.

import demistomock as demisto
import ForescoutEyeInspectButtonGetVulnerabilityInfo
from ForescoutEyeInspectButtonGetVulnerabilityInfo import get_cve, main
from pytest_mock.plugin import MockerFixture


def test_get_cve(mocker: MockerFixture):
    cve_id = "CVE-2020-0305"
    mock_cve = {
        "id": cve_id,
        "cve_id": cve_id,
        "icsa_id": "",
        "vendor_specific_id": "SSB-439005",
        "published_date": "2018-11-27T01:00:00.000+01:00",
    }

    mocker.patch.object(demisto, "args", return_value={"cve_id": cve_id})
    mocker.patch.object(demisto, "executeCommand", return_value=mock_cve)

    assert get_cve()["cve_id"] == cve_id


def return_error_mock(message: str, *_):
    raise Exception(message)


def test_command_error(mocker: MockerFixture):
    mocker.patch.object(demisto, "args", return_value={"cve_id": "CVE-2020-0305"})
    mocker.patch.object(demisto, "error")
    mocker.patch.object(ForescoutEyeInspectButtonGetVulnerabilityInfo, "return_error", return_error_mock)
    mocker.patch.object(demisto, "executeCommand", side_effect=Exception("Failed to communicate with Forescout EyeInspect"))

    try:
        main()
    except Exception as e:
        assert "Failed to communicate with Forescout EyeInspect" in str(e)