Skip to content

Commit

Permalink
xsoar: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
naisanzaa committed Jun 22, 2024
1 parent 59b606d commit 731c3ae
Show file tree
Hide file tree
Showing 8 changed files with 75 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Github issues and feature requests welcomed.
| Logging | sentryio |
| MacOS | airport<br/>macchanger<br/>wdutil |
| Python | logging<br/>requests |
| SOAR | swimlane<br/>splunk soar |
| SOAR | swimlane<br/>splunk soar<br/>xsoar |
| Recon | nmap |
| Test Automation | selenium |

Expand Down
2 changes: 2 additions & 0 deletions automon/integrations/xsoar/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from .client import XSOARClient
from .config import XSOARConfig
16 changes: 16 additions & 0 deletions automon/integrations/xsoar/client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from .config import XSOARConfig


class XSOARClient(object):
"""XSOAR REST API client
referenc: https://cortex-panw.stoplight.io/docs/cortex-xsoar-8/kjn2q21a7yrbm-get-started-with-cortex-xsoar-8-ap-is
"""

def __init__(self, host: str = None, token: str = None, config: XSOARConfig = None):
self.config = config or XSOARConfig(host=host, token=token)

def is_ready(self):
if self.config.is_ready():
return True
return False
21 changes: 21 additions & 0 deletions automon/integrations/xsoar/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from automon import environ


class XSOARConfig(object):
"""XSOAR REST API client config"""

def __init__(self, host: str = None, api_key: str = None, api_key_id: str = None):
self.host = host or environ('XSOAR_FQDN')
self.api_key = api_key or environ('XSOAR_API_KEY')
self.api_key_id = api_key_id or environ('XSOAR_API_KEY_ID')

def is_ready(self) -> bool:
if self.host and self.api_key and self.api_key_id:
return True
return False

def headers(self):
return {
'': f'Authorization:{self.api_key}',
'': f'x-xdr-auth-id:{self.api_key_id}'
}
Empty file.
15 changes: 15 additions & 0 deletions automon/integrations/xsoar/tests/test_client_auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest

from automon.integrations.xsoar import XSOARClient


class MyTestCase(unittest.TestCase):
test = XSOARClient()

if test.is_ready():
def test_auth(self):
self.assertTrue(self.test.is_ready())


if __name__ == '__main__':
unittest.main()
15 changes: 15 additions & 0 deletions automon/integrations/xsoar/tests/test_config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest

from automon.integrations.xsoar import XSOARConfig


class MyTestCase(unittest.TestCase):
test = XSOARConfig()

if test.is_ready():
def test_config(self):
self.assertTrue(self.test.is_ready())


if __name__ == '__main__':
unittest.main()
5 changes: 5 additions & 0 deletions env-example.sh
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,8 @@ VDS_PASSWORD=

# Wdutil
WDUTIL_PASSWORD=

# XSOAR
XSOAR_FQDN=
XSOAR_API_KEY=
XSOAR_API_KEY_ID=

0 comments on commit 731c3ae

Please sign in to comment.