Secneurx Threat Feeds
SecneurX provides real-time threat intelligence that protects companies against the latest cyber threats, including APTs, phishing, malware, ransomware, data exfiltration, and brand infringement. Security teams rely on our dependable and rich data to expand their threat landscape visibility, resulting in improved detection rates and response times.
Data Enrichment & Threat Intelligence · Secneurx Threat Feeds · Feed
Details
| ID | Secneurx Threat Feeds |
|---|---|
| Provider | SecneurX |
| Category | Data Enrichment & Threat Intelligence |
| From Version | 6.2.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM |
README
SecneurX provides real-time threat intelligence that protects companies against the latest cyber threats, including APTs, phishing, malware, ransomware, data exfiltration, and brand infringement. Security teams rely on our dependable and rich data to expand their threat landscape visibility, resulting in improved detection rates and response times.
This integration was integrated and tested with version 1.0.0 of SecneurX Threat Feeds
Configure SecneurX Threat Feeds in Cortex
| Parameter | Description | Required |
|---|---|---|
| Feed URL | Input the url of SecneurX Threat Intelligence Feeds. | True |
| API Key | Input the API key for fetching feed from the source. | True |
| Fetch indicators | Select this option if you want this integration instance to fetch indicators from the SecneurX Threat Intelligence feed. | False |
| Indicator Reputation | Indicators from this integration instance will be marked with this reputation | False |
| Tags | Supports CSV values. | False |
| Source Reliability | Reliability of the source providing the intelligence data | True |
| Feed Fetch Interval | How often do fetch indicators from this integration instance. You can specify the interval in days, hours, or minutes. | True |
| Feed Expiration Policy | False | |
| Traffic Light Protocol Color | The Traffic Light Protocol (TLP) designation to apply to indicators fetched from the feed | False |
| First fetch | First fetch query e.g., 12 hours, 7 days. SecurityScorecard provides a maximum of 7 days back. To ensure no alerts are missed, it’s recommended to use a value less than 2 days. | 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 |
| proxy | Use system proxy settings | False |
| insecure | Trust any certificate (not secure) | 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.
snxfeeds-get-indicators
Retrieves a limited number of the indicators.
Base Command
snxfeeds-get-indicators
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | The maximum number of indicators to return. The default is 10. | Optional |
Context Output
There is no context output for this command.
Human Readable Output
| Type | Value | Fields |
|---|---|---|
| Domain | mak.logupdates.xyz | firstseenbysource: 2022-06-13T10:37:23Z, indicatoridentification: indicator–c0f9425f-a3e9-4fcf-85c5-58e809f4e763, verdict: Malicious, tags: apt , Donot APT, modified: 2022-06-13T10:37:23Z, reportedby: SecneurX Threat Feeds |
Notes
Be aware, due to API limitations, fetch-indicators fetches only a limited number of indicators for each interval.
Fetching all the indicators can take up to 24 hours.
Configuration parameters
url— Feed URL (required)apikey— API Key (required)feed— Fetch indicatorsfeedReputation— Indicator ReputationfeedTags— TagsfeedReliability— Source Reliability (required)feedFetchInterval— Feed Fetch IntervalfeedExpirationPolicy—tlp_color— Traffic Light Protocol Colorfirst_fetch— First fetchfeedExpirationInterval—feedBypassExclusionList— Bypass exclusion listinsecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (1)
-
snxfeeds-get-indicatorsRetrieves a limited number of the indicators.
import json from datetime import datetime, timedelta BASE_URL = "http://test.com" API_KEY = "1234" def util_load_json(path): with open(path, encoding="utf-8") as f: return json.loads(f.read()) def test_fetch_indicators(requests_mock): from SecneurXThreatFeeds import Client, fetchThreatFeeds mock_response = util_load_json("test_data/fetch_indicators.json") requests_mock.get(f"{BASE_URL}/getfeeds", json=mock_response) client = Client(base_url=BASE_URL, verify=False, headers={"x-api-key": API_KEY}, proxy=False) indicators = fetchThreatFeeds(client, None) assert len(indicators) == 4 assert indicators[1]["fields"]["indicatoridentification"] == mock_response["objects"][1]["id"] assert indicators[1]["rawJson"]["pattern"] == mock_response["objects"][1]["pattern"] def test_get_list_days(): from SecneurXThreatFeeds import getListOfDays currentDate = datetime.now() startDate = currentDate - timedelta(days=2) endDate = currentDate.date() lastDateList = getListOfDays(currentDate.date(), currentDate.date()) dateList = getListOfDays(startDate.date(), endDate) assert len(lastDateList) == 1 assert len(dateList) == 2 def test_json_parse(): from SecneurXThreatFeeds import parseIndicators mock_response = util_load_json("test_data/fetch_indicators.json") indicatorJson = parseIndicators(mock_response) assert len(indicatorJson) == 4 assert indicatorJson[0]["fields"]["indicatoridentification"] == mock_response["objects"][0]["id"] assert indicatorJson[0]["value"] == mock_response["objects"][0]["name"] def test_module_connection(requests_mock): from SecneurXThreatFeeds import Client, test_module mock_response = util_load_json("test_data/fetch_indicators.json") requests_mock.get(f"{BASE_URL}/getfeeds", json=mock_response) client = Client(base_url=BASE_URL, verify=False, headers={"x-api-key": API_KEY}, proxy=False) msg = test_module(client) assert msg == "ok" def test_module_connection_failure(requests_mock): from SecneurXThreatFeeds import Client, test_module requests_mock.get(f"{BASE_URL}/getfeeds", json=None) client = Client(base_url=BASE_URL, verify=False, headers={"x-api-key": API_KEY}, proxy=False) try: test_module(client) except Exception as e: assert e.message == "Configuration Error" def test_fetch_feed_dates(): from SecneurXThreatFeeds import fetchFeedDates startDate, endDate = fetchFeedDates(None, "2 days") startDate_1, endDate_1 = fetchFeedDates("2022-06-29", None) assert endDate == datetime.now().date() assert endDate_1 == datetime.now().date() def test_create_indicators(requests_mock): from SecneurXThreatFeeds import Client, createIndicatorsInDemisto requests_mock.get(f"{BASE_URL}/getfeeds", json=False) client = Client(base_url=BASE_URL, verify=False, headers={"x-api-key": API_KEY}, proxy=False) dateList = [None] result = createIndicatorsInDemisto(client, dateList, True) assert result is False