assemblyline-core 4.5.1.dev240__tar.gz → 4.5.1.dev244__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.

Files changed (88) hide show
  1. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev244/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/dispatcher.py +1 -1
  4. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/schedules.py +1 -1
  5. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/worker.py +6 -1
  6. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core.egg-info/PKG-INFO +1 -1
  7. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_vacuum.py +12 -1
  8. assemblyline-core-4.5.1.dev240/assemblyline_core/VERSION +0 -1
  9. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/LICENCE.md +0 -0
  10. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/README.md +0 -0
  11. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/__init__.py +0 -0
  12. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/alerter/__init__.py +0 -0
  13. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/alerter/processing.py +0 -0
  14. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/alerter/run_alerter.py +0 -0
  15. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/archiver/__init__.py +0 -0
  16. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/archiver/run_archiver.py +0 -0
  17. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/badlist_client.py +0 -0
  18. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/__init__.py +0 -0
  19. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/__main__.py +0 -0
  20. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/client.py +0 -0
  21. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/dispatching/timeout.py +0 -0
  22. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/expiry/__init__.py +0 -0
  23. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/expiry/run_expiry.py +0 -0
  24. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/ingester/__init__.py +0 -0
  25. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/ingester/__main__.py +0 -0
  26. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/ingester/constants.py +0 -0
  27. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/ingester/ingester.py +0 -0
  28. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/__init__.py +0 -0
  29. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/es_metrics.py +0 -0
  30. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  31. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/helper.py +0 -0
  32. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/metrics_server.py +0 -0
  33. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  34. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  35. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  36. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/plumber/__init__.py +0 -0
  37. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/plumber/run_plumber.py +0 -0
  38. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/__init__.py +0 -0
  39. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/client.py +0 -0
  40. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/creator/__init__.py +0 -0
  41. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/creator/run.py +0 -0
  42. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/creator/run_worker.py +0 -0
  43. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/loader/__init__.py +0 -0
  44. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/loader/run.py +0 -0
  45. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/loader/run_worker.py +0 -0
  46. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/replay/replay.py +0 -0
  47. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/safelist_client.py +0 -0
  48. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/__init__.py +0 -0
  49. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/collection.py +0 -0
  50. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  51. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  52. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/controllers/interface.py +0 -0
  53. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  54. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/run_scaler.py +0 -0
  55. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/scaler/scaler_server.py +0 -0
  56. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/server_base.py +0 -0
  57. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/signature_client.py +0 -0
  58. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/submission_client.py +0 -0
  59. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/tasking_client.py +0 -0
  60. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/updater/__init__.py +0 -0
  61. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/updater/helper.py +0 -0
  62. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/updater/run_updater.py +0 -0
  63. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/__init__.py +0 -0
  64. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/crawler.py +0 -0
  65. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/department_map.py +0 -0
  66. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/safelist.py +0 -0
  67. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/vacuum/stream_map.py +0 -0
  68. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/workflow/__init__.py +0 -0
  69. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core/workflow/run_workflow.py +0 -0
  70. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  71. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  72. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core.egg-info/requires.txt +0 -0
  73. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/assemblyline_core.egg-info/top_level.txt +0 -0
  74. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/setup.cfg +0 -0
  75. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/setup.py +0 -0
  76. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_alerter.py +0 -0
  77. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_badlist_client.py +0 -0
  78. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_dispatcher.py +0 -0
  79. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_expiry.py +0 -0
  80. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_plumber.py +0 -0
  81. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_replay.py +0 -0
  82. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_safelist_client.py +0 -0
  83. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_scaler.py +0 -0
  84. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_scheduler.py +0 -0
  85. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_signature_client.py +0 -0
  86. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_simulation.py +0 -0
  87. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev240 → assemblyline-core-4.5.1.dev244}/test/test_worker_submit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev240
3
+ Version: 4.5.1.dev244
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.5.1.dev244
@@ -61,7 +61,7 @@ RESULT_BATCH_SIZE = int(os.environ.get('DISPATCHER_RESULT_BATCH_SIZE', '50'))
61
61
  ERROR_BATCH_SIZE = int(os.environ.get('DISPATCHER_ERROR_BATCH_SIZE', '50'))
62
62
  DAY_IN_SECONDS = 24 * 60 * 60
63
63
 
64
- # TODO: DYNAMIC_ANALYSIS_CATEGORY can be removed after assemblyline version
64
+ # TODO: DYNAMIC_ANALYSIS_CATEGORY can be removed after assemblyline version 4.6+
65
65
  DYNAMIC_ANALYSIS_CATEGORY = 'Dynamic Analysis'
66
66
 
67
67
 
@@ -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.update(name)
115
+ seen_categories.add(name)
116
116
  continue
117
117
 
118
118
  # If it isn't a category, its a service
@@ -165,6 +165,11 @@ class FileProcessor(threading.Thread):
165
165
  self.config: Config = config
166
166
  self.datastore = datastore
167
167
  self.metadata_check = MetadataValidator(datastore)
168
+ self.metadata_check_kwargs = {
169
+ 'validation_scheme': self.config.submission.metadata.ingest.get(self.config.core.vacuum.ingest_type, {}),
170
+ 'strict': self.config.core.vacuum.ingest_type in self.config.submission.metadata.strict_schemes
171
+ }
172
+ self.validation_scheme = self.config.submission.metadata.ingest.get(self.config.core.vacuum.ingest_type, {})
168
173
  self.counter = counter
169
174
  self.minimum_classification = self.config.core.vacuum.minimum_classification
170
175
  logger.info("Connect to work queue")
@@ -508,7 +513,7 @@ class FileProcessor(threading.Thread):
508
513
 
509
514
  # Validate the metadata
510
515
  while metadata:
511
- metadata_error = self.metadata_check.check_metadata(metadata)
516
+ metadata_error = self.metadata_check.check_metadata(metadata, **self.metadata_check_kwargs)
512
517
  if metadata_error:
513
518
  logger.error("Could not accept metadata %s on %s: %s", metadata_error[0],
514
519
  file_sha256, metadata_error[1])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev240
3
+ Version: 4.5.1.dev244
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -9,7 +9,7 @@ import time
9
9
  import random
10
10
  import threading
11
11
 
12
- from assemblyline.odm.models.config import Config
12
+ from assemblyline.odm.models.config import Config, MetadataConfig
13
13
  from assemblyline.remote.datatypes.queues.named import NamedQueue
14
14
  from assemblyline_core.vacuum import crawler, worker
15
15
 
@@ -67,6 +67,17 @@ def test_worker(config: Config, redis_connection):
67
67
  }]
68
68
  config.core.vacuum.worker_threads = 1
69
69
 
70
+ # Apply strict metadata validation
71
+ config.submission.metadata.ingest = {
72
+ config.core.vacuum.ingest_type: {
73
+ 'stream': {
74
+ 'validator_type': 'integer',
75
+ 'required': True
76
+ }
77
+ }
78
+ }
79
+ config.submission.metadata.strict_schemes = [config.core.vacuum.ingest_type]
80
+
70
81
  # Place a file that will be safe
71
82
  first_file = os.path.join(data_dir, uuid.uuid4().hex + '.meta')
72
83
  with open(first_file, 'w') as temp:
@@ -1 +0,0 @@
1
- 4.5.1.dev240