AutoFocusTagsFeed Deprecated

Deprecated. Use Unit 42 Intel Objects Feed instead. Use the AutoFocus Tags Feed integration to fetch indicators from AutoFocus Tags.

Data Enrichment & Threat Intelligence · AutoFocus by Palo Alto Networks · Feed

Details

IDAutoFocusTagsFeed
ProviderPalo Alto Networks
CategoryData Enrichment & Threat Intelligence
From Version6.5.0
Docker Imagedemisto/python3:3.10.10.49934
Supported ModulesAgentix Cortex Cloud Cloud Runtime Security Cloud Posture Security XSIAM EDR

README

Configure AutoFocus Tags Feed in Cortex

Parameter Description Required
API Key Account’s private token. False
AutoFocus Endpoint URL The AutoFocus endpoint URL. False
Fetch indicators   False
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 The 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
Create Relationships Create relationships between indicators as part of Enrichment. False
Trust any certificate (not secure) Whether to trust any certificate (not secure). False
Use system proxy settings   False
Tags Supports CSV values. 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.

autofocus-tags-feed-get-indicators


Gets indicators from the feed.

Base Command

autofocus-tags-feed-get-indicators

Input

Argument Name Description Required
limit The maximum number of results to return. Should be 50 or less. Default is 10. Optional

Context Output

There is no context output for this command.

Command Example

!autofocus-tags-feed-get-indicators limit=10

Human Readable Output

Value Type Fields
DarkHotel Threat Actor publications: {‘link’: ‘https://securelist.com/the-darkhotel-apt/66779/’, ‘title’: ‘The DarkHotel APT’, ‘source’: ‘Kaspersky’, ‘timestamp’: ‘2018-08-20T15:25:31’},aliases: ParasiticBeast, description: The DarkHotel attackers were most infamously behind a series of attacks between 2008 and 2014 against organizations located primarily in Japan, Taiwan, China, Russia and South Korea. This campaign infiltrated multiple hotel networks and used them as a jumping-off point to infect hotel guests., lastseenbysource: 2021-05-03T01:55:18Z, updateddate: 2019-08-28T08:56:30Z ,reportedby: Unit 42

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 13 hours.

Configuration parameters

  • url — AutoFocus Endpoint URL (required)
  • api_key
  • feed — Fetch indicators
  • feedIncremental — Incremental Feed
  • feedReputation — Indicator Reputation
  • feedReliability — Source Reliability (required)
  • tlp_color — Traffic Light Protocol Color
  • feedFetchInterval — Feed Fetch Interval
  • feedBypassExclusionList — Bypass exclusion list
  • feedExpirationPolicy
  • feedExpirationInterval
  • feedTags — Tags
  • create_relationships — Create relationships
  • insecure — Trust any certificate (not secure)
  • proxy — Use system proxy settings

Commands (1)

  • autofocus-tags-feed-get-indicators

    Gets indicators from the feed.

"""
"""

from AutoFocusTagsFeed import Client, fetch_indicators_command, incremental_level_fetch
import json
import io


def util_load_json(path):
    with io.open(path, mode='r', encoding='utf-8') as f:
        return json.loads(f.read())


def test_build_iterator(mocker):
    """
    Given:
        - Output of the feed API
    When:
        - When calling fetch_indicators or get_indicators
    Then:
        - Returns a list of the indicators parsed from the API's response
    """

    client = Client(api_key='1234', base_url='url', verify=False, proxy=False)
    mocker.patch.object(client, 'get_tags', return_value=util_load_json('test_data/all_tags_result.json'))
    mocker.patch.object(client, 'get_tag_details', return_value={'tag': []})
    indicators = client.build_iterator(is_get_command=True)
    assert len(indicators) == 2


def test_fetch_indicators(mocker):
    """
    Given:
        - Output of the feed API as list
    When:
        - Fetching indicators from the API
    Then:
        - Create indicator objects list
    """

    client = Client(api_key='1234', base_url='url', verify=False, proxy=False)
    mocker.patch.object(client, 'build_iterator', return_value=util_load_json('test_data/build_iterator_results.json'))
    actual_results = fetch_indicators_command(client, params={'tlp_color': 'RED'})[0]
    expected_results = util_load_json('test_data/fetch_indicators_results.json')[0]
    assert actual_results["type"] == expected_results["type"]
    assert actual_results["value"] == expected_results["value"]
    assert actual_results["fields"] == expected_results["fields"]


def test_incremental_level_fetch(mocker):
    context = {'tags_need_to_be_fetched': [], 'time_of_first_fetch': 133033333}
    client = Client(api_key='1234', base_url='url', verify=False, proxy=False)
    mocker.patch('AutoFocusTagsFeed.get_integration_context', return_value=context)
    mocker.patch('AutoFocusTagsFeed.get_all_updated_tags_since_last_fetch', return_value=[{'publictag_name': 'Mock.mocktag1'}])
    mocker.patch.object(client, 'get_tag_details', return_value=util_load_json('test_data/tag_details_result.json'))
    actual_result = incremental_level_fetch(client)
    assert actual_result == [util_load_json('test_data/tag_details_result.json')]


def test_user_secrets():
    from AutoFocusTagsFeed import LOG
    client = Client(api_key='%%This_is_API_key%%', base_url='url', verify=False, proxy=False)
    res = LOG(client.headers)
    assert "%%This_is_API_key%%" not in res