assemblyline-core 4.5.0.38__tar.gz → 4.5.0.40__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of assemblyline-core might be problematic. Click here for more details.
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/PKG-INFO +1 -1
- assemblyline-core-4.5.0.40/assemblyline_core/VERSION +1 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/dispatcher.py +23 -4
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/schedules.py +1 -1
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/creator/run_worker.py +6 -4
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/loader/run.py +3 -1
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/loader/run_worker.py +9 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/PKG-INFO +1 -1
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_dispatcher.py +3 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_replay.py +2 -2
- assemblyline-core-4.5.0.38/assemblyline_core/VERSION +0 -1
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/LICENCE.md +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/README.md +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/__main__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/timeout.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/expiry/run_expiry.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/__main__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/ingester.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/plumber/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/plumber/run_plumber.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/server_base.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/signature_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/submission_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/tasking_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/helper.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/run_updater.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/setup.cfg +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/setup.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_alerter.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_badlist_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_expiry.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_plumber.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_safelist_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_scaler.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_scheduler.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_signature_client.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_simulation.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_vacuum.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_worker_ingest.py +0 -0
- {assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/test/test_worker_submit.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.5.0.40
|
|
@@ -60,9 +60,11 @@ AL_SHUTDOWN_QUIT = 60
|
|
|
60
60
|
FINALIZING_WINDOW = max(AL_SHUTDOWN_GRACE - AL_SHUTDOWN_QUIT, 0)
|
|
61
61
|
RESULT_BATCH_SIZE = int(os.environ.get('DISPATCHER_RESULT_BATCH_SIZE', '50'))
|
|
62
62
|
ERROR_BATCH_SIZE = int(os.environ.get('DISPATCHER_ERROR_BATCH_SIZE', '50'))
|
|
63
|
-
DYNAMIC_ANALYSIS_CATEGORY = 'Dynamic Analysis'
|
|
64
63
|
DAY_IN_SECONDS = 24 * 60 * 60
|
|
65
64
|
|
|
65
|
+
# TODO: DYNAMIC_ANALYSIS_CATEGORY can be removed after assemblyline version 4.6+
|
|
66
|
+
DYNAMIC_ANALYSIS_CATEGORY = 'Dynamic Analysis'
|
|
67
|
+
|
|
66
68
|
|
|
67
69
|
class Action(enum.IntEnum):
|
|
68
70
|
start = 0
|
|
@@ -165,9 +167,16 @@ class SubmissionTask:
|
|
|
165
167
|
service = scheduler.services.get(service)
|
|
166
168
|
if not service:
|
|
167
169
|
continue
|
|
170
|
+
|
|
171
|
+
# TODO: the following 2 lines can be removed when assemblyline changed to version 4.6+
|
|
168
172
|
if service.category == DYNAMIC_ANALYSIS_CATEGORY:
|
|
169
173
|
self.forbid_for_children(sha256, service.name)
|
|
170
174
|
|
|
175
|
+
prevented_services = scheduler.expand_categories(service.recursion_prevention)
|
|
176
|
+
|
|
177
|
+
for service_name in prevented_services:
|
|
178
|
+
self.forbid_for_children(sha256, service_name)
|
|
179
|
+
|
|
171
180
|
# Replay the process of receiving results for dispatcher internal state
|
|
172
181
|
for k, result in results.items():
|
|
173
182
|
sha256, service, _ = k.split('.', 2)
|
|
@@ -204,6 +213,7 @@ class SubmissionTask:
|
|
|
204
213
|
except KeyError:
|
|
205
214
|
self._forbidden_services[sha256] = {service_name}
|
|
206
215
|
|
|
216
|
+
|
|
207
217
|
def register_children(self, parent: str, children: list[str]):
|
|
208
218
|
"""
|
|
209
219
|
Note for the purposes of dynamic recursion prevention which
|
|
@@ -658,7 +668,8 @@ class Dispatcher(ThreadedCoreBase):
|
|
|
658
668
|
|
|
659
669
|
# If Dynamic Recursion Prevention is in effect and the file is not part of the bypass list,
|
|
660
670
|
# Find the list of services this file is forbidden from being sent to.
|
|
661
|
-
|
|
671
|
+
# TODO: remove "or submission.params.ignore_dynamic_recursion_prevention" after assemblyline upgrade to version 4.6+
|
|
672
|
+
ignore_drp = submission.params.ignore_recursion_prevention or submission.params.ignore_dynamic_recursion_prevention
|
|
662
673
|
if not ignore_drp and sha256 not in task.dynamic_recursion_bypass:
|
|
663
674
|
forbidden_services = task.find_recursion_excluded_services(sha256)
|
|
664
675
|
|
|
@@ -753,10 +764,17 @@ class Dispatcher(ThreadedCoreBase):
|
|
|
753
764
|
if service.uses_tag_scores:
|
|
754
765
|
tag_fields.append('score')
|
|
755
766
|
|
|
756
|
-
# Mark this routing for the purposes of
|
|
767
|
+
# Mark this routing for the purposes of recursion prevention
|
|
768
|
+
# TODO: The following 2 lines can be removed after assemblyline upgrade to version 4.6+
|
|
757
769
|
if service.category == DYNAMIC_ANALYSIS_CATEGORY:
|
|
758
770
|
task.forbid_for_children(sha256, service_name)
|
|
759
771
|
|
|
772
|
+
prevented_services = self.scheduler.expand_categories(service.recursion_prevention)
|
|
773
|
+
|
|
774
|
+
for service_name in prevented_services:
|
|
775
|
+
task.forbid_for_children(sha256, service_name)
|
|
776
|
+
|
|
777
|
+
|
|
760
778
|
# Build the actual service dispatch message
|
|
761
779
|
config = self.build_service_config(service, submission)
|
|
762
780
|
service_task = ServiceTask(dict(
|
|
@@ -771,7 +789,8 @@ class Dispatcher(ThreadedCoreBase):
|
|
|
771
789
|
max_files=task.submission.params.max_extracted,
|
|
772
790
|
ttl=submission.params.ttl,
|
|
773
791
|
ignore_cache=submission.params.ignore_cache,
|
|
774
|
-
|
|
792
|
+
# TODO: remove "or submission.params.ignore_dynamic_recursion_prevention" after assemblyline upgrade to version 4.6+
|
|
793
|
+
ignore_recursion_prevention=submission.params.ignore_recursion_prevention or submission.params.ignore_dynamic_recursion_prevention ,
|
|
775
794
|
ignore_filtering=ignore_filtering,
|
|
776
795
|
tags=[{field: x[field] for field in tag_fields} for x in tags],
|
|
777
796
|
temporary_submission_data=[
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/schedules.py
RENAMED
|
@@ -112,7 +112,7 @@ class Scheduler:
|
|
|
112
112
|
# things that we need to evaluate, and mark this
|
|
113
113
|
# group as having been seen.
|
|
114
114
|
services.extend(categories[name])
|
|
115
|
-
seen_categories.
|
|
115
|
+
seen_categories.add(name)
|
|
116
116
|
continue
|
|
117
117
|
|
|
118
118
|
# If it isn't a category, its a service
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
3
|
|
|
4
|
+
from cart import pack_stream
|
|
5
|
+
from io import BytesIO
|
|
6
|
+
|
|
4
7
|
from assemblyline.filestore import FileStore
|
|
5
8
|
from assemblyline.common.isotime import now_as_iso
|
|
6
9
|
from assemblyline_core.replay.client import APIClient, DirectClient
|
|
@@ -107,11 +110,10 @@ class ReplayCreatorWorker(ReplayBase):
|
|
|
107
110
|
os.makedirs(self.replay_config.creator.working_directory, exist_ok=True)
|
|
108
111
|
|
|
109
112
|
# Create the JSON
|
|
110
|
-
json_fn = f"{collection}_{now_as_iso()}.al_json"
|
|
111
|
-
json_path = os.path.join(self.replay_config.creator.working_directory, json_fn)
|
|
112
|
-
with open(json_path, "w") as fp:
|
|
113
|
-
json.dump(batch, fp)
|
|
113
|
+
json_fn = f"{collection}_{now_as_iso()}.al_json.cart"
|
|
114
114
|
json_path = os.path.join(self.replay_config.creator.working_directory, json_fn)
|
|
115
|
+
with open(json_path, "wb") as fp:
|
|
116
|
+
pack_stream(BytesIO(json.dumps(batch).encode()), fp)
|
|
115
117
|
|
|
116
118
|
# Move the JSON
|
|
117
119
|
self.filestore.upload(json_path, json_fn)
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/loader/run.py
RENAMED
|
@@ -50,7 +50,9 @@ class ReplayLoader(ReplayBase):
|
|
|
50
50
|
for root, _, files in os.walk(self.replay_config.loader.input_directory, topdown=False):
|
|
51
51
|
for name in files:
|
|
52
52
|
# Unexpected files that could be the result of external transfer mechanisms
|
|
53
|
-
if name.startswith('.') or not (name.endswith('.al_bundle') or
|
|
53
|
+
if name.startswith('.') or not (name.endswith('.al_bundle') or \
|
|
54
|
+
name.endswith('.al_json') or \
|
|
55
|
+
name.endswith('.al_json.cart')):
|
|
54
56
|
continue
|
|
55
57
|
|
|
56
58
|
file_path = os.path.join(root, name)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import shutil
|
|
2
2
|
import os
|
|
3
3
|
|
|
4
|
+
from cart import unpack_file
|
|
5
|
+
|
|
4
6
|
from assemblyline_core.replay.client import APIClient, DirectClient
|
|
5
7
|
from assemblyline_core.replay.replay import ReplayBase
|
|
6
8
|
|
|
@@ -34,6 +36,13 @@ class ReplayLoaderWorker(ReplayBase):
|
|
|
34
36
|
elif file_path.endswith(".al_json"):
|
|
35
37
|
self.client.load_json(file_path)
|
|
36
38
|
|
|
39
|
+
elif file_path.endswith(".al_json.cart"):
|
|
40
|
+
cart_path = file_path
|
|
41
|
+
file_path = file_path[:-5]
|
|
42
|
+
unpack_file(cart_path, file_path)
|
|
43
|
+
self.client.load_json(file_path)
|
|
44
|
+
os.unlink(cart_path)
|
|
45
|
+
|
|
37
46
|
if os.path.exists(file_path):
|
|
38
47
|
os.unlink(file_path)
|
|
39
48
|
except OSError as e:
|
|
@@ -310,7 +310,10 @@ def test_dispatch_extracted_bypass_drp(clean_redis, clean_datastore):
|
|
|
310
310
|
# Inject the fake submission
|
|
311
311
|
submission = random_model_obj(Submission)
|
|
312
312
|
submission.to_be_deleted = False
|
|
313
|
+
|
|
314
|
+
# the following 1 line can be removed after assemblyline upgrade to version 4.6+
|
|
313
315
|
submission.params.ignore_dynamic_recursion_prevention = False
|
|
316
|
+
submission.params.ignore_recursion_prevention = False
|
|
314
317
|
submission.params.services.selected = ['extract', 'sandbox']
|
|
315
318
|
submission.files = [dict(name='./file', sha256=file_hash)]
|
|
316
319
|
sid = submission.sid = 'first-submission'
|
|
@@ -251,8 +251,8 @@ def test_replay_single_data_collection(datastore, creator, creator_worker, loade
|
|
|
251
251
|
getattr(creator_worker, f'process_{collection}')(once=True)
|
|
252
252
|
assert creator_worker.client.queues[collection].length() == 0
|
|
253
253
|
filename = os.path.join(output_dir,
|
|
254
|
-
([f for f in os.listdir(output_dir) if f.startswith(
|
|
255
|
-
|
|
254
|
+
([f for f in os.listdir(output_dir) if f.startswith(collection) \
|
|
255
|
+
and f.endswith('.al_json.cart')] + ["not_found"])[0])
|
|
256
256
|
assert os.path.exists(filename)
|
|
257
257
|
|
|
258
258
|
# Delete the item to test the loading process
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.0.38
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/processing.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/alerter/run_alerter.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/archiver/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/archiver/run_archiver.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/badlist_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/__main__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/dispatching/timeout.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/expiry/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/expiry/run_expiry.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/__main__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/constants.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/ingester/ingester.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/es_metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/metrics/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/plumber/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/plumber/run_plumber.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/creator/run.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/replay/replay.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/safelist_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/collection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/run_scaler.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/scaler/scaler_server.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/signature_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/submission_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/tasking_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/helper.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/updater/run_updater.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/crawler.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/department_map.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/safelist.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/stream_map.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/vacuum/worker.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/workflow/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core/workflow/run_workflow.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/requires.txt
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.38 → assemblyline-core-4.5.0.40}/assemblyline_core.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|