Skip to content

Commit cc2f015

Browse files
committed
Adding proxies and verify parameters to the attack_api.py constructor to programatically define proxy information. These params will be passed to the TAXII client.
1 parent 80abb22 commit cc2f015

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

attackcti/attack_api.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ class attack_client(object):
4040
TC_ICS_SOURCE = None
4141
COMPOSITE_DS = None
4242

43-
def __init__(self, local_path=None, include_pre_attack=False):
43+
def __init__(self, local_path=None, include_pre_attack=False, proxies=None, verify=True):
44+
"""
45+
Args:
46+
proxies - See https://requests.readthedocs.io/en/latest/user/advanced/#proxies
47+
verify - See https://requests.readthedocs.io/en/latest/user/advanced/#ssl-cert-verification
48+
"""
49+
4450
if local_path is not None and os.path.isdir(os.path.join(local_path, ENTERPRISE_ATTACK_LOCAL_DIR)) \
4551
and os.path.isdir(os.path.join(local_path, PRE_ATTACK_LOCAL_DIR)) \
4652
and os.path.isdir(os.path.join(local_path, MOBILE_ATTACK_LOCAL_DIR)) \
@@ -50,10 +56,10 @@ def __init__(self, local_path=None, include_pre_attack=False):
5056
self.TC_MOBILE_SOURCE = FileSystemSource(os.path.join(local_path, MOBILE_ATTACK_LOCAL_DIR))
5157
self.TC_ICS_SOURCE = FileSystemSource(os.path.join(local_path, ICS_ATTACK_LOCAL_DIR))
5258
else:
53-
ENTERPRISE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + ENTERPRISE_ATTACK + "/")
54-
PRE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + PRE_ATTACK + "/")
55-
MOBILE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + MOBILE_ATTACK + "/")
56-
ICS_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + ICS_ATTACK + "/")
59+
ENTERPRISE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + ENTERPRISE_ATTACK + "/", verify=verify, proxies=proxies)
60+
PRE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + PRE_ATTACK + "/", verify=verify, proxies=proxies)
61+
MOBILE_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + MOBILE_ATTACK + "/", verify=verify, proxies=proxies)
62+
ICS_COLLECTION = Collection(ATTACK_STIX_COLLECTIONS + ICS_ATTACK + "/", verify=verify, proxies=proxies)
5763

5864
self.TC_ENTERPRISE_SOURCE = TAXIICollectionSource(ENTERPRISE_COLLECTION)
5965
self.TC_PRE_SOURCE = TAXIICollectionSource(PRE_COLLECTION)
@@ -2028,3 +2034,4 @@ def enrich_techniques_data_sources(self, stix_object):
20282034
new_data_sources = [ v for v in technique_ds.values()]
20292035
stix_object[i] = stix_object[i].new_version(x_mitre_data_sources = new_data_sources)
20302036
return stix_object
2037+

0 commit comments

Comments
 (0)