assemblyline-core 4.5.1.dev493__tar.gz → 4.5.1.dev495__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.
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/PKG-INFO +1 -1
- assemblyline_core-4.5.1.dev495/assemblyline_core/VERSION +1 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/ingester/ingester.py +32 -16
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core.egg-info/PKG-INFO +1 -1
- assemblyline_core-4.5.1.dev493/assemblyline_core/VERSION +0 -1
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/LICENCE.md +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/README.md +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/__main__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/dispatching/timeout.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/expiry/run_expiry.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/ingester/__main__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/plumber/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/plumber/run_plumber.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/server_base.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/signature_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/submission_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/tasking_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/updater/helper.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/updater/run_updater.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/setup.cfg +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/setup.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_alerter.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_badlist_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_dispatcher.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_expiry.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_plumber.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_replay.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_safelist_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_scaler.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_scheduler.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_signature_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_simulation.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_tasking_client.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_vacuum.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_worker_ingest.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_worker_submit.py +0 -0
- {assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_workflow.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
4.5.1.dev495
|
@@ -18,34 +18,37 @@ from typing import Any, Iterable, List, Optional, Tuple
|
|
18
18
|
|
19
19
|
import elasticapm
|
20
20
|
|
21
|
-
from assemblyline
|
22
|
-
from
|
21
|
+
from assemblyline import odm
|
22
|
+
from assemblyline.common import exceptions, forge, isotime
|
23
23
|
from assemblyline.common.constants import DROP_PRIORITY
|
24
|
-
from assemblyline.common.metrics import MetricsFactory
|
25
|
-
from assemblyline.common.str_utils import dotdump, safe_str
|
26
24
|
from assemblyline.common.exceptions import get_stacktrace_info
|
27
|
-
from assemblyline.common.isotime import now, now_as_iso
|
28
25
|
from assemblyline.common.importing import load_module_by_path
|
29
|
-
from assemblyline.common import
|
26
|
+
from assemblyline.common.isotime import now, now_as_iso
|
27
|
+
from assemblyline.common.metrics import MetricsFactory
|
28
|
+
from assemblyline.common.postprocess import ActionWorker
|
29
|
+
from assemblyline.common.str_utils import dotdump, safe_str
|
30
30
|
from assemblyline.datastore.exceptions import DataStoreException
|
31
31
|
from assemblyline.filestore import CorruptedFileStoreException, FileStoreException
|
32
|
+
from assemblyline.odm.messages.ingest_heartbeat import Metrics
|
33
|
+
from assemblyline.odm.messages.submission import Submission as MessageSubmission
|
34
|
+
from assemblyline.odm.messages.submission import SubmissionMessage
|
35
|
+
from assemblyline.odm.models.alert import EXTENDED_SCAN_VALUES
|
32
36
|
from assemblyline.odm.models.filescore import FileScore
|
37
|
+
from assemblyline.odm.models.submission import Submission as DatabaseSubmission
|
38
|
+
from assemblyline.odm.models.submission import SubmissionParams
|
33
39
|
from assemblyline.odm.models.user import User
|
34
|
-
from assemblyline.
|
35
|
-
from assemblyline.remote.datatypes.
|
36
|
-
from assemblyline.remote.datatypes.queues.priority import PriorityQueue
|
40
|
+
from assemblyline.remote.datatypes.events import EventWatcher
|
41
|
+
from assemblyline.remote.datatypes.hash import Hash
|
37
42
|
from assemblyline.remote.datatypes.queues.comms import CommsQueue
|
38
43
|
from assemblyline.remote.datatypes.queues.multi import MultiQueue
|
39
|
-
from assemblyline.remote.datatypes.
|
44
|
+
from assemblyline.remote.datatypes.queues.named import NamedQueue
|
45
|
+
from assemblyline.remote.datatypes.queues.priority import PriorityQueue
|
40
46
|
from assemblyline.remote.datatypes.user_quota_tracker import UserQuotaTracker
|
41
|
-
from assemblyline import odm
|
42
|
-
from assemblyline.odm.models.submission import SubmissionParams, Submission as DatabaseSubmission
|
43
|
-
from assemblyline.odm.models.alert import EXTENDED_SCAN_VALUES
|
44
|
-
from assemblyline.odm.messages.submission import Submission as MessageSubmission, SubmissionMessage
|
45
|
-
|
46
47
|
from assemblyline_core.dispatching.dispatcher import Dispatcher
|
48
|
+
from assemblyline_core.server_base import ThreadedCoreBase
|
47
49
|
from assemblyline_core.submission_client import SubmissionClient
|
48
|
-
|
50
|
+
|
51
|
+
from .constants import COMPLETE_QUEUE_NAME, INGEST_QUEUE_NAME, drop_chance
|
49
52
|
|
50
53
|
_dup_prefix = 'w-m-'
|
51
54
|
_notification_queue_prefix = 'nq-'
|
@@ -185,6 +188,11 @@ class Ingester(ThreadedCoreBase):
|
|
185
188
|
self.async_submission_tracker = UserQuotaTracker('async_submissions', timeout=24 * 60 * 60, # 1 day timeout
|
186
189
|
redis=self.redis_persist)
|
187
190
|
|
191
|
+
# Watchers
|
192
|
+
self.submission_delete_watcher = EventWatcher(self.redis)
|
193
|
+
self.submission_delete_watcher.register("delete.submission", self.handle_submission_delete)
|
194
|
+
self.submission_delete_watcher.start()
|
195
|
+
|
188
196
|
if self.config.core.metrics.apm_server.server_url is not None:
|
189
197
|
self.log.info(f"Exporting application metrics to: {self.config.core.metrics.apm_server.server_url}")
|
190
198
|
elasticapm.instrument()
|
@@ -399,6 +407,14 @@ class Ingester(ThreadedCoreBase):
|
|
399
407
|
if self.apm_client:
|
400
408
|
self.apm_client.end_transaction('ingest_submit', 'exception')
|
401
409
|
|
410
|
+
def handle_submission_delete(self, sid: Optional[str]):
|
411
|
+
if not sid:
|
412
|
+
return
|
413
|
+
|
414
|
+
# Upon submission deletion, ensure to cleanup the local cache of filescores relative to the SID
|
415
|
+
with self.cache_lock:
|
416
|
+
self.cache = {k: v for k, v in self.cache.items() if v.sid != sid}
|
417
|
+
|
402
418
|
def handle_complete(self):
|
403
419
|
while self.running:
|
404
420
|
result = self.complete_queue.pop(timeout=3)
|
@@ -1 +0,0 @@
|
|
1
|
-
4.5.1.dev493
|
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/__init__.py
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
|
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
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/replay/replay.py
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
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/server_base.py
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
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/assemblyline_core/vacuum/worker.py
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
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_badlist_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_safelist_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_signature_client.py
RENAMED
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_tasking_client.py
RENAMED
File without changes
|
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_worker_ingest.py
RENAMED
File without changes
|
{assemblyline_core-4.5.1.dev493 → assemblyline_core-4.5.1.dev495}/test/test_worker_submit.py
RENAMED
File without changes
|
File without changes
|