assemblyline-core 4.5.0.35__tar.gz → 4.5.0.37__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.0.35 → assemblyline-core-4.5.0.37}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.0.37/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/scaler_server.py +18 -11
  4. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core.egg-info/PKG-INFO +1 -1
  5. assemblyline-core-4.5.0.35/assemblyline_core/VERSION +0 -1
  6. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/LICENCE.md +0 -0
  7. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/README.md +0 -0
  8. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/__init__.py +0 -0
  9. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/alerter/__init__.py +0 -0
  10. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/alerter/processing.py +0 -0
  11. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/alerter/run_alerter.py +0 -0
  12. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/archiver/__init__.py +0 -0
  13. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/archiver/run_archiver.py +0 -0
  14. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/badlist_client.py +0 -0
  15. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/__init__.py +0 -0
  16. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/__main__.py +0 -0
  17. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/client.py +0 -0
  18. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/dispatcher.py +0 -0
  19. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/schedules.py +0 -0
  20. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/dispatching/timeout.py +0 -0
  21. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/expiry/__init__.py +0 -0
  22. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/expiry/run_expiry.py +0 -0
  23. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/ingester/__init__.py +0 -0
  24. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/ingester/__main__.py +0 -0
  25. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/ingester/constants.py +0 -0
  26. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/ingester/ingester.py +0 -0
  27. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/__init__.py +0 -0
  28. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/es_metrics.py +0 -0
  29. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  30. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/helper.py +0 -0
  31. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/metrics_server.py +0 -0
  32. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  33. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  34. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  35. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/plumber/__init__.py +0 -0
  36. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/plumber/run_plumber.py +0 -0
  37. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/__init__.py +0 -0
  38. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/client.py +0 -0
  39. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/creator/__init__.py +0 -0
  40. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/creator/run.py +0 -0
  41. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/creator/run_worker.py +0 -0
  42. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/loader/__init__.py +0 -0
  43. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/loader/run.py +0 -0
  44. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/loader/run_worker.py +0 -0
  45. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/replay/replay.py +0 -0
  46. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/safelist_client.py +0 -0
  47. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/__init__.py +0 -0
  48. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/collection.py +0 -0
  49. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  50. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  51. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/controllers/interface.py +0 -0
  52. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  53. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/scaler/run_scaler.py +0 -0
  54. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/server_base.py +0 -0
  55. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/signature_client.py +0 -0
  56. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/submission_client.py +0 -0
  57. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/tasking_client.py +0 -0
  58. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/updater/__init__.py +0 -0
  59. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/updater/helper.py +0 -0
  60. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/updater/run_updater.py +0 -0
  61. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/__init__.py +0 -0
  62. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/crawler.py +0 -0
  63. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/department_map.py +0 -0
  64. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/safelist.py +0 -0
  65. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/stream_map.py +0 -0
  66. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/vacuum/worker.py +0 -0
  67. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/workflow/__init__.py +0 -0
  68. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core/workflow/run_workflow.py +0 -0
  69. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  70. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  71. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core.egg-info/requires.txt +0 -0
  72. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/assemblyline_core.egg-info/top_level.txt +0 -0
  73. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/setup.cfg +0 -0
  74. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/setup.py +0 -0
  75. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_alerter.py +0 -0
  76. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_badlist_client.py +0 -0
  77. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_dispatcher.py +0 -0
  78. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_expiry.py +0 -0
  79. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_plumber.py +0 -0
  80. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_replay.py +0 -0
  81. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_safelist_client.py +0 -0
  82. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_scaler.py +0 -0
  83. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_scheduler.py +0 -0
  84. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_signature_client.py +0 -0
  85. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_simulation.py +0 -0
  86. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.0.35 → assemblyline-core-4.5.0.37}/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.0.35
3
+ Version: 4.5.0.37
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.0.37
@@ -6,7 +6,7 @@ import functools
6
6
  import threading
7
7
  from collections import defaultdict
8
8
  from string import Template
9
- from typing import Optional, Any
9
+ from typing import Dict, Optional, Any
10
10
  import os
11
11
  import re
12
12
  import math
@@ -30,7 +30,7 @@ from assemblyline.odm.models.config import Mount
30
30
  from assemblyline.odm.messages.scaler_heartbeat import Metrics
31
31
  from assemblyline.odm.messages.scaler_status_heartbeat import Status
32
32
  from assemblyline.odm.messages.changes import ServiceChange, Operation
33
- from assemblyline.common.dict_utils import get_recursive_sorted_tuples
33
+ from assemblyline.common.dict_utils import get_recursive_sorted_tuples, flatten
34
34
  from assemblyline.common.uid import get_id_from_data
35
35
  from assemblyline.common.forge import get_classification, get_service_queue, get_apm_client
36
36
  from assemblyline.common.constants import SCALER_TIMEOUT_QUEUE, SERVICE_STATE_HASH, ServiceStatus
@@ -269,17 +269,24 @@ class ScalerServer(ThreadedCoreBase):
269
269
  self.service_change_watcher.register('changes.services.*', self._handle_service_change_event)
270
270
 
271
271
  core_env: dict[str, str] = {}
272
+
272
273
  # If we have privileged services, we must be able to pass the necessary environment variables for them to
273
274
  # function properly.
274
- for secret in re.findall(r'\${\w+}', open('/etc/assemblyline/config.yml', 'r').read()):
275
- env_name = secret.strip("${}")
276
- try:
277
- core_env[env_name] = os.environ[env_name]
278
- except KeyError:
279
- # Don't pass through variables that scaler doesn't have
280
- # they are likely specific to other components and shouldn't
281
- # be shared with privileged services.
282
- pass
275
+ with open('/etc/assemblyline/config.yml') as fh:
276
+ flattened_config: Dict[str, Any] = flatten(yaml.safe_load(fh.read()))
277
+
278
+ # Limit secrets to be shared to very specific configurations
279
+ for cfg in ["datastore.hosts", "filestore.archive", "filestore.cache", "filestore.storage"]:
280
+ for conn_str in flattened_config.get(cfg, []):
281
+ # Look for any secrets that need to passed onto services via env
282
+ for secret in Template(conn_str).get_identifiers():
283
+ try:
284
+ core_env[secret] = os.environ[secret]
285
+ except KeyError:
286
+ # Don't pass through variables that scaler doesn't have
287
+ # they are likely specific to other components and shouldn't
288
+ # be shared with privileged services.
289
+ pass
283
290
 
284
291
  labels = {
285
292
  'app': 'assemblyline',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.0.35
3
+ Version: 4.5.0.37
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -1 +0,0 @@
1
- 4.5.0.35