diff --git a/bbot/modules/otx.py b/bbot/modules/otx.py index f0075bfc1c..e20ad1a655 100644 --- a/bbot/modules/otx.py +++ b/bbot/modules/otx.py @@ -1,7 +1,7 @@ -from bbot.modules.templates.subdomain_enum import subdomain_enum +from bbot.modules.templates.subdomain_enum import subdomain_enum_apikey -class otx(subdomain_enum): +class otx(subdomain_enum_apikey): flags = ["subdomain-enum", "passive", "safe"] watched_events = ["DNS_NAME"] produced_events = ["DNS_NAME"] @@ -9,10 +9,17 @@ class otx(subdomain_enum): "description": "Query otx.alienvault.com for subdomains", "created_date": "2022-08-24", "author": "@TheTechromancer", + "auth_required": True, } + options = {"api_key": ""} + options_desc = {"api_key": "OTX API key"} base_url = "https://otx.alienvault.com" + def prepare_api_request(self, url, kwargs): + kwargs["headers"]["X-OTX-API-KEY"] = self.api_key + return url, kwargs + def request_url(self, query): url = f"{self.base_url}/api/v1/indicators/domain/{self.helpers.quote(query)}/passive_dns" return self.api_request(url) diff --git a/bbot/test/test_step_2/module_tests/test_module_otx.py b/bbot/test/test_step_2/module_tests/test_module_otx.py index 9c533ca96e..9ce6a1a0db 100644 --- a/bbot/test/test_step_2/module_tests/test_module_otx.py +++ b/bbot/test/test_step_2/module_tests/test_module_otx.py @@ -2,6 +2,8 @@ class TestOTX(ModuleTestBase): + config_overrides = {"modules": {"otx": {"api_key": "test"}}} + async def setup_after_prep(self, module_test): module_test.httpx_mock.add_response( url="https://otx.alienvault.com/api/v1/indicators/domain/blacklanternsecurity.com/passive_dns", @@ -21,6 +23,7 @@ async def setup_after_prep(self, module_test): } ] }, + headers={"X-OTX-API-KEY": "test"}, ) def check(self, module_test, events):