assemblyline-core 4.5.1.dev167__tar.gz → 4.5.1.dev169__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.dev167 → assemblyline-core-4.5.1.dev169}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev169/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/tasking_client.py +4 -0
  4. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/helper.py +11 -5
  5. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/run_updater.py +11 -5
  6. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/PKG-INFO +1 -1
  7. assemblyline-core-4.5.1.dev167/assemblyline_core/VERSION +0 -1
  8. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/LICENCE.md +0 -0
  9. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/README.md +0 -0
  10. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/__init__.py +0 -0
  11. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/__init__.py +0 -0
  12. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/processing.py +0 -0
  13. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/run_alerter.py +0 -0
  14. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/archiver/__init__.py +0 -0
  15. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/archiver/run_archiver.py +0 -0
  16. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/badlist_client.py +0 -0
  17. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/__init__.py +0 -0
  18. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/__main__.py +0 -0
  19. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/client.py +0 -0
  20. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/dispatcher.py +0 -0
  21. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/schedules.py +0 -0
  22. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/timeout.py +0 -0
  23. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/expiry/__init__.py +0 -0
  24. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/expiry/run_expiry.py +0 -0
  25. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/__init__.py +0 -0
  26. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/__main__.py +0 -0
  27. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/constants.py +0 -0
  28. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/ingester.py +0 -0
  29. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/__init__.py +0 -0
  30. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/es_metrics.py +0 -0
  31. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  32. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/helper.py +0 -0
  33. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/metrics_server.py +0 -0
  34. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  35. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  36. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  37. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/plumber/__init__.py +0 -0
  38. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/plumber/run_plumber.py +0 -0
  39. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/__init__.py +0 -0
  40. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/client.py +0 -0
  41. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/__init__.py +0 -0
  42. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/run.py +0 -0
  43. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/run_worker.py +0 -0
  44. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/__init__.py +0 -0
  45. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/run.py +0 -0
  46. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/run_worker.py +0 -0
  47. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/replay.py +0 -0
  48. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/safelist_client.py +0 -0
  49. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/__init__.py +0 -0
  50. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/collection.py +0 -0
  51. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  52. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  53. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/interface.py +0 -0
  54. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  55. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/run_scaler.py +0 -0
  56. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/scaler_server.py +0 -0
  57. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/server_base.py +0 -0
  58. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/signature_client.py +0 -0
  59. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/submission_client.py +0 -0
  60. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/__init__.py +0 -0
  61. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/__init__.py +0 -0
  62. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/crawler.py +0 -0
  63. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/department_map.py +0 -0
  64. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/safelist.py +0 -0
  65. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/stream_map.py +0 -0
  66. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/worker.py +0 -0
  67. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/workflow/__init__.py +0 -0
  68. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/workflow/run_workflow.py +0 -0
  69. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  70. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  71. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/requires.txt +0 -0
  72. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/top_level.txt +0 -0
  73. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/setup.cfg +0 -0
  74. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/setup.py +0 -0
  75. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_alerter.py +0 -0
  76. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_badlist_client.py +0 -0
  77. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_dispatcher.py +0 -0
  78. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_expiry.py +0 -0
  79. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_plumber.py +0 -0
  80. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_replay.py +0 -0
  81. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_safelist_client.py +0 -0
  82. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_scaler.py +0 -0
  83. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_scheduler.py +0 -0
  84. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_signature_client.py +0 -0
  85. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_simulation.py +0 -0
  86. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/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.dev167
3
+ Version: 4.5.1.dev169
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.dev169
@@ -177,6 +177,10 @@ class TaskingClient:
177
177
 
178
178
  heuristic = Heuristic(heuristic)
179
179
  heuristic_id = heuristic.heur_id
180
+ existing_heuristic_obj = self.datastore.heuristic.get_if_exists(heuristic_id)
181
+ if existing_heuristic_obj:
182
+ # Ensure statistics of heuristic are preserved
183
+ heuristic.stats = existing_heuristic_obj.stats
180
184
  plan.add_upsert_operation(heuristic_id, heuristic)
