3.6.2. Workflow template configuration

The Workflow templates page is found under Policy > Workflow templates after successful login.

These workflow templates define the scanning methods that can be used by the rules.

MetaDefender Core comes with predefined workflow templates that can not be modified, however they can be copied and the created workflow templates are fully customizable.

NOTE: These predefined workflow templates cannot be modified or removed.

It is highly recommended to use less workflow template and rather more rules based on the workflow templates.


Workflow templatesWhen clicking on a workflow template a windows pops up showing different tabs related to the workflow templates different kind of properties.

Archive Handling

On the Archive tab the archive handling can be enabled or disabled as well as other parameters can be set.

The max recursion level defines how deep extraction should go into the archive, the number of maximum extracted files also can be set as well as the overall maximum size of these files.

It is also possible to disable scanning the archive itself, and a timeout for the whole process can be set as well.




Since MetaDefender Core 4.19.0, user is allowed to configure to exclude child extracted files from archive file type for being blacklisted.


During scan it is possible to create blacklists/whitelists where files depending on their checksum or MIME-TYPE and extensions can be skipped. All of these can be stored in the fields on the Blacklist/Whitelist tab. Also it is available to blacklist/whitelist all the files coming from the same group, such as executables, Microsoft Office files and others. When filtering by mime-type or filename, the filter is handled as a regular expression.

Exceptions can be defined in Exceptions (by mime-type) section using regular exceptions. For instance, if all office files have to be blocked except docx files, then Office documents group should be chosen and ^application\/vnd\.openxmlformats-officedocument\.wordprocessingml\.document$ expression should be given as exception.

Files can also be whitelisted by their checksums. For more information please see 7.2.4. Skip by hash page.


NUMBER OF ACTIVE ANTI-MALWARE ENGINES: You can specify the number of active anti-malware engines required for performing a processing. When disabled, no active anti-malware engine is needed to be up to start a processing.

EXCLUDE ENGINES: Anti-malware engines not to be used in this workflow also can be listed here.

DETECT FILE TYPE MISMATCH: File type mismatch feature can be enabled on the tab. With this feature on, when the extension of the file does not match with the available extensions for the actual file type, the scan result will be Filetype Mismatch.

PER ENGINE TIMEOUT / EXTERNAL SCANNER TIMEOUT / GLOBAL SCAN TIMEOUT: The timeout for the different engines and the whole scanning process also can be set. The maximum allowed size of scanned objects can be set also on this tab as well.

SCAN FAILURE THRESHOLD: It is possible to enable and set a threshold value for the failed engine results. If the number of failed engine results for the currently scanned object reaches this value, then the overall result will also be failed. This threshold value does not have an effect on suspicious or infected results.

SUSPICIOUS DETECTED HANDLED AS: By enabled, you are able to decide if Suspicious result on any particular engine is considered as Infected or No Threat Found result, and it will take consideration into overall process result which also is constraint by threat detected threshold setting.

THREAT DETECTED THRESHOLD: When checked, this setting supports two configuration options INFECTED LIMIT and the SUSPICIOUS LIMIT when SUSPICIOUS DETECTED HANDLED AS is disabled, and its handling logic will be described as following:

  • If the number of infected engine results is between these values the overall result will be suspicious.

  • If the INFECTED LIMIT is reached the overall result will be always infected.

  • If none of them is reached the overall result will be the highest priority engine result (infected results are ignored).

Nevertheless, if SUSPICIOUS DETECTED HANDLED AS is also enabled, regardless of handling as Infected or No Threat Found, SUSPICIOUS LIMIT setting are no longer taken into account. The following is the handling logic:

  • If the INFECTED LIMIT is reached, the overall result will be always infected.

  • Otherwise, the overall result will be the highest priority engine result (infected results are ignored).



If the provided workflows do not meet your requirements, please contact our support team via the OPSWAT Portal.

MetaDefender Cloud

