assemblyline-core 4.5.1.dev373__tar.gz → 4.5.1.dev374__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.
Files changed (88) hide show
  1. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev374/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/dispatcher.py +3 -1
  4. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/tasking_client.py +1 -2
  5. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core.egg-info/PKG-INFO +1 -1
  6. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_simulation.py +15 -4
  7. assemblyline-core-4.5.1.dev373/assemblyline_core/VERSION +0 -1
  8. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/LICENCE.md +0 -0
  9. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/README.md +0 -0
  10. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/__init__.py +0 -0
  11. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/alerter/__init__.py +0 -0
  12. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/alerter/processing.py +0 -0
  13. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/alerter/run_alerter.py +0 -0
  14. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/archiver/__init__.py +0 -0
  15. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/archiver/run_archiver.py +0 -0
  16. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/badlist_client.py +0 -0
  17. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/__init__.py +0 -0
  18. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/__main__.py +0 -0
  19. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/client.py +0 -0
  20. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/schedules.py +0 -0
  21. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/dispatching/timeout.py +0 -0
  22. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/expiry/__init__.py +0 -0
  23. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/expiry/run_expiry.py +0 -0
  24. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/ingester/__init__.py +0 -0
  25. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/ingester/__main__.py +0 -0
  26. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/ingester/constants.py +0 -0
  27. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/ingester/ingester.py +0 -0
  28. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/__init__.py +0 -0
  29. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/es_metrics.py +0 -0
  30. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  31. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/helper.py +0 -0
  32. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/metrics_server.py +0 -0
  33. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  34. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  35. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  36. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/plumber/__init__.py +0 -0
  37. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/plumber/run_plumber.py +0 -0
  38. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/__init__.py +0 -0
  39. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/client.py +0 -0
  40. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/creator/__init__.py +0 -0
  41. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/creator/run.py +0 -0
  42. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/creator/run_worker.py +0 -0
  43. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/loader/__init__.py +0 -0
  44. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/loader/run.py +0 -0
  45. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/loader/run_worker.py +0 -0
  46. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/replay/replay.py +0 -0
  47. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/safelist_client.py +0 -0
  48. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/__init__.py +0 -0
  49. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/collection.py +0 -0
  50. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  51. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  52. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/controllers/interface.py +0 -0
  53. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  54. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/run_scaler.py +0 -0
  55. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/scaler/scaler_server.py +0 -0
  56. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/server_base.py +0 -0
  57. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/signature_client.py +0 -0
  58. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/submission_client.py +0 -0
  59. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/updater/__init__.py +0 -0
  60. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/updater/helper.py +0 -0
  61. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/updater/run_updater.py +0 -0
  62. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/__init__.py +0 -0
  63. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/crawler.py +0 -0
  64. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/department_map.py +0 -0
  65. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/safelist.py +0 -0
  66. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/stream_map.py +0 -0
  67. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/vacuum/worker.py +0 -0
  68. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/workflow/__init__.py +0 -0
  69. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core/workflow/run_workflow.py +0 -0
  70. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  71. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  72. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core.egg-info/requires.txt +0 -0
  73. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/assemblyline_core.egg-info/top_level.txt +0 -0
  74. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/setup.cfg +0 -0
  75. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/setup.py +0 -0
  76. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_alerter.py +0 -0
  77. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_badlist_client.py +0 -0
  78. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_dispatcher.py +0 -0
  79. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_expiry.py +0 -0
  80. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_plumber.py +0 -0
  81. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_replay.py +0 -0
  82. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_safelist_client.py +0 -0
  83. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_scaler.py +0 -0
  84. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_scheduler.py +0 -0
  85. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_signature_client.py +0 -0
  86. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev373 → assemblyline-core-4.5.1.dev374}/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.dev373
3
+ Version: 4.5.1.dev374
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.dev374
@@ -732,7 +732,9 @@ class Dispatcher(ThreadedCoreBase):
732
732
  self.log.info(f"[{sid}] Submission counts towards {submission.params.submitter.upper()} quota")
733
733
 
734
734
  # Apply initial data parameter
