diff --git a/src/__init__.py b/src/__init__.py index d96bb8d..e34aa65 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,2 +1,2 @@ -import core -import modules \ No newline at end of file +from . import core +from . import modules diff --git a/src/core/__init__.py b/src/core/__init__.py index d516ffa..48f5bcf 100644 --- a/src/core/__init__.py +++ b/src/core/__init__.py @@ -1,2 +1,2 @@ -import types -import events \ No newline at end of file +from . import types +from . import events diff --git a/src/core/events/__init__.py b/src/core/events/__init__.py index 1dbbdff..5f76db6 100644 --- a/src/core/events/__init__.py +++ b/src/core/events/__init__.py @@ -1,2 +1,2 @@ -from handler import * -import types \ No newline at end of file +from .handler import * +from . import types diff --git a/src/core/events/handler.py b/src/core/events/handler.py index 652a257..0ca0e72 100644 --- a/src/core/events/handler.py +++ b/src/core/events/handler.py @@ -2,7 +2,7 @@ import logging import time from abc import ABCMeta from collections import defaultdict -from Queue import Queue +from queue import Queue from threading import Lock, Thread from __main__ import config diff --git a/src/core/events/types/__init__.py b/src/core/events/types/__init__.py index 7be8215..004dbd3 100644 --- a/src/core/events/types/__init__.py +++ b/src/core/events/types/__init__.py @@ -1,10 +1,10 @@ from os.path import dirname, basename, isfile import glob -from common import * +from .common import * # dynamically importing all modules in folder files = glob.glob(dirname(__file__)+"/*.py") for module_name in (basename(f)[:-3] for f in files if isfile(f) and not f.endswith('__init__.py')): if module_name != "handler": - exec('from {} import *'.format(module_name)) \ No newline at end of file + exec('from .{} import *'.format(module_name)) diff --git a/src/core/types.py b/src/core/types.py index 0e13e64..85e16f1 100644 --- a/src/core/types.py +++ b/src/core/types.py @@ -51,4 +51,4 @@ class PrivilegeEscalation(KubernetesCluster): class DenialOfService(object): name = "Denial of Service" -from events import handler # import is in the bottom to break import loops \ No newline at end of file +from .events import handler # import is in the bottom to break import loops diff --git a/src/modules/__init__.py b/src/modules/__init__.py index a35d22b..9586599 100644 --- a/src/modules/__init__.py +++ b/src/modules/__init__.py @@ -1,3 +1,3 @@ -import report -import discovery -import hunting \ No newline at end of file +from . import report +from . import discovery +from . import hunting diff --git a/src/modules/discovery/__init__.py b/src/modules/discovery/__init__.py index e1e1462..3a5ad78 100644 --- a/src/modules/discovery/__init__.py +++ b/src/modules/discovery/__init__.py @@ -4,4 +4,5 @@ import glob # dynamically importing all modules in folder files = glob.glob(dirname(__file__)+"/*.py") for module_name in (basename(f)[:-3] for f in files if isfile(f) and not f.endswith('__init__.py')): - exec('from {} import *'.format(module_name)) \ No newline at end of file + if not module_name.startswith('test_'): + exec('from .{} import *'.format(module_name)) diff --git a/src/modules/hunting/__init__.py b/src/modules/hunting/__init__.py index e1e1462..6c5952c 100644 --- a/src/modules/hunting/__init__.py +++ b/src/modules/hunting/__init__.py @@ -4,4 +4,4 @@ import glob # dynamically importing all modules in folder files = glob.glob(dirname(__file__)+"/*.py") for module_name in (basename(f)[:-3] for f in files if isfile(f) and not f.endswith('__init__.py')): - exec('from {} import *'.format(module_name)) \ No newline at end of file + exec('from .{} import *'.format(module_name)) diff --git a/src/modules/hunting/aks.py b/src/modules/hunting/aks.py index 6090295..527a2eb 100644 --- a/src/modules/hunting/aks.py +++ b/src/modules/hunting/aks.py @@ -3,7 +3,7 @@ import logging import requests -from kubelet import ExposedRunHandler +from .kubelet import ExposedRunHandler from ...core.events import handler from ...core.events.types import Event, Vulnerability diff --git a/src/modules/report/__init__.py b/src/modules/report/__init__.py index e1e1462..6c5952c 100644 --- a/src/modules/report/__init__.py +++ b/src/modules/report/__init__.py @@ -4,4 +4,4 @@ import glob # dynamically importing all modules in folder files = glob.glob(dirname(__file__)+"/*.py") for module_name in (basename(f)[:-3] for f in files if isfile(f) and not f.endswith('__init__.py')): - exec('from {} import *'.format(module_name)) \ No newline at end of file + exec('from .{} import *'.format(module_name)) diff --git a/src/modules/report/base.py b/src/modules/report/base.py index b8986a0..36dda55 100644 --- a/src/modules/report/base.py +++ b/src/modules/report/base.py @@ -1,4 +1,4 @@ -from collector import services, vulnerabilities, services_lock, vulnerabilities_lock +from .collector import services, vulnerabilities, services_lock, vulnerabilities_lock class BaseReporter(object): def get_nodes(self): diff --git a/src/modules/report/json_reporter.py b/src/modules/report/json_reporter.py index 356d7c9..0917188 100644 --- a/src/modules/report/json_reporter.py +++ b/src/modules/report/json_reporter.py @@ -1,5 +1,5 @@ import json -from base import BaseReporter +from .base import BaseReporter class JSONReporter(BaseReporter): def get_report(self): diff --git a/src/modules/report/plain.py b/src/modules/report/plain.py index 4171f33..282035a 100644 --- a/src/modules/report/plain.py +++ b/src/modules/report/plain.py @@ -3,7 +3,7 @@ from __future__ import print_function from prettytable import ALL, PrettyTable from __main__ import config -from collector import services, vulnerabilities, services_lock, vulnerabilities_lock +from .collector import services, vulnerabilities, services_lock, vulnerabilities_lock EVIDENCE_PREVIEW = 40 MAX_TABLE_WIDTH = 20 diff --git a/src/modules/report/yaml.py b/src/modules/report/yaml.py index 2060fed..07abd94 100644 --- a/src/modules/report/yaml.py +++ b/src/modules/report/yaml.py @@ -1,7 +1,6 @@ -import StringIO - +from io import StringIO from ruamel.yaml import YAML -from base import BaseReporter +from .base import BaseReporter class YAMLReporter(BaseReporter): def get_report(self): @@ -13,4 +12,4 @@ class YAMLReporter(BaseReporter): } output = StringIO.StringIO() yaml.dump(report, output) - return output.getvalue() \ No newline at end of file + return output.getvalue() diff --git a/tests/discovery/test_hosts.py b/tests/discovery/test_hosts.py index 57b3ad4..d136ef9 100644 --- a/tests/discovery/test_hosts.py +++ b/tests/discovery/test_hosts.py @@ -1,6 +1,6 @@ import requests_mock import time -from Queue import Empty +from queue import Empty from src.modules.discovery.hosts import FromPodHostDiscovery, RunningAsPodEvent, HostScanEvent, AzureMetadataApi from src.core.events.types import Event, NewHostEvent @@ -59,4 +59,4 @@ class testHostDiscoveryEvent(object): @handler.subscribe(AzureMetadataApi) class testAzureMetadataApi(object): def __init__(self, event): - assert config.azure \ No newline at end of file + assert config.azure