diff --git a/assemblyline_ui/api/v4/file.py b/assemblyline_ui/api/v4/file.py index 4471bcb1..e5a16fc5 100644 --- a/assemblyline_ui/api/v4/file.py +++ b/assemblyline_ui/api/v4/file.py @@ -434,8 +434,9 @@ def get_file_results(sha256, **kwargs): return make_api_response({}, "This file does not exists", 404) if user and Classification.is_accessible(user['classification'], file_obj['classification']): + max_c12n = file_obj['classification'] output = { - "file_info": {}, + "file_info": file_obj, "results": [], "tags": {}, "attack_matrix": {}, @@ -455,13 +456,13 @@ def get_file_results(sha256, **kwargs): output['childrens'] = res_children.result() output['metadata'] = res_meta.result() - output['file_info'] = file_obj output['results'] = [] output['alternates'] = {} res = STORAGE.result.multiget(active_keys, as_dictionary=False, as_obj=False) for r in res: res = format_result(user['classification'], r, file_obj['classification'], build_hierarchy=True) if res: + max_c12n = Classification.max_classification(max_c12n, res['classification']) output['results'].append(res) for i in alternates: @@ -526,6 +527,7 @@ def get_file_results(sha256, **kwargs): output['signatures'] = list(output['signatures']) + output['file_info']['classification'] = max_c12n return make_api_response(output) else: return make_api_response({}, "You are not allowed to view this file", 403) diff --git a/assemblyline_ui/api/v4/submission.py b/assemblyline_ui/api/v4/submission.py index e0bfad9b..41defb23 100644 --- a/assemblyline_ui/api/v4/submission.py +++ b/assemblyline_ui/api/v4/submission.py @@ -119,6 +119,7 @@ def get_file_submission_results(sid, sha256, **kwargs): if not Classification.is_accessible(user['classification'], temp_file['classification']): return make_api_response("", "You are not allowed to view the data of this file", 403) output['file_info'] = temp_file + max_c12n = output['file_info']['classification'] temp_results = list(STORAGE.get_multiple_results([x for x in res_keys if x.startswith(sha256)], cl_engine=Classification, as_obj=False).values()) @@ -126,6 +127,7 @@ def get_file_submission_results(sid, sha256, **kwargs): for r in temp_results: r = format_result(user['classification'], r, temp_file['classification'], build_hierarchy=True) if r: + max_c12n = Classification.max_classification(max_c12n, r['classification']) results.append(r) output['results'] = results @@ -186,6 +188,7 @@ def get_file_submission_results(sid, sha256, **kwargs): output['signatures'] = list(output['signatures']) + output['file_info']['classification'] = max_c12n return make_api_response(output) else: return make_api_response("", "You are not allowed to view the data of this submission", 403) diff --git a/assemblyline_ui/static/ng-template/file_detail.html b/assemblyline_ui/static/ng-template/file_detail.html index a761eef1..075959c7 100644 --- a/assemblyline_ui/static/ng-template/file_detail.html +++ b/assemblyline_ui/static/ng-template/file_detail.html @@ -220,7 +220,7 @@
{{current_file.name | split}}
  • {{a.response.service_name}} :: {{a.response.service_version}} :: [{{a.result.score}}] @ {{a.created | date:"yyyy-MM-dd HH:mm:ss"}}
  • - ({{res.result.classification | class_sm}}) {{res.response.service_name}} [{{res.result.score}}:: {{res.response.service_version}} ({{res.response.service_context}}) + ({{res.classification | class_sm}}) {{res.response.service_name}} [{{res.result.score}}:: {{res.response.service_version}} ({{res.response.service_context}})
    @@ -286,7 +286,7 @@
    {{current_file.name | split}}
  • {{a.response.service_name}} :: {{a.response.service_version}} ({{a.response.service_context}}) :: [{{a.result.score}}] @ {{a.created | date:"yyyy-MM-dd HH:mm:ss"}}
  • - ({{res.result.classification | class_sm}}) {{res.response.service_name}} [{{res.result.score}}:: {{res.response.service_version}} ({{res.response.service_context}}) + ({{res.classification | class_sm}}) {{res.response.service_name}} [{{res.result.score}}:: {{res.response.service_version}} ({{res.response.service_context}})