When MetaDefender Cloud workflow element is enabled, online database of MetaDefender Cloud will be used as source for hash lookups.

Available options:

  1. Use results: INFECTED or ALL RESULTS
    If INFECTED is chosen, then only that result will be accepted as result, otherwise all type of results will be taken into account.

  2. MetaDefender Cloud API key: An API key is necessary to have access to the MetaDefender Cloud database. API Key Information can be found on https://metadefender.opswat.com, under Account Information page.

  3. Maximum age of scan results: Only results that are not older than what is set here will be considered as a valid result.

  4. Excluded engines' name: Name of the engines whose results are not to be taken into account.

  5. Minimum hit count: To consider a verdict as a valid one, there should be at least as many result for a hash as it has been set here. (If Use result is set to INFECTED, then only infected results will be counted in.)

  6. Time out: The time interval within which the response should be received from MetaDefender Cloud.


MetaDefender Cloud

Deep CDR

By enabling Deep CDR, one can convert from a set of supported file types into another (or the same). By doing so lot of vulnerabilities can be got rid out of rendering the resulting file be more safe. Both the types to be sanitized and the target file type can be set. To set the file types that you want to sanitize you should tick on corresponding checkboxes. In addition, you can also tick on "ENABLE FOR ALL FILE TYPES" to choose all supported file types. File name from sanitized files can be defined by using "OUTPUT FILENAME FORMAT" field. For usage and meanings of variables, please refer to Setup output file name page.

By default, MetaDefender Core allows files, where sanitization fails. This behavior can be overridden enabling "BLOCK FILES IF SANITIZATION FAILS OR TIMES OUT".

The maximum allowed time for data sanitization to be made can be configured through the "CONVERSION TIMEOUT" and "TRY COUNT" options, where first one means that data sanitization should finish within the configured time frame, otherwise abort the conversion and latter means the number of times product should retry in case of a failed conversion.

When "DISTINGUISH PARTIAL ARCHIVE SANITIZATION RESULT" checked, MetaDefender Core will return "Partial Sanitization" processing result for Deep CDR when only some of child files in original archive files are sanitized successfully.

Beware, however, that possible data loss or change may occur during conversion, thus this feature is disabled by default.

Result of sanitization can be either downloaded on the scan page or retrieved the data ID via REST. See Fetch processing result. Note that /hash API does not provide such information.

Length of time the system stores sanitized files can be set in Settings > Data retention.


Deep CDR

Deep CDR advanced configuration options

Hitting "ADVANCED SETTINGS" to open Deep CDR advanced settings:

Deep CDR engine configuration

Block files if sanitization fails

By default, MetaDefender allows files, where sanitization fails.

For example: even if sanitization of an underlying element in a .zip file fails (sanitization is enabled for .png files in the examples below), the overall result (and the result of the .png file as well) is allowed by default:


Once "BLOCK FILES IF SANITIZATION FAILS OR TIMES OUT" is enabled, the overall and the individual result are blocked in case of a sanitization failure:


The sanitization failure of the zipped file is propagated to the .zip file level:

Proactive Data Loss Prevention (Proactive DLP)

For all information about features powered by Proactive DLP, please learn more at Proactive DLP

Proactive DLP


By enabling 'Quarantine blocked files' all of the files which are blocked are automatically copied to the quarantine. For detailed description of the quarantine please see the Quarantine page.

By enabling 'Fallback filetype detection to current extension if needed' (default enabled), file type detection can use the extension of the currently processed file as a helping hand. For example this could be useful, when analyzing CSV files.

By enabling 'OVERRIDE SCAN RESULTS CLASSIFIED AS ALLOWED' it is possible to overwrite the default behaviour of MetaDefender and determine which scan verdicts should result as allowed.

Scan results checked are marked as allowed.

By default only following verdicts result in allowed status:

  • No Threat Detected

  • Skipped Clean

  • Potentially Vulnerable File

  • Yara Rule Matched