assemblyline-v4-service 4.4.1.dev250__py3-none-any.whl → 4.4.1.dev252__py3-none-any.whl

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-v4-service might be problematic. Click here for more details.

@@ -1 +1 @@
1
- 4.4.1.dev250
1
+ 4.4.1.dev252
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
  import tempfile
3
- from typing import Any, Dict, Optional, TextIO, Union
3
+ from typing import Any, Dict, List, Optional, TextIO, Union
4
4
 
5
5
  from assemblyline.common import forge
6
6
  from assemblyline.common import log as al_log
@@ -24,17 +24,7 @@ class ServiceRequest:
24
24
  self.log = logging.getLogger(f'assemblyline.service.{task.service_name.lower()}')
25
25
 
26
26
  self._working_directory = task.working_directory
27
- self.deep_scan = task.deep_scan
28
- self.extracted = task.extracted
29
- self.file_name = task.file_name
30
- self.file_type = task.file_type
31
- self.file_size = task.file_size
32
27
  self._file_path = None
33
- self.max_extracted = task.max_extracted
34
- self.md5 = task.md5
35
- self.sha1 = task.sha1
36
- self.sha256 = task.sha256
37
- self.sid = task.sid
38
28
  self.task = task
39
29
 
40
30
  def add_extracted(self, path: str, name: str, description: str,
@@ -238,3 +228,43 @@ class ServiceRequest:
238
228
  :param data: Temporary submission data
239
229
  """
240
230
  self.task.temp_submission_data = data
231
+
232
+ @property
233
+ def deep_scan(self) -> bool:
234
+ return self.task.deep_scan
235
+
236
+ @property
237
+ def extracted(self) -> List[Dict[str, str]]:
238
+ return self.task.extracted
239
+
240
+ @property
241
+ def file_name(self) -> str:
242
+ return self.task.file_name
243
+
244
+ @property
245
+ def file_type(self) -> str:
246
+ return self.task.fileinfo.type
247
+
248
+ @property
249
+ def file_size(self) -> int:
250
+ return self.task.fileinfo.size
251
+
252
+ @property
253
+ def max_extracted(self) -> int:
254
+ return self.task.max_extracted
255
+
256
+ @property
257
+ def md5(self) -> str:
258
+ return self.task.fileinfo.md5
259
+
260
+ @property
261
+ def sha1(self) -> str:
262
+ return self.task.fileinfo.sha1
263
+
264
+ @property
265
+ def sha256(self) -> str:
266
+ return self.task.fileinfo.sha256
267
+
268
+ @property
269
+ def sid(self) -> str:
270
+ return self.task.sid
@@ -49,14 +49,11 @@ class Task:
49
49
  self.error_type: str = 'EXCEPTION'
50
50
  self.extracted: List[Dict[str, str]] = []
51
51
  self.file_name = task.filename
52
- self.file_type = task.fileinfo.type
53
- self.file_size = task.fileinfo.size
52
+ self.fileinfo = task.fileinfo
54
53
  self.ignore_filtering = task.ignore_filtering
55
54
  self.min_classification = task.min_classification.value
56
55
  self.max_extracted = task.max_files
57
56
  self.metadata = task.metadata
58
- self.md5: str = task.fileinfo.md5
59
- self.mime: str = task.fileinfo.mime or None
60
57
  self.result: Optional[Result] = None
61
58
  self.safelist_config: Dict[str, Any] = task.safelist_config
62
59
  self.service_config: Dict[str, Any] = dict(task.service_config)
@@ -66,15 +63,12 @@ class Task:
66
63
  self.service_name: str = task.service_name
67
64
  self.service_tool_version: Optional[str] = None
68
65
  self.service_version: Optional[str] = None
69
- self.sha1: str = task.fileinfo.sha1
70
- self.sha256: str = task.fileinfo.sha256
71
66
  self.sid: str = task.sid
72
67
  self.supplementary: List[Dict[str, str]] = []
73
68
  self.tags = tags
74
69
  self.temp_submission_data: Dict[str, Any] = {
75
70
  row.name: row.value for row in task.temporary_submission_data
76
71
  }
77
- self.type: str = task.fileinfo.type
78
72
 
79
73
  def _add_file(self, path: str, name: str, description: str,
80
74
  classification: Optional[Classification] = None,
@@ -303,3 +297,32 @@ class Task:
303
297
  if self._working_directory is None:
304
298
  self._working_directory = tempfile.mkdtemp(dir=temp_dir)
305
299
  return self._working_directory
300
+
301
+ @property
302
+ def file_type(self) -> str:
303
+ return self.fileinfo.type
304
+
305
+ @property
306
+ def file_size(self) -> int:
307
+ return self.fileinfo.size
308
+
309
+ @property
310
+ def md5(self) -> str:
311
+ return self.fileinfo.md5
312
+
313
+ @property
314
+ def mime(self) -> str:
315
+ return self.fileinfo.mime or None
316
+
317
+ @property
318
+ def sha1(self) -> str:
319
+ return self.fileinfo.sha1
320
+
321
+ @property
322
+ def sha256(self) -> str:
323
+ return self.fileinfo.sha256
324
+
325
+ # Duplicate of file_type for backward compatibility
326
+ @property
327
+ def type(self) -> str:
328
+ return self.fileinfo.type
@@ -83,21 +83,16 @@ class RunService:
83
83
  k, v = kv.split("=", 1)
84
84
  self.submission_params[k] = v
85
85
 
86
+ file_info.pop("ascii", None)
87
+ file_info.pop("hex", None)
88
+ file_info.pop("entropy", None)
86
89
  # Create service processing task
87
90
  service_task = ServiceTask(dict(
88
91
  sid=get_random_id(),
89
92
  metadata={},
90
93
  service_name=SERVICE_NAME,
91
94
  service_config=self.submission_params,
92
- fileinfo=dict(
93
- magic=file_info['magic'],
94
- md5=file_info['md5'],
95
- mime=file_info['mime'],
96
- sha1=file_info['sha1'],
97
- sha256=file_info['sha256'],
98
- size=file_info['size'],
99
- type=file_info['type'],
100
- ),
95
+ fileinfo=file_info,
101
96
  filename=file_name,
102
97
  min_classification=forge.get_classification().UNRESTRICTED,
103
98
  max_files=501, # TODO: get the actual value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-v4-service
3
- Version: 4.4.1.dev250
3
+ Version: 4.4.1.dev252
4
4
  Summary: Assemblyline 4 - Service base
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-v4-service/
6
6
  Author: CCCS Assemblyline development team
@@ -1,4 +1,4 @@
1
- assemblyline_v4_service/VERSION,sha256=YH3tXgTbVz4gOMxbTpbG6DNpJVz_os_95tUXScuBBZY,13
1
+ assemblyline_v4_service/VERSION,sha256=mElaI4Kcy6QY1CHLGTrBwJ48omBL7-pn1l6FRhm5uLw,13
2
2
  assemblyline_v4_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  assemblyline_v4_service/healthz.py,sha256=sS1cFkDLw8hUPMpj7tbHXFv8ZmHcazrwZ0l6oQDwwkQ,1575
4
4
  assemblyline_v4_service/run_privileged_service.py,sha256=9uTfHetXR5G-EDKMDrgfWUOw34yr64-cj6Cm9eZaCbQ,14547
@@ -9,12 +9,12 @@ assemblyline_v4_service/common/base.py,sha256=f0ocyMh59RwAoMbXlFMDgXChQMrFiO78j6
9
9
  assemblyline_v4_service/common/helper.py,sha256=xs9quuf-M1JOdKieBqOmWaOece0CtzXFhhe85xQYmuY,3289
10
10
  assemblyline_v4_service/common/ocr.py,sha256=gFPVAGVsmVk4SKL7hCMCT7NEyG-lFLniEFQup6WtCsc,4384
11
11
  assemblyline_v4_service/common/ontology_helper.py,sha256=Wao4VZ_YrlmLd3-CXwqsK6c5VTiVZ89CKEhZOgZrm0Q,7792
12
- assemblyline_v4_service/common/request.py,sha256=zgmKvYnK1KcBWsQQUZmeBXGIi-P5m3ltxqGY2Xo696c,9764
12
+ assemblyline_v4_service/common/request.py,sha256=dXPLLuuToUtPaC6ZL5MPnJLImgKQiX583dMb6WC9TEU,10243
13
13
  assemblyline_v4_service/common/result.py,sha256=TMcjv4HXWlOvQTj5l50KT2PYE5oXGkDZM5ZWQRJU8ts,30768
14
- assemblyline_v4_service/common/task.py,sha256=22dl6FiQwqeL0CxkSzmHn9mKSL5xf9zE5QjxT-nDLs4,12504
14
+ assemblyline_v4_service/common/task.py,sha256=br51tBE_ksWJVvoKtCBmvmdydIFp0zgxVBvdq_aRU68,12832
15
15
  assemblyline_v4_service/common/utils.py,sha256=71ndFdbdfCeRCM-eYs1htKqJ-1miiWbsF_UgHnKKNZ4,3112
16
16
  assemblyline_v4_service/dev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- assemblyline_v4_service/dev/run_service_once.py,sha256=sGzdPSKbBcrabUlSwmMaWktixydaLZqrT3vRqsH3yjg,10641
17
+ assemblyline_v4_service/dev/run_service_once.py,sha256=zNof2-rZQDPUAVbtUndfRTE1sVcoL9QMyJW4wzF34W8,10458
18
18
  assemblyline_v4_service/updater/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  assemblyline_v4_service/updater/__main__.py,sha256=9Os-u8Tf7MD73JSrUSPmOaErTgfvesNLiEeszU4ujXA,133
20
20
  assemblyline_v4_service/updater/app.py,sha256=OF-G7J8IYwTjdGw_BI9numBicZBN5lspm8Eqb3qbIl8,3229
@@ -22,8 +22,8 @@ assemblyline_v4_service/updater/client.py,sha256=VKmkiDz3klvMzXiGSQTH7QN-MfHuJnw
22
22
  assemblyline_v4_service/updater/gunicorn_config.py,sha256=p3j2KPBeD5jvMw9O5i7vAtlRgPSVVxIG9AO0DfN82J8,1247
23
23
  assemblyline_v4_service/updater/helper.py,sha256=CO0zY6R0gx36iOCSfZyCYCvUAUP76qQMqZ1z_HkZMME,9123
24
24
  assemblyline_v4_service/updater/updater.py,sha256=VB8jt5qg604HZyG6epHqGqG-7yPUCE5-i6uHOO2n72s,32045
25
- assemblyline_v4_service-4.4.1.dev250.dist-info/LICENCE.md,sha256=NSkYo9EH8h5oOkzg4VhjAHF4339MqPP2cQ8msTPgl-c,1396
26
- assemblyline_v4_service-4.4.1.dev250.dist-info/METADATA,sha256=v03Nii5sBEwXHBMK3wTHS3BqA6u28c9x26eS7tDm0C4,9369
27
- assemblyline_v4_service-4.4.1.dev250.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
28
- assemblyline_v4_service-4.4.1.dev250.dist-info/top_level.txt,sha256=Ut5IqePObcxlJ8rv2--dOAzYbxzqlllfiV_51cbqjbA,24
29
- assemblyline_v4_service-4.4.1.dev250.dist-info/RECORD,,
25
+ assemblyline_v4_service-4.4.1.dev252.dist-info/LICENCE.md,sha256=NSkYo9EH8h5oOkzg4VhjAHF4339MqPP2cQ8msTPgl-c,1396
26
+ assemblyline_v4_service-4.4.1.dev252.dist-info/METADATA,sha256=e7OFFb5Nwh2czjCWYpvVTVf9ADCTmeeOAiuQBcbuQJg,9369
27
+ assemblyline_v4_service-4.4.1.dev252.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
28
+ assemblyline_v4_service-4.4.1.dev252.dist-info/top_level.txt,sha256=Ut5IqePObcxlJ8rv2--dOAzYbxzqlllfiV_51cbqjbA,24
29
+ assemblyline_v4_service-4.4.1.dev252.dist-info/RECORD,,