NucleonCyberFeed

This is the NucleonCyber Feed integration.

Data Enrichment & Threat Intelligence · NucleonCyber · Feed

Details

IDNucleonCyberFeed
ProviderNucleonCyber
CategoryData Enrichment & Threat Intelligence
From Version6.0.0
Docker Imagedemisto/python3:3.12.8.3296088
Supported ModulesAgentix XSIAM

README

This is the NucleonCyber Feed integration
This integration was integrated and tested with version 6.0.0 of NucleonCyberFeed

Configure NucleonCyberFeed in Cortex

Parameter Description Required
Fetch indicators   False
Server’s URL Should be feed of type .txt. For using other types of feed, modify the parsing in the python file. True
User Name The given username to use for NucleonCyber API connection True
Password The given password to use for NucleonCyber API connection True
Usrn The given usrn to use for NucleonCyber API connection True
ClientID The given clientID to use for NucleonCyber API connection True
Indicator Reputation Indicators from this integration instance will be marked with this reputation False
Source Reliability Reliability of the source providing the intelligence data True
Traffic Light Protocol Color The Traffic Light Protocol (TLP) designation to apply to indicators fetched from the feed False
Feed Fetch Interval   False
Bypass exclusion list When selected, the exclusion list is ignored for indicators from this feed. This means that if an indicator from this feed is on the exclusion list, the indicator might still be added to the system. False
Trust any certificate (not secure)   False
Use system proxy settings   False
    False
    False
Tags Supports CSV values. False
Incremental feed Incremental feeds pull only new or modified indicators that have been sent from the integration. The determination if the indicator is new or modified happens on the 3rd-party vendor’s side, so only indicators that are new or modified are sent to Cortex XSOAR. Therefore, all indicators coming from these feeds are labeled new or modified. False

Commands

You can execute these commands from the CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.

nucleon-get-indicators


Gets indicators from the feed.

Base Command

nucleon-get-indicators

Input

Argument Name Description Required
type The indicator type (ip, url or hash). Default is ip. Required
limit The maximum number of results to return. Default is 10. Optional

Context Output

Path Type Description
NucleonCyber.Indicators.value String IP/HASH/URL.
NucleonCyber.Indicators.exp String Indicators exp.

Command Example


#### Context Example

```json
{
    "NucleonCyber": {
        "Indicators": [
            {
                "automated": false,
                "botnet": false,
                "bruteForce": false,
                "cnc": false,
                "darknet": false,
                "fields": {
                    "nucleonsegment": "governments",
                    "os": "Linux",
                    "osversion": "3.x",
                    "port": 0,
                    "tags": [
                        "nucleon_bruteForce",
                        "nucleon_bruteForce"
                    ],
                    "targetCountry": "SG",
                    "trafficlightprotocol": "GREEN"
                },
                "governments": false,
                "os": "Linux",
                "osVersion": "3.x",
                "port": 0,
                "proxy": false,
                "rawJSON": {
                    "automated": false,
                    "bot": false,
                    "botnet": false,
                    "bruteForce": false,
                    "cnc": false,
                    "darknet": false,
                    "exp": "1629991508",
                    "governments": false,
                    "os": "Linux",
                    "osVersion": "3.x",
                    "port": 0,
                    "proxy": false,
                    "segment": "governments",
                    "sourceCountry": "BR",
                    "targetCountry": "SG",
                    "type": "IP",
                    "value": "4.4.4.4"
                },
                "segment": "governments",
                "service": "NucleonCyberFeed",
                "sourceCountry": "BR",
                "targetCountry": "SG",
                "type": "IP",
                "value": "4.4.4.4"
            }
        ]
    }
}

Human Readable Output

IP indicators from NucleonCyberFeed

Value Type
4.4.4.4 IP

Configuration parameters

  • feed — Fetch indicators
  • url — Server's URL (required)
  • credentials — Username (required)
  • usrn — Usrn (required)
  • clientid — ClientID (required)
  • feedReputation — Indicator Reputation
  • feedReliability — Source Reliability (required)
  • tlp_color — Traffic Light Protocol Color
  • feedFetchInterval — Feed Fetch Interval
  • feedBypassExclusionList — Bypass exclusion list
  • insecure — Trust any certificate (not secure)
  • proxy — Use system proxy settings
  • feedExpirationPolicy
  • feedExpirationInterval
  • feedTags — Tags
  • feedIncremental — Incremental feed

Commands (1)

  • nucleon-get-indicators

    Gets indicators from the feed.

"""HelloWorld Feed Integration for Cortex XSOAR - Unit Tests file

This file contains the Unit Tests for the HelloWorld Integration based
on pytest. Cortex XSOAR contribution requirements mandate that every
integration, as well as a feed integration, should have a proper set of unit
tests to automatically verify that the integration is behaving as expected
during CI/CD pipeline.

Test Execution
--------------

Unit tests can be checked in 3 ways:
- Using the command `lint` of demisto-sdk. The command will build a dedicated
  docker instance for your feed integration locally and use the docker instance to
  execute your tests in a dedicated docker instance.
- From the command line using `pytest -v` or `pytest -vv`
- From PyCharm

Example with demisto-sdk (from the content root directory):
demisto-sdk lint -i Packs/HelloWorld/Integrations/FeedHelloWorld

Coverage
--------

There should be at least one unit test per command function. In each unit
test, the target command function is executed with specific parameters and the
output of the command function is checked against an expected output.

Unit tests should be self contained and should not interact with external
resources like (API, devices, ...). To isolate the code from external resources
you need to mock the API of the external resource using pytest-mock:
https://github.com/pytest-dev/pytest-mock/

In the following code we configure requests-mock (a mock of Python requests)
before each test to simulate the API calls to the FeedHelloWorld API (which is
OpenPhish). This way we can have full control of the API behavior and focus only
on testing the logic inside the integration code.

We recommend to use outputs from the API calls and use them to compare the
results when possible. See the ``test_data`` directory that contains the data
we use for comparison, in order to reduce the complexity of the unit tests and
avoding to manually mock all the fields.

NOTE: we do not have to import or build a requests-mock instance explicitly.
requests-mock library uses a pytest specific mechanism to provide a
requests_mock instance to any function with an argument named requests_mock.

More Details
------------

More information about Unit Tests in Cortex XSOAR:
https://xsoar.pan.dev/docs/integrations/unit-testing

"""