735
- temporary_data = TemporaryFileData(sha256, config=self.config.submission.temporary_keys)
735
+ temp_key_config = dict(self.config.submission.default_temporary_keys)
736
+ temp_key_config.update(self.config.submission.temporary_keys)
737
+ temporary_data = TemporaryFileData(sha256, config=temp_key_config)
736
738
  task.temporary_data[sha256] = temporary_data
737
739
  if submission.params.initial_data:
738
740
  try:
@@ -159,8 +159,7 @@ class TaskingClient:
159
159
  if not self.datastore.service_delta.exists(service.name):
160
160
  self.datastore.service_delta.save(service.name, {'version': service.version})
161
161
  self.datastore.service_delta.commit()
162
- self.log.info(f"{log_prefix}{service.name} "
163
- f"version ({service.version}) registered")
162
+ self.log.info(f"{log_prefix}{service.name} version ({service.version}) registered")
164
163
 
165
164
  new_heuristics = []
166
165
  if heuristics:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev373
3
+ Version: 4.5.1.dev374
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -250,8 +250,15 @@ def core(request, redis, filestore, config, clean_datastore: AssemblylineDatasto
250
250
  # Register services
251
251
  stages = get_service_stage_hash(redis)
252
252
 
253
+ service_config: list[tuple[str, int, str, dict]] = [
254
+ ('pre', 1, 'EXTRACT', {'extra_data': True, 'monitored_keys': ['passwords']}),
255
+ ('core-a', 2, 'CORE', {}),
256
+ ('core-b', 1, 'CORE', {}),
257
+ ('finish', 1, 'POST', {'extra_data': True})
258
+ ]
259
+
253
260
  services = []
254
- for svc, stage, details in [('pre', 'EXTRACT', {'extra_data': True, 'monitored_keys': ['passwords']}), ('core-a', 'CORE', {}), ('core-b', 'CORE', {}), ('finish', 'POST', {'extra_data': True})]:
261
+ for svc, count, stage, details in service_config:
255
262
  ds.service.save(f'{svc}_0', dummy_service(svc, stage, docid=f'{svc}_0', **details))
256
263
  ds.service_delta.save(svc, ServiceDelta({
257
264
  'name': svc,
@@ -259,7 +266,8 @@ def core(request, redis, filestore, config, clean_datastore: AssemblylineDatasto
259
266
  'enabled': True
260
267
  }))
261
268
  stages.set(svc, ServiceStage.Running)
262
- services.append(MockService(svc, ds, redis, filestore))
269
+ for _ in range(count):
270
+ services.append(MockService(svc, ds, redis, filestore))
263
271
 
264
272
  user = random_model_obj(User)
265
273
  user.uname = "user"
@@ -1272,7 +1280,7 @@ def test_complex_extracted(core: CoreSession, metrics):
1272
1280
  # 1. extract a file that will process to produce a partial result
1273
1281
  # 2. hold a few seconds on the second stage of the root file to let child start
1274
1282
  # 3. on the last stage of the root file produce the password
1275
- dispatcher.TIMEOUT_EXTRA_TIME = 10
1283
+ dispatcher.TIMEOUT_EXTRA_TIME = 100
1276
1284
 
1277
1285
  child_sha, _ = ready_body(core, {
1278
1286
  'pre': {'partial': {'passwords': 'test_temp_data_monitoring'}},
@@ -1289,7 +1297,7 @@ def test_complex_extracted(core: CoreSession, metrics):
1289
1297
  }]
1290
1298
  }
1291
1299
  },
1292
- 'core-a': {'lock': 5},
1300
+ 'core-a': {'lock': 60},
1293
1301
  'finish': {'temporary_data': {'passwords': ['test_temp_data_monitoring']}},
1294
1302
  })
1295
1303
 
@@ -1315,6 +1323,9 @@ def test_complex_extracted(core: CoreSession, metrics):
1315
1323
 
1316
1324
  # Wait for the extract file to finish
1317
1325
  metrics.expect('dispatcher', 'files_completed', 1)
1326
+ # check that there is a pending result in the dispatcher
1327
+ task = next(iter(core.dispatcher.tasks.values()))
1328
+ assert 1 == sum(int(summary.partial) for summary in task.service_results.values())
1318
1329
  _global_semaphore.release()
1319
1330
 
1320
1331
  # Wait for the entire submission to finish
@@ -1 +0,0 @@
1
- 4.5.1.dev373