181
185
  except Exception as e:
182
186
  msg = f"{service.name} has an invalid heuristic ({heuristic_id}): {str(e)}"
@@ -1,8 +1,8 @@
1
- import json
2
1
  import requests
3
2
  import re
4
3
  import socket
5
4
  import string
5
+ import time
6
6
 
7
7
  from assemblyline.common.version import FRAMEWORK_VERSION, SYSTEM_VERSION
8
8
  from assemblyline.odm.models.config import Config as SystemConfig
@@ -13,7 +13,7 @@ from collections import defaultdict
13
13
  from logging import Logger
14
14
  from packaging.version import parse, Version
15
15
 
16
- DEFAULT_DOCKER_REGISTRY = "registry.hub.docker.com"
16
+ DEFAULT_DOCKER_REGISTRY = "hub.docker.com"
17
17
 
18
18
 
19
19
  class ContainerRegistry():
@@ -201,7 +201,7 @@ def get_latest_tag_for_service(
201
201
  server, image_name = process_image(image)
202
202
 
203
203
  # Append server to image if not the default server
204
- if server != "registry.hub.docker.com":
204
+ if server != DEFAULT_DOCKER_REGISTRY:
205
205
  image_name = "/".join([server, image_name])
206
206
 
207
207
  return image_name, tag_name, auth_config
@@ -211,8 +211,10 @@ def get_latest_tag_for_service(
211
211
  def _get_dockerhub_tags(image_name, update_channel, proxies=None):
212
212
  # Find latest tag for each types
213
213
  rv = []
214
- url = f"https://{DEFAULT_DOCKER_REGISTRY}/v2/repositories/{image_name}/tags" \
215
- f"?page_size=50&page=1&name={update_channel}"
214
+ namespace, repository = image_name.split('/', 1)
215
+ url = f"https://{DEFAULT_DOCKER_REGISTRY}/v2/namespaces/{namespace}/repositories/{repository}/tags"
216
+ f"?page_size=50&page=1&name={update_channel}"
217
+
216
218
  while True:
217
219
  resp = requests.get(url, proxies=proxies)
218
220
  if resp.ok:
@@ -222,6 +224,10 @@ def _get_dockerhub_tags(image_name, update_channel, proxies=None):
222
224
  url = resp_data.get('next', None)
223
225
  if url is None:
224
226
  break
227
+ elif resp.status_code == 429:
228
+ # Based on https://docs.docker.com/docker-hub/api/latest/#tag/rate-limiting
229
+ # We've hit the rate limit so we have to wait and try again later
230
+ time.sleep(int(time.now()) - int(resp.headers['retry-after']))
225
231
  else:
226
232
  break
227
233
 
@@ -359,11 +359,17 @@ class KubernetesUpdateInterface:
359
359
 
360
360
  if blocking:
361
361
  try:
362
- # Obtain the name of the pod that spawned from the Job
363
- pod_name = self.api.list_namespaced_pod(namespace=self.namespace,
364
- label_selector=",".join([f"{k}={v}"
365
- for k, v in labels.items()]),
366
- limit=1).items[0].metadata.name
362
+ pod_name = None
363
+ while not pod_name:
364
+ time.sleep(3)
365
+ # Obtain the name of the pod that spawned from the Job
366
+ pod = self.api.list_namespaced_pod(namespace=self.namespace,
367
+ label_selector=",".join([f"{k}={v}"
368
+ for k, v in labels.items()]),
369
+ limit=1)
370
+ if pod.items:
371
+ pod_name = pod.items[0].metadata.name
372
+
367
373
  while not (status.failed or status.succeeded):
368
374
  time.sleep(3)
369
375
  status = self.batch_api.read_namespaced_job(namespace=self.namespace, name=name,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev167
3
+ Version: 4.5.1.dev169
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.1.dev167