From e2899ac88f76e71a65d4c1f3a8c1fb29207d1d84 Mon Sep 17 00:00:00 2001 From: content-bot <55035720+content-bot@users.noreply.github.com> Date: Tue, 13 Jun 2023 20:49:03 +0300 Subject: [PATCH] [VirusTotal] Fix error when optional parameter extended_data is not present in command calls (#27414) * [VirusTotal] Fix error when optional parameter extended_data is not present in command calls (#27411) * Fix error when optional parameter extended_data is not present in command calls * release notes * docker image update * updated rn --------- Co-authored-by: Daniel Pascual Co-authored-by: michal-dagan --- .../Integrations/VirusTotalV3/VirusTotalV3.py | 10 +++++----- .../Integrations/VirusTotalV3/VirusTotalV3.yml | 7 ++++++- Packs/VirusTotal/ReleaseNotes/2_6_3.md | 4 ++++ Packs/VirusTotal/pack_metadata.json | 4 ++-- 4 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 Packs/VirusTotal/ReleaseNotes/2_6_3.md diff --git a/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.py b/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.py index 74abeb4cf364..f6ab61be91cb 100644 --- a/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.py +++ b/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.py @@ -1697,7 +1697,7 @@ def ip_command(client: Client, score_calculator: ScoreCalculator, args: dict, re continue execution_metrics.success += 1 results.append( - build_ip_output(client, score_calculator, ip, raw_response, argToBoolean(args.get('extended_data')))) + build_ip_output(client, score_calculator, ip, raw_response, argToBoolean(args.get('extended_data', False)))) if len(results) == 0: result = CommandResults(readable_output='No IPs were found.').to_context() results.append(result) @@ -1713,7 +1713,7 @@ def file_command(client: Client, score_calculator: ScoreCalculator, args: dict, 1 API Call """ files = argToList(args['file']) - extended_data = argToBoolean(args.get('extended_data')) + extended_data = argToBoolean(args.get('extended_data', False)) results: List[CommandResults] = list() execution_metrics = ExecutionMetrics() @@ -1789,7 +1789,7 @@ def url_command(client: Client, score_calculator: ScoreCalculator, args: dict, r 1-4 API Calls for premium subscriptions """ urls = argToList(args['url']) - extended_data = argToBoolean(args.get('extended_data')) + extended_data = argToBoolean(args.get('extended_data', False)) results: List[CommandResults] = list() execution_metrics = ExecutionMetrics() for url in urls: @@ -1840,7 +1840,7 @@ def domain_command(client: Client, score_calculator: ScoreCalculator, args: dict continue execution_metrics.success += 1 result = build_domain_output(client, score_calculator, domain, raw_response, - argToBoolean(args.get('extended_data'))) + argToBoolean(args.get('extended_data', False))) results.append(result) if len(results) == 0: result = CommandResults(readable_output='No domains were found.') @@ -2302,7 +2302,7 @@ def search_command(client: Client, args: dict) -> CommandResults: limit = arg_to_number_must_int(args.get('limit'), 'limit', required=True) raw_response = client.search(query, limit) data = raw_response.get('data', []) - if not argToBoolean(args.get('extended_data')): + if not argToBoolean(args.get('extended_data', False)): data = decrease_data_size(data) return CommandResults( f'{INTEGRATION_ENTRY_CONTEXT}.SearchResults', diff --git a/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.yml b/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.yml index dcac92bb7c4d..73dac63cd921 100644 --- a/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.yml +++ b/Packs/VirusTotal/Integrations/VirusTotalV3/VirusTotalV3.yml @@ -183,6 +183,7 @@ script: description: Hash of the file to query. Supports MD5, SHA1, and SHA256. isArray: true - name: extended_data + defaultValue: 'false' required: false description: Whether to return extended data (last_analysis_results). isArray: false @@ -422,6 +423,7 @@ script: description: IP address to check. isArray: true - name: extended_data + defaultValue: 'false' required: false description: Whether to return extended data (last_analysis_results). isArray: false @@ -538,6 +540,7 @@ script: description: URL to check. isArray: true - name: extended_data + defaultValue: 'false' required: false description: Whether to return extended data (last_analysis_results). isArray: false @@ -680,6 +683,7 @@ script: description: Domain name to check. isArray: true - name: extended_data + defaultValue: 'false' required: false description: Whether to return extended data (last_analysis_results). isArray: false @@ -1031,6 +1035,7 @@ script: default: true description: 'This endpoint searches any of the following: A file hash, URL, domain, IP address, tag comments.' - name: extended_data + defaultValue: 'false' required: false description: Whether to return extended data (last_analysis_results). isArray: false @@ -1639,7 +1644,7 @@ script: type: String runonce: false - dockerimage: demisto/python3:3.10.11.56082 + dockerimage: demisto/python3:3.10.12.62631 tests: - VirusTotalV3-test - VirusTotal (API v3) Detonate Test diff --git a/Packs/VirusTotal/ReleaseNotes/2_6_3.md b/Packs/VirusTotal/ReleaseNotes/2_6_3.md new file mode 100644 index 000000000000..037d2d7c8baa --- /dev/null +++ b/Packs/VirusTotal/ReleaseNotes/2_6_3.md @@ -0,0 +1,4 @@ +#### Integrations +##### VirusTotal (API v3) +- Fixed an issue where **extended_data** argument wasn't parsed correctly in cases it wasn't specified. +- Updated the Docker image to: *demisto/python3:3.10.12.62631*. \ No newline at end of file diff --git a/Packs/VirusTotal/pack_metadata.json b/Packs/VirusTotal/pack_metadata.json index 5f192f8de351..a416e79afcfd 100644 --- a/Packs/VirusTotal/pack_metadata.json +++ b/Packs/VirusTotal/pack_metadata.json @@ -2,7 +2,7 @@ "name": "VirusTotal", "description": "Analyze suspicious hashes, URLs, domains and IP addresses", "support": "partner", - "currentVersion": "2.6.2", + "currentVersion": "2.6.3", "author": "VirusTotal", "url": "https://www.virustotal.com", "email": "contact@virustotal.com", @@ -18,4 +18,4 @@ "xsoar", "marketplacev2" ] -} \ No newline at end of file +}