Skip to main content

Spectra Detect Report Schema

note

This document is a work in progress.

Introduction

This document describes data in the report of the analysis performed by a Spectra Detect Worker.

Notable changes

The format of the report has changed since the last version of this document (v1.6):

  • The classification field now contains rca_factor, a unique measure of the trustworthiness of a sample (read more in Classification).
  • The classification field also contains a result, which provides the threat name.
  • Results by individual scanners may be ignored.
  • Attack indicators now have descriptions, categories, relevance, and a unique numeric ID.
  • The interesting_strings and story sections have additional fields.
  • There is more information for analyzed PE files, including a security_grade.
  • The metadata section has been reorganized (read the full list of metadata changes in Appendix D:
    • redesigned security, media and browser fields
    • added signatures, certificates, package, attack and malware fields
    • removed certificate field

Data Analysis Workflow

  1. Check the file threat score and classification in the Classification section:
  • classification
    • 0: Unknown
    • 1: Goodware
    • 2: Suspicious
    • 3: Malicious
  • rca_factor (if classification is not 0) is the trust or threat level, ranging from 0 to 10:
    • 0 represents highest trust
    • 10 represents most dangerous threat
  • result shows the threat name (only visible if the analyzed file is a threat)
  1. Analyze interesting strings and strings section
  • Check URL and IP address information if present
  1. Check the file itself
  • File name
  • File format (type, sub-type, format/packer)
  1. Check the Tags section
  • File type in conjunction with Tag can flag a file with potentially malicious intent
  • Interesting tags:
    • anonymous-email
    • cert-expired
    • cert-invalid
    • cert-revoked-...
    • cert-untrusted
    • cert-self-signed
    • starts with contains-
    • cryptocurrency
    • starts with ransomware-
    • starts with uri-
    • starts with av-
    • data-exfiltration
    • file-download
    • ftp-use
    • starts with privacy-
    • backdoor
    • c2
    • custom-packed
    • downloader
    • keylogger
    • pos
    • ransomware
    • anti...
    • cert-blacklisted
    • starts with capability-
    • starts with indicator-
    • starts with email-
    • deceptive-link
  • PDF files
  • check Tags starting with indicator- and capability- to see if the PDF file can execute files or download files
  • Microsoft Office files
  • Check whether VBA Scripts/Macros present and exhibit suspicious indicators - see tags such as indicator-macro and starting with indicator- and capability-
  1. Check extracted file statistics
  • High entropy value (maximum is 8) can be a sign of obfuscation
  1. Microsoft .NET files
  • Check called functions
  1. JAVA dex files
  • Check called functions
  1. Adobe Flash files
  • Check called ActionScript functions
  1. Check YARA matches if any
  • YARA section
  1. Check file certificate
  • Check certificate section whether certificate is valid
  1. Check file validation
  • Check validation section to see if the file is malformed, or if the file certificate is blacklisted
  1. Check who compiled the file and when, sometimes that reveals interesting information
  • PDB Path section
  • Debug symbols link in the compiled file, can contain information of the machine that compiled the malware
  • Compile Date
  • Look at the Signer section
  1. Check whether file is similar to other files of the same status (MALICIOUS/SUSPICIOUS)
  • Use RHA statistics section
  1. Windows executables
  • Check PE VS_Info section
  • Check if the file content is protected
    • PE Protection section
  • Check the content in taggant section

Basic Data Types

Reports received from Spectra Detect Worker will have fields with the following data types:

TypeDescription
intSigned integer, e.g. int32
uintUnsigned integer, e.g. uint16
decimalFloating-point number, e.g. decimal64
boolBoolean value: True or False
stringUTF-8 encoded text

Other data types (enum, list, struct, struct-list) link to their own sections where their components are listed in terms of basic data types.

Spectra Detect Report

The root of the report contains the following fields:

FieldTypeDescription
submittedint32File submission time (UNIX timestamp).
task_idint32ID assigned to the processing task.
processedint32File processing time (UNIX timestamp).
worker_ipstringIP address of the Worker that processed the file.
worker_addressstringAddress of the Worker that processed the file.
worker_hostnamestringHostname of the Worker that processed the file.
direct_senderstringIP address of the machine that sent the file to the Worker (usually Spectra Detect Hub).
forwarded_forlist: stringIP address of the original sender of the file.
file_linkstringLink to the analyzed file.
custom_datastructUser-defined data (JSON).
network_reputationstruct-list:Network ReputationReputation information on any network resources found within the file
tc_reportstruct: AnalysisAnalysis report for the file.

Analysis

In the tc_report field of a Spectra Detect report, the following fields are possible:

FieldTypeDescription
relationshipsstruct: RelationshipsList of all the children, children of those children, their children etc. ONLY if previously enabled.
infostruct: InfoGeneral information about the file.
metadatastruct: MetadataFile metadata.
stringsstruct-list: StringList of strings found in the file.
classificationstruct: ClassificationClassification of the file (is it malicious or not).
indicatorsstruct-list: IndicatorIndicators of suspicious behavior.
interesting_stringsstruct-list: Interesting stringInteresting strings (such as IP addresses to which a file might try to connect).
storystruct-list: StorySummary that gives a human-readable overview about this file.
tagslist: stringDuring analysis, a file receives several tags related to its properties.
indexint32The position of this report in the set of reports.
parentint32The position of the report that is the parent of this report.
childrenlist: int32List of report indexes that are considered children of this report. E.g. if a file has two sub-files, there would be three reports in total. The first report representing the main file would contain values [1,2] for children. Reports for 1 and 2 would be analysis reports for the sub-files.

Classification

The key information here is the classification field, which will be a number from 0 to 3:

VALUEDESCRIPTION
0No classification (unknown)
1Goodware
2Suspicious
3Malicious

Other fields provide more info:

FieldTypeDescription
propagatedbooleanIndicates whether the classification has been propagated from a file contained in the analyzed file.
classificationint32Final verdict on file’s classification based on all scan results. This result should be used when making classification decisions.
factorint32A number from 0 to 5. If classification is 1, this is the "trust factor", or how confident we are that the file is goodware (0 is highest confidence, 5 is lowest confidence). If the classification is 3, then this is the "threat level", or how dangerous the malicious file is (0 is least dangerous, 5 is most dangerous). This field will be deprecated and replaced with rca_factor.
resultstringThreat name in case the file is a threat. If not, this field is not present.
rca_factorint32Unique measure of the trustworthiness of a file, regardless of its classification. Ranges from 0 to 10, with 0 being most trustworthy files, and 10 being most dangerous malware.
scan_resultsstruct-list: Scanner resultContains all scan results from all different sources retrieved by the analysis engine. If this section is not present in the output, that means the file could not be classified by the static analysis engine or by any of the Spectra Intelligence components.
yarastruct-list: YARAMatched YARA rules.
propagation_sourcestruct: PairOrigin of the final top-level classification (the child file which caused the parent file to receive its classification).

Scanner result

Different scanners have their own individual classifications, which are then used as components to form the final classification. See the next section for an overview of used scanners.

FieldTypeDescription
ignoredbooleanif true, the result will be excluded from final classification
classificationint32classification that was assigned by this scanner
factorint32this is either trust or threat factor depending on classification; trust is assigned only to goodware classifications
namestringscanner name
versionstringscanner version
resultstringscanner result
typeenum: scanner_type
rca_factorint32
propertiesstruct-list: Propertyscanner result properties
Spectra Core Classification Scanners
Scanner nameDescription
Spectra Core FormatCertain file formats, such a Windows executable packers, are intended to be used as means of evading security solutions. Detecting that a file is protected with this type of evasive technology is sufficient to declare it, and its payload, as a threat. If the format can also be used by non-malicious applications, the resulting detection will be suspicious or malicious. Threat name is constructed from the format name, for example Win[32|64].Packer.{PackerName}
Spectra Core YARAThreat detection capabilities included with the engine can be extended by adding user-defined YARA rules. Native integration with classification logic ensures that threats can be both detected and named using these rules. Spectra Core includes hundreds of YARA rules as examples of such integration. While ideally all YARA rules would be updated for best integration with the engine, this isn’t required. Depending on how the engine is configured, any YARA rule can be considered a threat detection rule. In cases when YARA rule integration is superficial, the detected threat name can, for example, be {Platform}.Malware.YARA
Spectra Core RHA1ReversingLabs Hashing Algorithm (RHA1) is a proprietary functional file similarity algorithm. It is primarily designed for executable formats, and as such it is specifically implemented for each supported format. RHA1 converts functional file features, both the code and its layout, to four precision level hashes. Each precision level represents a 25% increase in similarity between files that share the same hash at the same precision level. Lowest precision is 25% and highest is a 100%. Spectra Core comes with an offline database of blacklisted RHA1 hashes. This technology is capable of detecting polymorphic threats and their variants. Even though threats are detected based on similarity, they are still named after the threat the file is most similar to.
Spectra Core RICCRules, Indicators, Classifications and Capabilities (RICC) is an offline database that applies static analysis rules to analyzed content. Part of its responsibility is to classify files based on signatures and unique metadata properties found only in malicious files. Two such classification technologies are deployed through RICC. Byte Pattern Matches as signatures that detect known threats, and Malware Artifacts Classifier that looks at the metadata for malware clues. Both of these technologies correlate the detection to a named threat. In terms of classification, they are the most specific detection technologies within the engine, and are reserved to be used only for precise threat detections.
Spectra Core Machine LearningMachine learning is a predictive detection technology. Explainable Machine Learning, a concept unique to ReversingLabs, bases its classification on the principles of expandability, transparency and relevancy. Based solely on human readable indicators, machine learning models detect specific threat types and can differentiate between threats and benign files. When the machine learning model predicts that a threat type falls into a recognized category, it will name the threat as Win[32|64].{ThreatType}.Heuristic. However, if the model is certain that the file is a threat, but can’t place it into a threat category, it will name the threat as Win[32|64].Malware.Heuristic. Machine learning models are made to detect Windows executable and fileless malware types.
Spectra Core Document ClassifierScripts and macros embedded within documents represent a significant attack vector. Due to the nature of script programming languages, attacks can easily be modified to the point they are no longer detectable by simple byte pattern signature. Detecting such threats proactively is only possible through heuristics and machine learning models. Spectra Core applies both of these approaches to threat detection. When a threat is detected through machine learning, the detected threat name can, for example, be Document-{SubPlatform}.Malware.Heuristic. On the other hand, heuristics are human-written and are more specific with their labeling. An example of a human-written heuristic detection is a threat named Document-{SubPlatform}.Trojan.Heuristic
Spectra Core URL ClassifierMany file formats enable active linking to content hosted on remote servers. These are commonly referred to as hyperlinks or uniform resource locators (URL). Since the active content is on a remote server, it can change at any time. However, some URLs itself do contain information that helps to infer the content type to which they are pointing to. With static analysis, Spectra Core can detect various kinds of deceptive links without visiting the content targeted by the URL. Attacker techniques such as typosquatting, domain spoofing, and homoglyphs are detected for more than 5000 popular websites. In addition to deceptive links, the solution includes an offline database of blacklisted domains and known malicious URL patterns. When the engine finds an embedded link that points to a blacklisted domain, it will name the threat as {Platform}.Hyperlink.Blacklisted
Spectra Core Email ClassifierEmail messages are stored in structured file formats. This encapsulation includes email headers, message body and a number of attachments. Any of these components can be malicious and therefore needs to be inspected. Email headers are checked for identity misrepresentation that relates to phishing and BEC attacks. Message bodies are inspected for URLs that could lead to phishing and malware downloads. Attachments are decomposed through static analysis in search for malicious code. Additionally, any attached file is also inspected for embedded URLs that themselves are checked for malicious intent. When this technology detects phishing, it will name the threat as Email.Phishing.{ServiceName}. The following services can be identified: Adobe, Amazon, AmericanExpress, Apple, BankOfAmerica, ChaseBank, DocuSign, Dropbox, Ebay, Facebook, Google, LinkedIn, Microsoft, Netflix, PayPal, Twitter and WhatsApp. If the email was detected as malicious due to embedded URL, the threat name can appear as Email.Hyperlink.Homoglyph
Spectra Core Image AnalyzerMultimedia formats are frequently abused as carriers of malicious payloads. They can hide malware using steganography techniques, or they can abuse format parsers to trigger code execution bugs. Static analysis performed for these formats looks for embedded scripts and shellcode. For example, this heuristic detection technology can detect PHP code within a GIF file, or JavaScript within JPEG EXIF properties. In both of these cases, the detected threat name will be {Platform}.Format.Heuristic
Spectra Core Exploit DetectorDuring engine analysis, parsed format structure is validated and any departures from specification are reported. Detected malformations are automatically mapped back to exploits that are known to abuse format parsing bugs. Exploit detectors are a special kind of signature detections. They are implemented individually for each supported format, and are made to detect known exploits. Exploit detection is available for images, documents, archives and mobile application package formats. When an exploit is detected within an image format, the reported threat name can be {Platform}.Exploit.CVE-{ID}
Spectra Core Hierarchy AnalyzerDuring automated file extraction, the supported formats are decomposed recursively. Unexpected format combinations can be discovered during extraction. For example, documents and multimedia files should never embed executable files. If such unusual format combinations are discovered, the engine will declare those files as suspicious with the following threat name: {Platform}.Format.Content
Spectra Core Certificate ListsApplications, archives, documents and software packages can all be digitally signed. These signatures guarantee integrity and certify the origin of the content they are signing. Spectra Core comes with a customizable list of signers, or identities, that own recognized certificates. These identities can be added to either the Spectra Core certificate blacklist or whitelist. The former will declare signed content as malicious, while the latter will classify analyzed content as goodware. When a file is declared to be malicious due to a blacklisted certificate, the threat name will be displayed as {Platform}.Certificate.Blacklisted
Spectra Core Certificate ValidatorDigital signatures include a file integrity validation hash. Validating digital certificates is a multi-step process. Valid certificates have a properly formed digital certificate chain and pass file hash integrity validation. Spectra Core detects signed file tampering and is capable of detecting signer impersonation, certificate malformation and content modification. Failing to comply with any of these checks will classify the file as at least suspicious. The displayed threat name will reflect the detected type of the tampering attempt. When a self-signed certificate is trying to misrepresent itself and emulates a trusted certificate, the displayed threat name will be {Platform}.Certificate.Impersonation. On the other hand, when a file fails integrity validation, the threat name can appear as {Platform}.Certificate.Invalid or {Platform}.Certificate.Malformed. In case of valid signing time, with signature that is created after signing certificate is already expired or revoked by Certificate Authority, threat name will be {Platform}.Certificate.SignedAfterExpiration and {Platform}.Certificate.SignedAfterRevocation respectively.
Spectra Core GraylistingDue to a lack of strong goodware indication, an accurate classification can not be determined for a number of analyzed files. While the file was not determined to be a threat, it could not be linked to a trusted publisher or a data source. Such files would typically have to be classified as unknown. Graylisting as a technology implements weak whitelisting approximation. For certain file types that are not known to carry malicious payloads, graylisting will approximate classification to goodware with lowest trust. To qualify, the file must also have no active content such as scripts, macros, hyperlinks, or any kind of statically deducible behavior pointing to code execution. If this criteria is met, the file will be declared as implicit goodware and will be labeled as {Platform}.Format.Graylisted
Spectra IntelligenceSpectra Core can be connected to ReversingLabs Spectra Intelligence as a file reputation source. During automated static analysis, Spectra Core will submit a hash of every file it encounters for additional classification. Spectra Intelligence has file reputation information on over 10B files, including both whitelisted and blacklisted binaries. Depending on the classification assigned to the hash, locally processed content can change or override the final classification.

YARA

FieldTypeDescription
classificationint32Classification as determined by YARA rule.
identifierstringYARA rule name.
filenamestringFilename of the YARA rule.
nsstringYARA rule namespace.
hashstringYARA ruleset hash.
tagslist: stringTags that the YARA rule is tagged with.
metasstruct-list: PairYARA rule metadata.
stringsstruct-list: YARA stringStrings that matched the YARA rule.
YARA string
FieldType
stringstring
matchstruct-list: YARA string match
YARA string match
FieldTypeDescription
offsetint64match offset
lengthint32full matched data length
datastringmatched data

Relationships

If this section is enabled in the report service, it lists all children files (and their children files) of the analyzed file.

The full analysis report includes additional parent/child metadata in the form of index numbers starting with 0 and ending with N, where 0 indicates the starting ("root" parent) file, and N the last extracted child file.

If you notice any of the documents embedded in MS DOC, RTF or PDF files of the types documented in Appendix A: Suspicious Embedded File Types there is a reasonable possibility that the original, parent file has malicious intent.

FieldTypeDescription
idstringSHA1 hash of the analyzed file.
parentstringSHA1 of the parent file. This value is not returned for the top-level entry in the list (the "root" parent file), because that file does not have a parent.
containerstringSHA1 of the top-level parent file.
childrenstruct-list: RelationshipsList of all the direct children of this particular file.

Info

FieldType
statisticsstruct: Statistics
filestruct: File
identificationstruct: Identification
binary_layerstruct: Binary layer
validationstruct: Validation
unpackingstruct: Unpacking
propertiesstruct-list: Property
overlaysstruct-list: Overlay
warningslist: string
errorslist: string

Statistics

FieldType
file_statsstruct-list: file_stats_item
file_stats_item
FieldType
typestring
subtypestring
countint64
identificationsstruct-list: file_stats_item_identification
file_stats_item_identification
FieldType
countint64
namestring

File

Some archive files (containers) preserve file modification dates, which are propagated down to their children files (contained files). This metadata is stored in the file_properties section.

FieldTypeDescription
file_typestringFile type.
file_subtypestringFile sub-type.
file_namestringFile name as assigned by engine.
file_pathstringFile path as assigned by engine.
sizeuint16File size.
entropydecimal64File entropy calculated using Shannon's algorithm.
hashesstruct-list: PairCalculated file hashes.
modified_timestringFile modified time (ISO-8601).
access_timestringFile accessed time (ISO-8601).
proposed_filenamestringSupposed filename extracted from other metadata if the original filename is not available.
creation_timestringFile created time (ISO-8601).

Identification

FieldTypeDescription
successbooleanformat identification successful
namestringformat name
versionstringformat version
authorstringmatching signature author

Binary Layer

FieldTypeDescription
is_binary_layerbooleanwhether this is a binary layer
typeenum: binary_layer_typetype of binary layer
offsetuint64first byte position where layer starts
sizeuint64size of the layer in bytes
infostringadditional info
binary_layer_type (enum)
  • unknown
  • resource
  • section
  • overlay
  • stego

Validation

FieldTypeDescription
validbooleanwhether file is valid (if all results are valid)
scan_resultsstruct-list: Validation Resultvalidation results
Validation Result
FieldTypeDescription
validbooleanwhether the certificate was found to be valid
namestringscanner name
versionstringscanner version
resultslist: validation_descriptionpossible outcomes related to the analysis of certificates
warningslist: stringlist of warnings related to validation
typeenum: scanner_typeused scanners
validation_description (enum)
  • bad_checksum
  • bad_signature
  • invalid_certificate
  • expired_certificate
  • blacklisted_certificate
  • whitelisted_certificate
  • malformed_certificate
  • self_signed_certificate
  • impersonation_attempt
  • untrusted_certificate
  • revoked_certificate
  • revoked_certificate_unspecified
  • revoked_certificate_key_compromise
  • revoked_certificate_ca_compromise
  • revoked_certificate_affiliation_changed
  • revoked_certificate_superseded
  • revoked_certificate_cessation_of_operation
  • revoked_certificate_hold
  • revoked_certificate_remove_from_crl
  • revoked_certificate_privilege_withdrawn
  • revoked_certificate_aa_compromise
  • signed_after_revocation
  • bad_certificate_timestamp
  • security_catalog
  • signed_after_expiration
scanner_type (enum)
  • generic
  • av
  • sandbox
  • validator
  • unpacker
  • internal
  • cloud
  • user_override
  • certificate
  • whitelisting
  • analyst_override
  • ng_av

Unpacking

FieldType
statusenum: unpacking_status
warningslist: string
unpacking_status (enum)
  • unknown
  • failed
  • success
  • partial

Overlay

FieldTypeDescription
fromenum: overlay_fromwhere the overlay comes from
offsetuint64overlay physical offset
sizeuint64overlay physical size
entropydecimal64overlay entropy calculated using Shannon's algorithm
hashesstruct-list: Pairset of overlay content hashes
overlay_from (enum)
  • pe
  • pe_security_directory
  • archive
  • binary
  • container
  • document
  • scripts
  • text
  • video
  • image

Metadata

This section contains the information about a sample extracted from static analysis. The information that is retrieved depends on the sample type, so some sections will not contain any data if they are inapplicable to the sample type.

FieldType
applicationstruct: Application
protectionstruct: Protection
securitystruct: Security
behaviourstruct: Behaviour
signaturesstruct-list: Signature
certificatesstruct-list: Certificate
documentstruct: Document
mobilestruct: Mobile
mediastruct: Media
browserstruct: Browser
emailstruct: Email
packagestruct: Package
attackstruct-list: Attack
malwarestruct: Malware

Application (Metadata)

FieldTypeDescription
capabilitiesuint32capabilities of the application
pestruct: PEPE application metadata
elfstruct: ELFELF application metadata
machostruct: MachoMachO application metadata
dexstruct: DexDEX application metadata
dotnetstruct: DotnetNET application metadata
librariesstruct-list: Identitydetected libraries
identitystruct: Identityapplication identity

The capabilities provide a brief overview of actions that a sample is capable of performing by outlining its basic features. Capabilities are expressed as a bit array (several capabilities can be expressed with one number code), and the name of each bit is provided.

BitMeaning
0x00000001clipboard
0x00000002ipc
0x00000004threads
0x00000008processes
0x00000010storage
0x00000020filesystem
0x00000040peripherals
0x00000080user_input
0x00000100hardware_interfaces
0x00000200networking
0x00000400cryptography
0x00000800security
0x00001000system
0x00002000modules
0x00004000memory_management
0x00008000user_interface
0x00010000command_line
0x00020000time_and_date
0x00040000identity
0x00080000monitoring
0x00100000configuration
0x00200000compression
0x00400000multimedia
0x00800000deprecated
0x01000000undocumented
0x02000000application_management
0x04000000service_management
0x08000000messaging
0x10000000protection
0x20000000drivers_k

Capabilities bit array for PE files

These are named and expressed in terms of bits as well (bitwise operations), with an additional clarification for what each bit represents.

  • none_k = 0,
  • clipboard_k = 1 << 0, whether app has capability for managing the clipboard
  • ipc_k = 1 << 1, whether app has capability for inter-process communication
  • threads_k = 1 << 2, whether app has capability for using and managing threads
  • processes_k = 1 << 3, whether app has capability for using and managing processes
  • storage_k = 1 << 4, whether app has capability for managing storage devices or volumes
  • filesystem_k = 1 << 5, whether app has capability for managing files or folders
  • peripherals_k = 1 << 6, whether app has capability for managing peripheral hardware devices
  • user_input_k = 1 << 7, whether app has capability for receiving user input
  • hardware_interfaces_k = 1 << 8, whether app has capability for managing hardware interfaces, ports or buses
  • networking_k = 1 << 9, whether app has capability for network communication
  • cryptography_k = 1 << 10, whether app has capability for cryptographic operations
  • security_k = 1 << 11, whether app has capability for managing security contexts
  • system_k = 1 << 12, whether app has capability for accessing operating system facilities
  • modules_k = 1 << 13, whether app has capability for using additional modules
  • memory_management_k = 1 << 14, whether app has capability for requesting and managing memory
  • user_interface_k = 1 << 15, whether app has capability for managing the user interface
  • command_line_k = 1 << 16, whether app has capability for using command line interface
  • time_and_date_k = 1 << 17, whether app has capability for managing time information or timers
  • identity_k = 1 << 18, whether app has capability for user identity management
  • monitoring_k = 1 << 19, whether app has capability for system status monitoring
  • configuration_k = 1 << 20, whether app has capability for managing system settings or configurations
  • compression_k = 1 << 21, whether app has capability for compressing or extracting data
  • multimedia_k = 1 << 22, whether app has capability for graphics, animation, audio or video
  • deprecated_k = 1 << 23, whether app has capability for using deprecated functionality
  • undocumented_k = 1 << 24, whether app has capability for using undocumented functionality
  • application_management_k = 1 << 25, whether app has capability for managing applications
  • service_management_k = 1 << 26, whether app has capability for managing services
  • messaging_k = 1 << 27, whether app has capability for sending messages
  • protection_k = 1 << 28, whether app has capability for securing the execution environment
  • drivers_k = 1 << 29, whether app has capability for managing drivers or kernel modules
PE
FieldType
analysisstruct: Analysis
dos_headerstruct: DOS header
rich_headerstruct: Rich header
file_headerstruct: File header
optional_headerstruct: Optional header
sectionsstruct-list: PE section
importsstruct-list: Import
exportsstruct: Export
resourcesstruct-list: Resource
version_infostruct-list: Pair
codeviewsstruct-list: Codeview
taggantstruct: Taggant
Analysis
FieldType
analysis_stateint32
security_gradeint32
issuesstruct-list: Issue

####### Issue

FieldTypeDescription
codeint32unique issue code
namestringunique issue name
descriptionstringissue description
relevanceint32relevance for ML classification
countint32
DOS header
FieldTypeDescription
e_cblpuint16bytes on last page of file
e_cpuint16pages in file
e_crlcuint16relocations
e_cparhdruint16size of header in paragraphs
e_minallocuint16minimum extra paragraphs needed
e_maxallocuint16maximum extra paragraphs needed
e_ssuint16initial (relative) SS value
e_spuint16initial SP value
e_csumuint16checksum
e_ipuint16initial IP value
e_csuint16checksum
e_lfarlcuint16file address of relocation table
e_ovnouint16overlay number
e_resstring
e_oemiduint16OEM identifier (for e_oeminfo)
e_oeminfouint16OEM information (e_oemid specific)
e_res2string
e_lfanewuint32file address of new exe header
Rich header
FieldTypeDescription
checksumuint32Rich Header checksum as present in file
offsetuint64Rich Header start offset
sizeuint64Rich Header size in bytes
entriesstruct-list: EntryRich header entries

####### Entry

FieldTypeDescription
toolinguint32toolchain component type
versionuint16toolchain component product version
productuint16toolchain component product id
counteruint32number of times used
File header
FieldType
machineuint16
number_of_sectionsuint16
time_date_stampuint32
time_date_stamp_decodedstring
pointer_to_symbol_tableuint32
number_of_symbolsuint32
size_of_optional_headersuint16
characteristicsuint16
Optional header
FieldType
is_checksum_validboolean
major_linker_versionuint8
minor_linker_versionuint8
size_of_codeuint32
size_of_initialized_datauint32
size_of_uninitialized_datauint32
address_of_entry_pointuint32
base_of_codeuint32
base_of_datauint32
image_baseuint64
section_alignmentuint32
file_alignmentuint32
major_os_versionuint16
minor_os_versionuint16
major_image_versionuint16
minor_image_versionuint16
major_subsystem_versionuint16
minor_subsystem_versionuint16
win32_version_valueuint32
size_of_imageuint32
size_of_headersuint32
checksumuint32
subsystemuint16
dll_characteristicsuint16
size_of_stack_reserveuint64
size_of_stack_commituint64
size_of_heap_reserveuint64
size_of_heap_commituint64
loader_flagsuint32
number_of_rva_and_sizesuint32
data_directoriesstruct-list: Data directory

####### Data directory

FieldTypeDescription
addressuint32data directory relative start
sizeuint32data directory size
PE section
FieldTypeDescription
namestringsection name
flagsuint32section flags
relative_baseuint32section relative virtual address
physical_baseuint32section physical offset
relative_sizeuint32section relative size
physical_sizeuint32section physical size
entropydecimal64section content entropy
hashesstruct-list: Pairset of section content hashes
Import
FieldType
namestring
apislist: string
Export
FieldType
namestring
apislist: string
Resource
FieldTypeDescription
typestringresource type name or the corresponding ID
namestringresource name or the corresponding ID
language_id_namestringlanguage ID decoded to language name
language_iduint32language ID
code_pageuint32code page used
offsetuint32resource physical offset
sizeuint32resource physical size
entropydecimal64data entropy calculated using Shannon's algorithm
hashesstruct-list: Pairset of resource content hashes
Codeview
FieldType
timestampstring
guidstring
pdb_pathstring
revisionuint32
Taggant
FieldTypeDescription
packer_infostruct: Packer infoPacker information
timestampstringTime stamp
spv_certificatestruct: Certificate objectSPV (Software Protection Vendor) certificate
user_certificatestruct: Certificate objectUser certificate

####### Packer info

FieldTypeDescription
namestringPacker name
iduint32Packer ID
version_majoruint16Packer major version
version_minoruint16Packer minor version
version_builduint16Packer build version
reserveduint16Packer reserved field
ELF
FieldTypeDescription
typeuint16object file type
os_abi_nameuint8OS and ABI to which the object is targeted
abi_versionuint8version of the ABI to which the object is targeted
machineuint16required architecture
entry_vauint64entry point virtual address
interpreter_pathstring
program_headersstruct-list: Program headerlist of program headers
sectionsstruct-list: Sectionlist of sections
symbolsstruct-list: Symbollist of symbols
dynamic_tablestruct-list: Dynamic table
Program header
FieldTypeDescription
typeuint32segment type
flagsuint32segment flags
offsetuint64segment file offset
virtual_addressuint64segment virtual address
physical_addressuint64segment physical address
file_sizeuint64segment size in file
memory_sizeuint64segment size in memory
alignmentuint64segment alignment
entropydecimal64segment content entropy
hashesstruct-list: Pairset of segment content hashes
ELF section
FieldTypeDescription
namestringname of the section
typeuint64categorizes the section's content and semantics
flagsuint641-bit flags that describe miscellaneous attributes
addressuint64memory address at which the section's first byte should reside
alignmentuint64address alignment
offsetuint64byte offset from the beginning of the file to the first byte in section
sizeuint64section's size in bytes
linkuint32section header table index link
ELF Symbol
FieldTypeDescription
infouint8type and binding attributes
otheruint8other
namestringsymbol name
referencesuint32symbol references
sourcesuint32symbol sources
Dynamic table
FieldType
tagint64
valuestring
Macho
FieldTypeDescription
abi64boolean64bit or 32bit
cpu_typeuint32intended architecture to be used
file_typeuint8usage and alignment of the file
flagsuint32set of bit flags that indicate the state of certain optional features
segmentsstruct-list: Segment
sectionsstruct-list: Section
dynamic_librarieslist: string
symbolsstruct-list: Symbol
Segment
FieldTypeDescription
namestring
flagsuint32segment flags
virtual_addressuint64segment virtual address
virtual_sizeuint64
file_offsetuint64
file_sizeuint64segment size in file
maximum_protectionuint32
initial_protectionuint32
entropydecimal64segment content entropy
hashesstruct-list: Pairset of segment content hashes
Macho section
FieldTypeDescription
namestringsection name
segmentstringname of the segment that should contain this section
flagsuint32section type (8 bits) + other attributes (24 bits)
addressuint64virtual memory address
sizeuint64size in bytes of the virtual memory occupied by this section
offsetuint32offset to this section in the file
alignmentuint32section's byte alignment
Macho Symbol
FieldTypeDescription
namestringsymbol name
sectionstringsection that this symbol can be found in
typeuint8type
externalbooleanwhether this symbol cannot be found in any section of this image
Dex
FieldTypeDescription
checksum_validbooleanwhether checksum is valid
signature_validbooleanwhether signature is valid
classesstruct-list: Dex Classlist of classes
Dex Class
FieldTypeDescription
modifiersuint32class modifiers
namestringclass name
super_classstringclass' superclass
source_filestringoriginal source file for this class
annotationsstruct-list: Annotationlist of class annotations
interfaceslist: stringlist of class interfaces
methodsstruct-list: Methodlist of class methods
fieldsstruct-list: Fieldlist of class fields

####### Annotation

FieldTypeDescription
visibilityuint8annotation visibility
type_namestringannotation type name
attributesstruct-list: Attributelist of annotation attributes

Attribute

FieldType
namestring
valuestruct: Value
Valuetype
typeuint32
valuestring

####### Method

FieldTypeDescription
modifiersuint32method modifiers
namestringmethod name
return_typestringmethod return type
parametersstruct-list: Parameterlist of method parameters
annotationsstruct-list: Annotationlist of method annotations

Parameter

FieldTypeDescription
type_namestring
annotationsstruct-list: Annotationlist of method annotations

####### Field (Dex)

FieldTypeDescription
modifiersuint32field modifiers
namestringfield name
typestringfield type name
valuestringfiled value
annotationsstruct-list: Annotationlist of field annotations
Dotnet
FieldTypeDescription
modulestringmodule name
mvidstringmodule version ID
entry_pointstruct: .NET Methodentry point method
assemblystruct: Assemblyassembly reference
typesstruct-list: Typelist of types
assembly_referencesstruct-list: Assemblylist of assembly references
resourcesstruct-list: .NET Resourcelist of resources
exported_typesstruct-list: Exported typelist of exported types
.NET Method
FieldTypeDescription
impl_attributesuint16method ImplAttributes
attributesuint16method attributes
namestringmethod name
return_typestringmethod return type
pinvoke_infostruct: Pinvoke infomethod PInvoke info
parametersstruct-list: Parameterlist of method parameters

####### Pinvoke info

FieldTypeDescription
attributesuint16PInvoke attributes
modulestringmodule name
entry_pointstringmodule entry point

####### Parameter

FieldTypeDescription
attributesuint16parameter attributes
type_namestringparameter type name
namestringparameter name
Assembly
FieldTypeDescription
namestringassembly reference name
versionstringassembly reference version formatted string
culturestringassembly reference culture
public_key_tokenstringassembly reference public key token
Type
FieldTypeDescription
attributesuint32type attributes
namestringtype name
base_typestringbase type name
methodsstruct-list: Methodlist of types methods
fieldsstruct-list: Fieldlist of types fields
interfaceslist: stringlist of types interfaces
eventsstruct-list: Eventlist of types events
propertiesstruct-list: Propertieslist of types properties

####### Field

FieldTypeDescription
attributesuint16field attributes
namestringfield name
constantstringfield constant value
typestringfield type name

####### Event

FieldTypeDescription
attributesuint16event attributes
namestringevent name
typestringevent type name

####### Properties

FieldTypeDescription
attributesuint16property attributes
namestringproperty name
typestringdeclaring type
constantstringproperty constant value
parametersstruct-list: Parameterlist of property parameters
.NET Resource
FieldTypeDescription
typeuint8resource type
attributesuint32resource attributes
namestringresource name
filestringresource file
hashstringresource file hash
assemblystringresource assembly
Exported type
FieldTypeDescription
attributesuint32exported type attributes
namestringexported type name
Identity
FieldTypeDescription
typeenum: identity_typeidentity type
verifiedenum: Verificationidentity verification
namestringpackage name
versionstringpackage version
publisherstring
descriptionstringpackage summary
licensestringlicence name (e.g. GPLv3)
cpestringCPE
vulnerabilitieslist:stringknown vulnerabilities
identity_type (enum)
  • ad
  • social
  • other
  • graphics
  • audio
  • cloud
  • messaging
  • compression
  • analytics
  • database
  • crypto
  • utility
  • multimedia
  • networking
  • browser
  • security
  • virtualization
  • development
  • productivity
  • email
  • gaming
  • entertainment
  • educational
  • driver
  • package
Verification (enum)
  • not_verified
  • sha256_hash
  • authentihash
  • certificate
  • cloud_source

Protection

FieldTypeDescription
featureslist: stringDetected encryption features
drmlist: stringDetected DRM protection
cryptolist: stringDetected crypto primitives
compressionlist: stringDetected compression algorithm

Security

FieldTypeDescription
featureslist: stringfeatures detected
exploitslist: stringexploits detected, CVE references
vulnerabilitiesstruct-list: Vulnerabilityknown vulnerabilities
owning_userstringowning user identifier
owning_groupstringowning group identifier
access_liststruct-list: Accessaccess control list
attributeslist: stringfile attributes
Vulnerability
FieldTypeDescription
cvestringCVE identifier
exploituint32Exploit information
cvssstruct: CVSSCVSS score
CVSS
FieldTypeDescription
versionint32CVSS version (2 or 3x)
base_scoredecimal64
metricsstruct-list: PairCVSS metrics
Access
FieldTypeDescription
typeenum: access_typewho has access
entitystringentity identifier for either user or group
permissionsuint32access flags
access_type (enum)
  • user
  • group
  • other
  • unknown

Behaviour

This section describes how a file would behave if executed. It lists values related to the registry, paths when executing, renaming or copying files, shortcuts that might be used, and more. This section will become available when analyzing PDFs, Docker files, as well as various installers.

FieldTypeDescription
registrystruct-list: Registrylist of registry actions
copystruct-list: Copylist of copy actions
renamestruct-list: Renamelist of rename actions
process_startstruct-list: Process startlist of process start actions
shortcutstruct-list: Shortcutlist of shortcut creation actions
removestruct-list: Removelist of remove actions
edit_inistruct-list: Edit inilist of edit INI actions
uristruct-list: URIlist of URI actions
Registry

Values that the program sets in the Windows Registry.

FieldTypeDescription
keystringregistry key
value_namestringregistry value name
valuestringregistry value name
propertiesstruct-list: Propertyvarious properties assigned to object, key-value
Copy
FieldTypeDescription
source_pathstring
destination_pathstring
propertiesstruct-list: Propertyproperties that are applied to copy operation
Rename
FieldTypeDescription
old_pathstring
new_pathstring
propertiesstruct-list: Propertyproperties that are applied to rename operation
Process start
FieldTypeDescription
argumentsstringcommand-line arguments to use when starting application
create_no_windowbooleanindicates whether to start the process in a new window
domainstringidentifies the domain to use when starting process
environment_variablesstringsearch paths for files, application-specific options, etc.
filenamestringapplication or document to start
passwordstringuser password to use when starting the process
usernamestringuser name to be used when starting the process
working_directorystringworking directory for the process to be started
propertiesstruct-list: Propertyadditional properties
Shortcut

Information on shortcuts related to a file. hotkey designates the keyboard shortcut used to start the program.

FieldTypeDescription
source_pathstringpath to the file to be executed
destination_pathstringwhere to create shortcut file
icon_pathstringpath to the icon to be displayed
icon_indexint32index of icon to use from the icon file
descriptionstringadditional description
working_directorystringworking directory for the application
hotkeystringcombination of key with which the program can be started
command_optionsstringadditional options to use when executing file
propertiesstruct-list: Propertyadditional properties
Remove
FieldTypeDescription
pathstringpath to the file that will be removed
propertiesstruct-list: Propertyadditional properties
Edit ini
FieldTypeDescription
pathstringpath to the INI file that will be edited
sectionstringname of the INI section
contentstruct: Pairkey-value content to be added
propertiesstruct-list: Propertyadditional properties
URI

Information on a URI that a file is trying to connect to.

{"uri_string": "https://bad_domain.evil/malware/infection",
"protocol": "https",
"hostname": "bad_domain.evil",
"port": "80",
"path": "malware/infection",
"ip_protocol": "TCP/IP"}
FieldTypeDescription
uri_stringstringURI string
protocolstringapplication-layer protocol used (e.g. HTTP)
hostnamestring
domainstring
portint32
pathstring
ip_protocolstringtransport-layer protocol used (e.g. TCP)
propertiesstruct-list: Propertyadditional properties

Signatures

This section holds information about digital signatures and certificates found during the analysis.

Signature object
FieldTypeDescription
validationstruct: Validation
versionint32syntax version number
issuerstruct-list: Pairissuer distinguished name
serial_numberstringissuer-specific serial number
digest_algorithmstringmessage digest algorithm
digest_encryption_algorithmstring
encrypted_digeststring
authenticated_attributesstruct-list: Pairset of attributes that are signed
unauthenticated_attributesstruct-list: Pairset of attributes that are not signed
certificatestruct: Certificate object
counter_signaturesstruct-list: Signature object
Certificate object

Among other outcomes, certificates can be whitelisted or blacklisted. The validation > results field holds the list of results related to the certificate of the analyzed file. Here are two examples, one of a whitelisted and one of a blacklisted certificate, leading to two different classifications (goodware/malicious).

Whitelisted certificate:

{
common_name: "Microsoft Corporation",
serial: "610f784d000000000003",
thumbprint: "77d73fbbb0a3e91838d5ef1d145e37f025d9ba766604c9aeafd6b3222b252ca9"
}

Blacklisted certificate:

{
common_name: "Elite Web Development Ltd.",
serial: "6cfa5050c819c4acbb8fa75979688dff",
thumbprint: "e7241394097402bf9e32c87cada4ba5e0d1e9923f028683713c2f339f6f59fa9"
}
FieldTypeDescription
validationstruct: Validation
versionint32certificate version
valid_fromstringtime when validity period begins
valid_tostringtime when validity period ends
serial_numberstringcertificate serial number issued by CA
subjectstruct-list: Pairentity associated with the public key
issuerstruct-list: Pairentity who has signed and issued the certificate
issuer_certificatestruct: Certificate object
signature_algorithmstringcryptographic algorithm used by the CA to sign this certificate
signaturestringcryptographic algorithm used by the CA to sign this certificate
public_keystruct
extensionsstruct-list: Extensioncertificate extensions
thumbprintsstruct-list: Pairset of additional thumbprints
Public key
FieldType
typeint32
valuestring
rsastruct
dsastruct
ecstruct

Example of an RSA public key detected in a file with a whitelisted certificate:

{
value: "3082010a0282010100a2db0a8dcfc2c1499bcdaa3a34ad23596bdb6cbe2122b794c8eaaebfc6d526c232118bbcda5d2cfb36561e152bae8f0ddd14a36e284c7f163f41ac8d40b146880dd98194ad9706d05744765ceaf1fc0ee27f74a333cb74e5efe361a17e03b745ffd53e12d5b0ca5e0dd07bf2b7130dfc606a2885758cb7adbc85e817b490bef516b6625ded11df3aee215b8baf8073c345e3958977609be7ad77c1378d33142f13db62c9ae1aa94f9867add420393071e08d6746e2c61cf40d5074412fe805246a216b49b092c4b239c742a56d5c184aab8fd78e833e780a47d8a4b28423c3e2f27b66b14a74bd26414b9c6114604e30c882f3d00b707cee554d77d2085576810203010001"
}
RSA key
FieldType
enabledboolean
exponentstring
modulusstring
DSA key
FieldType
enabledboolean
primestring
subprimestring
generatorstring
Elliptic Curve Key
FieldType
enabledboolean
pstring
astring
bstring
xstring
ystring
generatorstring
orderstring
cofactorstring
seedstring
field_typestring
basis_typestring
curve_namestring
Extension
FieldType
is_criticalboolean
namestring
valuestring

Certificates

A list of Certificate objects, defined in the Signatures section.

Document

FieldTypeDescription
capabilitiesuint32document capabilities
authorstringdocument author
versionstringdocument version
titlestringdocument title
subjectstringdocument subject
descriptionstringdocument description
languagestringdocument language
creation_datestringcreation date
modified_datestringlast modification date
needs_renderingbooleandoes document needs rendering
page_countint32number of pages
word_countint32number of words
char_countint32numbers of characters
keywordslist: stringdocument keywords
requirementslist: stringdocument requirements
propertiesstruct-list: Propertyvarious properties assigned to object, key-value
htmlstruct: HTMLHTML metadata

Similarly to the Application section, documents have a bit array describing their capabilities:

  • none_k = 0,
  • execution_k = 1 << 0, whether document has executable content
  • scripting_k = 1 << 1, whether document uses JavaScript, VBA or similar scripting language
  • multimedia_k = 1 << 2, whether document has video, has audio, uses webgl, canvas, svg
  • user_input_k = 1 << 3, whether document has forms and user controls, drag and drop, pointer lock
  • embeds_k = 1 << 4, whether document has objects / embeds, has frame / iframe, OLE
  • messaging_k = 1 << 5, whether document has messaging capabilities (e.g. mailto, sendto...)
  • networking_k = 1 << 6, whether document has networking capabilities (e.g. http, ajax, websockets, hrefs, clickable URL in documents, webrtc, redirect/refresh)
  • storage_k = 1 << 7, whether document has storage capabilities (e.g. web storage, file api, offline storage)
  • location_k = 1 << 8, whether document has location capabilities
  • notifications_k = 1 << 9, whether the document has notification capabilities (e.g. pop-ups, windows notification API...)
  • camera_k = 1 << 10, whether document has camera access
  • microphone_k = 1 << 11, whether document has access to microphone
  • bluetooth_k = 1 << 12, whether document has access to bluetooth
  • peripherals_k = 1 << 13, whether document has access to peripherals (e.g. usb, midi)
  • cryptography_k = 1 << 14, whether document has cryptography capabilities (e.g. password protected document / macro, password input fields in HTML...)
  • advertising_k = 1 << 15, whether document has advertising capabilities
  • social_k = 1 << 16, whether document has access to social networks (Facebook, Twitter, - specific to HTML / JS)
  • services_k = 1 << 17, whether document has access to services
  • memory_management_k = 1 << 18, whether document has access to memory management
HTML
FieldTypeDescription
doctypestringHTML doctype
base_urlstringHTML base url
html_metadatastruct-list: PropertyHTML metadata from META tags
resourcesstruct-list: Resourceextracted resources
linksstruct-list: Linkextracted links
formsstruct-list: Formextracted forms
Resource (HTML)
FieldTypeDescription
urlstringURL or path found in HTML
crossoriginstringvalue of crossorigin attribute, if present
relstringvalue of rel attribute, if present
typestringvalue of type attribute, if present
FieldTypeDescription
urlstringURL or path found in HTML
downloadstringvalue of download attribute, if present
relstringvalue of rel attribute, if present
Form
FieldTypeDescription
actionstringvalue of action attribute, if present
enctypestringvalue of enctype attribute, if present
methodstringvalue of method attribute, if present

Mobile

FieldTypeDescription
capabilitiesuint32detected capabilities
androidstruct: AndroidAndroid metadata
iosstruct: iOSiOS metadata
windows_phonestruct: Windows PhoneWindows Phone metadata
windows_store_packagestruct: Windows Store PackageWindows Store Package metadata

Capabilities, similarly as in the Application section, are expressed as a bit array. Check the integer from the report against the following descriptions:

BitMeaning
0x000001messaging
0x000002calling_services
0x000004advertising
0x000008gaming
0x000010networking
0x000020camera
0x000040microphone
0x000080bluetooth
0x000100notifications
0x000200device_identity
0x000400user_identity
0x000800address_book
0x001000calendar
0x002000location_services
0x004000storage
0x008000social
0x010000system
0x020000motion
0x040000wallet
0x080000vpn
0x100000nfc
0x200000peripheral_devices

In addition, mobile applications have the following bits set in case of a found capability:

  • none_k = 0,
  • messaging_k = 1 << 0, whether app has capability for sending messages
  • calling_services_k = 1 << 1, whether app has access to calling services
  • advertising_k = 1 << 2, whether app has capability for advertising
  • gaming_k = 1 << 3, whether app has gaming component
  • networking_k = 1 << 4, whether app has access to networking
  • camera_k = 1 << 5, whether app has capability for using camera
  • microphone_k = 1 << 6, whether app has capability for using microphone
  • bluetooth_k = 1 << 7, whether app has capability for using bluetooth
  • notifications_k = 1 << 8, whether app has capability for pushing notifications
  • device_identity_k = 1 << 9, whether app has access to device id
  • user_identity_k = 1 << 10, whether app has access to user id
  • address_book_k = 1 << 11, whether app has access to users address book
  • calendar_k = 1 << 12, whether app has access to users calendar
  • location_services_k = 1 << 13, whether app has capability for defining location of device
  • storage_k = 1 << 14, whether app has access to storage
  • social_k = 1 << 15, whether app has social component
  • system_k = 1 << 16, whether app has access to system
  • motion_k = 1 << 17, whether app has capability for detecting motion and direction (accelerometer, magnetometer...)
  • wallet_k = 1 << 18, whether app has access to users wallet
  • vpn_k = 1 << 19, whether app has capability for vpn
  • nfc_k = 1 << 20, whether app has capability for nfc
  • peripheral_devices_k = 1 << 21, whether app has access to peripheral devices
Android
FieldTypeDescription
package_namestringfull and unique Java-language-style package name for the application
version_codeint32internal version number
version_namestringversion number shown to the users
install_locationstringlocation where the application can be installed; accepted are: internalOnly, preferExternal or auto
sdk_version_minint32minimum API level required by the application
sdk_version_maxint32maximum API level required by the application
sdk_version_targetint32guaranteed compatibility API level
applicationstruct: Applicationandroid application data
featureslist: stringlist of hardware/software features required by the application
permissionslist: stringlist of permissions required by the application
Application (Android)
FieldTypeDescription
namestringfully qualified name of an application subclass implemented for the application
debuggablebooleanapplication has debug symbols
enabledbooleanapplication is enabled
has_codebooleanwhether or not the application contains any code
persistentbooleanwhether or not the application should remain running at all times
permissionstringname of a permission that clients must have in order to interact with the application
processstringname of a process where all components of the application should run
backup_agentstringname of the class that implement's the application's backup agent
uses_librarieslist: string
activitiesstruct-list: Activitylist of registered user interface activity callback events
servicesstruct-list: Servicelist of registered service callback events
providersstruct-list: Providerlist of registered broadcast provider callback events
receiversstruct-list: Receiverlist of registered broadcast receiver callback events

####### Activity

FieldTypeDescription
enabledbooleanactivity is enabled
exportedbooleanactivity is exported and other applications can use it
exclude_recentbooleanwhether or not the task initiated by this activity should be excluded from the list of recently used applications
namestringname of the class that implements the activity
parent_namestringclass name of the logical parent of the activity
launch_modestringexecution mode
permissionstringname of a permission that clients must have to launch the activity or otherwise get it to respond to an intent
processstringname of the process in which the activity should run
metadatastruct-list: Property
intentsstruct-list: Intentactivity intents

Intent

FieldType
mainboolean
actionslist: string
categorieslist: string
datastruct-list: Data
Data
hoststring
mime_typestring
pathstring
portstring
schemestring

####### Service

FieldTypeDescription
enabledbooleanservice is enabled
exportedbooleanservice is exported and other applications can use it
isolatedbooleanservice runs under a special process that is isolated from the rest of the system and has no permissions of its own
namestringname of the class that implements the service
permissionstringname of a permission that clients must have to launch the service or otherwise get it to respond to an intent
processstringname of the process in which the service should run
metadatastruct-list: Property
intentsstruct-list: Intentservice intents

####### Provider

FieldTypeDescription
enabledbooleanprovider is enabled
exportedbooleanprovider is exported and other applications can use it
syncablebooleandata under the content provider's control is to be synchronized with data on a server
namestringname of the class that implements the provider
readPermissionstring
permissionstringname of a permission that clients must have to read or write the content provider's data
processstringname of the process in which the content provider should run
metadatastruct-list: Property
intentsstruct-list: Intentprovider intents

####### Receiver

FieldTypeDescription
enabledbooleanreceiver is enabled
exportedbooleanreceiver is exported and other applications can use it
namestringname of the class that implements the provider
permissionstringname of a permission that clients must have to read or write the content provider's data
processstringname of the process in which the content provider should run
metadatastruct-list: Property
intentsstruct-list: Intentreceiver intents
iOS
FieldType
copyrightstring
genrestring
genre_idint32
kindstring
vendor_idint32
item_idint32
item_namestring
item_playlist_namestring
artist_idint32
artist_namestring
artist_playlist_namestring
release_datestring
priceint32
price_displaystring
download_infostruct: Download info
bundle_idstring
bundle_versionstring
drm_versionint32
version_restrictionsint32
file_extensionstring
application_bundlestruct: Application bundle
Download info
FieldType
apple_idstring
person_idint32
purchase_datestring
Application bundle
FieldType
identifierstring
namestring
display_namestring
versionstring
package_typestring
main_nib_filestring
main_executablestring
compiler_versionstring
xcode_versionstring
xcode_buildstring
sdk_namestring
sdk_buildstring
platform_namestring
platform_versionstring
platform_buildstring
minimum_os_versionstring
dictionary_versionstring
Windows Phone
FieldType
product_idstring
titlestring
versionstring
descriptionstring
authorstring
publisherstring
genrestring
runtime_typestring
has_settingsboolean
platform_versionstring
capabilitieslist: string
Windows Store Package
FieldTypeDescription
namestringdescribes contents of the package
name_displaystringfriendly name for the app that can be displayed to users
publisherstringdescribes publisher information
publisher_displaystringfriendly name for the publisher that can be displayed to users
versionstringversion number of the package
minimum_os_versionstringminimum version of operating system that the package requires
tested_os_versionstringhighest version of Windows that the package was tested on
dependencieslist: stringother packages that the package depends on to complete its software
capabilitieslist: stringaccess to protected user resources that the package requires
extensionslist: stringone or more extensibility points for the package
applicationsstruct-list: Applicationone or more apps that comprise the package
Application
FieldTypeDescription
idstringunique identifier of the application within the package (PRAID)
name_displaystringfriendly name for the app that can be displayed to users
descriptionstringdescription of the app
entry_pointstringactivatable class ID
executablestringdefault launch executable for the app
start_pagestringdefault launch HTML page for the app
extensionsstruct-list: Extensionlist of extensions

####### Extension (Application)

FieldTypeDescription
categorystringtype of app extensibility point
entry_pointstringactivatable class ID
executablestringdefault launch executable
runtime_typestringruntime provider
start_pagestringweb page that handles the extensibility point

Media

FieldTypeDescription
imagestruct: Imageimage object
audiostruct: Audioaudio object
videostruct: Videovideo object
Image
FieldTypeDescription
widthuint32image width in pixels
heightuint32image height in pixels
bit_depthuint32bits per pixel
horizontal_resolutiondecimal64horizontal resolution in dots per inch
vertical_resolutiondecimal64vertical resolution in dots per inch
frame_countuint32number of image frames
frame_ratedecimal64number of frames per second
exifstruct-list: ExifEXIF map
Exif
FieldType
namestring
valuesstruct-list: Exif value

####### Exif value

FieldType
namestring
valuestring
Video
FieldTypeDescription
scan_typeenumerationAllowed Values: unknown, progressive, interlaced
codecstringcodec name
widthuint32width in pixels
heightuint32height in pixels
lengthuint64length in milliseconds
frame_ratedecimal64frames per second
data_rateuint32
bit_rateuint32
audio_tracksstruct-list: Audio track
exifstruct-list: ExifEXIF map
Audio tracks
FieldType
namestring
audiostruct: Audio
Audio
FieldTypeDescription
codecstringcodec name
lengthuint64length in milliseconds
bit_rateuint32audio bit rate
sample_rateuint32audio sample rate
channelsuint32channel count
id3struct: ID3
exifstruct-list: ExifEXIF map
ID3
FieldTypeDescription
versionstringID3 version
propertiesstruct-list: PropertyID3 property list

Browser

FieldTypeDescription
typeenum: browser_type
namestringExtension identifier
shorthandstringShort version of name
localestringExtension default locale
authorstringExtension author
licensestringExtension license
versionstringExtension version
descriptionstringExtension description
public_keystringExtension public key
homepagestringURL of the extension's home page
update_urlstringURL of the extension's update page
permissionsstruct-list: PermissionPermissions to be requested
exportslist: stringIDs of extensions allowed to import this extension's resources
importslist: stringResources extension depends on
scriptsstruct-list: ScriptContent scripts
actionsstruct-list: ActionBrowser actions
resourceslist: string
pluginslist: string
browser_type (enum)
  • none
  • chrome
  • opera
  • firefox
  • edge
Permission
FieldTypeDescription
requiredbooleanFalse indicates that the requested permission is optional
valuestringPermission
Script
FieldTypeDescription
url_rulesstruct: URL rulePatterns defining which pages the script will be loaded into
inject_csslist: stringStylesheets to be loaded into matching pages
inject_jslist: stringScripts to be loaded into matching pages
URL rule
FieldTypeDescription
default_matchlist: stringURL patterns to be matched for the script to be loaded
exclude_matchlist: stringURL patterns not to be matched for the script to be loaded
include_globallist: stringGlobs to be matched for the script to be loaded
exclude_globallist: stringGlobs not to be matched for the script to be loaded
Action
FieldTypeDescription
titlestringTooltip
popupstringPath to HTML file containing popup specification

Email

FieldTypeDescription
messagestruct: Message
contactstruct: Contact
taskstruct: Task
appointmentstruct: Appointment
Message
FieldTypeDescription
fromstruct-list: MailboxList of email mailboxes in From: field
senderstruct: MailboxEmail mailbox indicated in Sender: field
reply_tostruct-list: MailboxList of email mailboxes in Reply-To: field
recipientsstruct-list: RecipientList of email recipients
subjectstringSubject of an email
message_idstringUnique message ID
in_reply_to_idslist: stringlist of message ids in conversation
origination_datestringMessage origination time in ISO 8601 format
headersstruct-list: HeaderExtra email headers
Mailbox
FieldType
namestring
emailstring
FieldType
namestring
valuestring
Contact
FieldTypeDescription
full_namestringcontact full name
titlestringcontact title
companystringcontact company name
urlstringcontact url
emailsstruct-list: Mailboxlist of emails
phone_numberslist: stringlist of phone numbers
addressesstruct-list: Addresslist of addresses
Address
FieldTypeDescription
streetstringcontact street address
citystringcontact city
statestringcontact state
postal_codestringcontact postal code
countrystringcontact country
Task
FieldTypeDescription
statusint32Current status of task
percent_completedecimal64Percentage of task that is already completed
Appointment
FieldTypeDescription
recurrenceint32Appointment recurrence
start_timestringAppointment start time
end_timestringAppointment end time
locationstringAppointment location

Software package

FieldTypeDescription
typeenum: package_type
verifiedenum: Verification
unique_idstringpackage identifier
namestringpackage name
versionstringpackage version
descriptionstringpackage summary
authorslist: stringlist of package authors
copyrightstringcopyright notice
homepagestringpackage homepage URL
repositorystringpackage source code repository URL
licensestringlicense name (e.g. GPLv3)
platformstruct: Platformplatform information, if any
permission_requirement_installint32indicates whether the installation process requires superuser privileges
permission_requirement_buildint32indicates whether the build process requires superuser privileges
release_dependenciesstruct-list: Software package dependencylist of release dependency packages
develop_dependenciesstruct-list: Software package dependencylist of development dependency packages
conflictsstringlist of packages which may cause problems if installed
replacesstringlist of packages which the package replaces and will be removed
vulnerabilitiesstringknown vulnerabilities
package_type (enum)
  • unknown
  • source
  • binary
Platform
FieldTypeDescription
namestringOS name
versionstringOS version
architecturestringCPU architecture name
featureslist: stringrequired OS features, such as win32k
Software package dependency
FieldTypeDescription
namestringdependency name
version_minstringversion range lower limit
version_maxstringversion range upper limit
vulnerabilitieslist: stringknown vulnerabilities

MITRE ATT&CK Framework

The behavior of malicious files can be expressed in terms of their actions. The MITRE ATT&CK framework defines the format and taxonomy used to describe threats. Here's an example of a malicious file's attack field.

"attack": [
{
"matrix":"Enterprise",
"tactics":[
{
"id":"TA0007",
"name":"Discovery",
"description":"The adversary is trying to figure out your environment.",
"techniques":[
{
"id":"T1082",
"name":"System Information Discovery",
"description":"An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Adversaries may use the information from System Information Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.",
"indicators":[
{
"priority":4,
"category":13,
"id":149,
"relevance":1,
"description":"Enumerates system information."
}
]
}
]
}
]
}
]
FieldType
matrixstring
tacticsstruct-list: Tactic
Tactic
FieldTypeDescription
idstringattack tactic ID
namestringattack tactic name
descriptionstringattack tactic description
techniquesstruct-list: Techniquelist of attack techniques
Technique
FieldTypeDescription
idstringattack technique ID
namestringattack technique name
descriptionstringattack technique description
indicatorsstruct-list: Indicator

Malware Configuration

Provides Command-and-Control server information and other detection strings and patterns.

FieldType
familystring
versionstring
identifierstring
run_mutexstring
log_mutexstring
install_pathstring
host_processstring
passwordstring
serversstruct-list: Server
propertiesstruct-list: Property
Server
FieldType
protocolstring
domain_ipstring
domain_namestring
remote_pathstring
remote_portint32
local_pathstring
propertiesstruct-list: Property

Strings

FieldTypeDescription
flagsuint32
occurrencesint32number of occurrences
offsetint64offset of the first occurrence (-1 if unknown)
valuestringstring value

Indicator

Indicators describe sample behavior and indicate what the sample is capable of based on the results of static analysis. They are human readable descriptions of object intent. Because of that, they simplify the code analysis process by converting complex code patterns into descriptions of their behavior. Simply put, they make it possible to describe the file behavior through descriptions like "Downloads a file", "Encrypts or encodes data in memory using Windows API", "Enumerates currently available disk drives", etc.

FieldTypeDescription
priorityint32Priority is a number used to sort the indicators from least to most interesting (0 to 10) within a category. The priority of an indicator is determined by the severity of the action described by the indicator. More dangerous indicators are prioritized higher within their category.
categoryint32Can be one of 24 categories. Each category is indicated by a number. Their descriptions are listed under indicator categories.
idint32Unique ID of an indicator.
relevanceint32Contribution to the final classification.
descriptionstringShort description of the capability that the detected indicator refers to.
reasonsstruct-list: ReasonList of reasons, with individual descriptions.

Indicator categories

0 - network - The file has network-related indicators (e.g. downloads a file, tampering with DNS settings)

1 - evasion - The file tries to evade common debuggers, sandboxes or analysis tools (e.g. VM environment detection)

2 - stealth - The file tries to hide its presence (e.g. tampers with window transparency settings, tampers with firewall settings)

3 - autostart - The file tampers with autostart settings (e.g. tampers with autorun locations)

4 - memory - The file tampers with memory of foreign processes (e.g. does process injection)

5 - document - The file exhibits unusual activities when handling documents (e.g. PDF that creates new documents)

6 - anomaly - The file contains unusual characteristics (e.g. contains known whitelisted executable filenames)

7 - monitor - The file has the ability to monitor host activities (e.g. accesses a list of logged on users)

8 - disable - The file disables system services (e.g. tampers with Windows Update)

9 - registry - The file accesses registry and configuration files in an unusual way (e.g. tampers with Windows registry settings)

10 - execution - The file creates other processes or starts other applications (e.g. creates a service, installs system drivers)

11 - permissions - The file tampers with or request additional permissions for execution (e.g. tampers with user/account privileges)

12 - search - The file enumerates or collects information from a system (e.g. enumerates network shares or mounted drives)

13 - settings - The file accesses or tampers with system settings (e.g. enumerates system information)

14 - macro - The file contains or executes macro functions or scripts (e.g. contains UNIX shell scripts, executes actions associated with bookmarks)

15 - flow - The file leaks sensitive information to external hosts or creates new files with sensitive data (e.g. exports PDF form fields to files)

16 - behavior - The file automatically executes activities as a user (e.g. changes username or password, prints a document)

17 - signature - The file matches a known signature (e.g. contains known compression libraries, HTTP header fields)

18 - steal - The file steals and leaks sensitive information (e.g. accesses Outlook account information and address book)

19 - family - The file is associated with known malicious families

20 - packer - The file contains obfuscated or encrypted code or data (e.g. base64 encoded streams)

21 - exploit - The file contains known exploits against the system

22 - file - The file accesses other files on the filesystem in an unusual way (e.g. creates a cryptographic hash of file contents)

23 - payload - The file extracts and launches new behavior in an unusual way (e.g. injects CSS into a page)

Reason

FieldType
propagatedboolean
categorystring
descriptionstring

Interesting Strings

These are strings found within a file, such as IP addresses.

FieldType
offsetint64
occurrencesint32
scan_resultstruct: Scanner result
valuestring
tagslist: string

Story

The story section contains a summarized natural language description of the file's behavior and properties.

FieldTypeDescription
captionstringparagraph caption
contentstringparagraph content with placeholders for story arguments
argumentsstruct-list: Story argumentpositional arguments to be inserted into placeholders in content

Story argument

FieldTypeDescription
linkstringlink address or text used for query
textstringtext to display
typeenum: Story argument type
Story argument type (enum)
  • external_link
  • internal_link
  • search_query

Tags

This is an array of numeric values, each with a corresponding meaning (string). When Spectra Core analyzes a file, it automatically tags it with all applicable tags. See the full list of tags in Appendix C.

Index

An int32, specifying the position within the originally requested report. Index 0 means the parent file (the one originally analyzed), and each subsequent index denotes a child file.

Children

An array of int32, with each value corresponding to an index value of a direct descendant.

Parent

An int32, specifying to the index of the immediate parent.

Common Objects

Property

FieldType
namestring
valuestring

Pair

FieldType
namestring
valuestring

network_reputation

FieldTypeDescription
typestringThe type of requested network location
requested_network_locationstringThe requested URL, domain or IP address
classificationenumReversingLabs classification, available only for URLs. Possible values are malicious, suspicious, known, or unknown.
reasonstringClassification reason (if the classification is not unknown)
categoriesstringList of categories that the URI in question belongs to. List items are strings. The strings are arbitrary values.
first_seenstringIndicates the initial detection of the requested URL/domain/IP by a third-party source, the first instance of obtaining metadata for the requested URL/domain/IP from ReversingLabs static/dynamic file processing services (related files), or the first time the requested URL has been crawled.
last_seenstringThe last time when the requested URL/domain/IP received a detection from a third-party source, the last instance of obtaining metadata for the requested URL/domain/IP from ReversingLabs static/dynamic file processing services (related files), or the last time the requested URL has been crawled.
third_party_reputationsstringThird party URL/domain/IP reputation counters showing the number of third party sources that detected the item as malicious/clean/undetected.
associated_malwarebooleanA boolean indicator showing if ReversingLabs downloaded malware from the submitted URL/domain/IP.

Appendix A: Suspicious Embedded File Types

Binary/None/PythonPYC

DEX/Exe

DEX/None

ELF32 Big/Core

ELF32 Big/Exe

ELF32 Big/None

ELF32 Big/Relocatable

ELF32 Big/SO

ELF32 Little/Core

ELF32 Little/Exe

ELF32 Little/None

ELF32 Little/Relocatable

ELF32 Little/SO

ELF64 Big/Core

ELF64 Big/Exe

ELF64 Big/None

ELF64 Big/Relocatable

ELF64 Big/SO

ELF64 Little/Core

ELF64 Little/Exe

ELF64 Little/None

ELF64 Little/Relocatable

ELF64 Little/SO

MZ/DOS

MZ/None

MZ/Relocatable

MachO32 Big/Bundle

MachO32 Big/Core

MachO32 Big/Exe

MachO32 Big/None

MachO32 Big/Relocatable

MachO32 Big/SO

MachO32 Little/Bundle

MachO32 Little/Core

MachO32 Little/Exe

MachO32 Little/None

MachO32 Little/Relocatable

MachO32 Little/SO

MachO64 Big/Bundle

MachO64 Big/Core

MachO64 Big/Exe

MachO64 Big/None

MachO64 Big/Relocatable

MachO64 Big/SO

MachO64 Little/Bundle

MachO64 Little/Core

MachO64 Little/Exe

MachO64 Little/None

MachO64 Little/Relocatable

MachO64 Little/SO

ODEX/Exe

ODEX/None

PE+/.Net Dll

PE+/.Net Exe

PE+/Dll

PE+/Exe

PE+/None

PE+/VXD

PE/.Net Dll

PE/.Net Exe

PE/Dll

PE/Exe

PE/None

PE/VXD

PE16/Dll

PE16/Exe

PE16/None

Text/Acrobat JavaScript

Text/ActionScript

Text/Batch

Text/CMake

Text/CoffeeScript

Text/JavaScript

Text/Makefile

Text/NodeJS

Text/PHP

Text/Perl

Text/Perl6

Text/PowerShell

Text/Python

Text/Ruby

Text/Shell

Text/TypeScript

Text/VBA

Text/Visual Basic

Video/None/SWF

Video/None/DOSWF

Appendix B: Splunk Format Changes

The format of data that is sent to Splunk differs in minor ways from the format that is specified in this document. The reason why data is changed before being sent to Splunk is to make it more suitable for indexing by Splunk. Reports sent to Splunk differ from the original in the following sections:

  • if classification is 0 or 1, factor becomes confidence
  • if classification is 2 or 3, factor becomes severity
  • a string_status field is added with the overall classification (UNKNOWN, GOODWARE, SUSPICIOUS, MALICIOUS)
  • scanner name becomes reason
  • scanner result becomes threat

Appendix C: Spectra Core Tags

Generic tags - can be applied to many file formats

TagDescription
access-control-informationThe file contains access control descriptors such as file permissions, group memberships or similar information about a securable object
anonymous-emailThe file contains e-mail addresses from anonymous e-mail providers
cert-appendixThe file contains additional data after the certificate
cert-bad-timestampThe file is digitally signed with a certificate that has a bad timestamp
cert-dual-signedThe file is digitally signed with two signatures that independently verify file integrity
cert-expiredThe file’s certificate chain has at least one expired certificate
cert-impersonateThe file is digitally signed with a certificate that impersonates one of well-known entities (e.g. Microsoft or Google)
cert-invalidThe file was signed with an invalid certificate (it didn’t pass the validation process)
cert-malformedThe file is digitally signed with a certificate that was malformed
cert-revokedThe file is digitally signed with a certificate that has been revoked
cert-revoked-aa-compromiseThe file is digitally signed with a certificate that has been revoked due to AA compromise
cert-revoked-affiliation-changedThe file is digitally signed with a certificate that has been revoked due to change in affiliation
cert-revoked-ca-compromiseThe file is digitally signed with a certificate that has been revoked due to CA compromise
cert-revoked-cert-holdThe file is digitally signed with a certificate that has been put on hold (the signer has been suspended)
cert-revoked-cessation-of-operationThe file is digitally signed with a certificate that has been revoked because the signer has ceased its operations
cert-revoked-key-compromiseThe file is digitally signed with a certificate that has been revoked due to private key compromise
cert-revoked-privilege-withdrawnThe file is digitally signed with a certificate that has been revoked because the signer privilege has been withdrawn
cert-revoked-remove-from-crlThe file is digitally signed with a certificate that has been removed from the revocation list
cert-revoked-supersededThe file is digitally signed with a certificate that has been revoked because it has been superseded
cert-revoked-unspecifiedThe file is digitally signed with a certificate that has been revoked due to unspecified reason
cert-self-signedThe file is digitally signed with a self-signed certificate (e.g. JAR or APK)
cert-signedThe file is digitally signed with a certificate (signature may or may not be valid)
cert-signed-after-expirationThe file was digitally counter-signed after at least one certificate in certificate chain expired
cert-signed-after-revocationThe file is digitally signed with a certificate that has been revoked at the time of signing
cert-untrustedThe file is digitally signed with a certificate that is valid, but its root CA certificate is not in the Spectra Core certificate store
cert-weak-cryptoThe file was digitally signed with certificates using an old hashing algorithm (e.g. MD5) or with a short key
contains-api-keyThe file contains an API key used to authenticate a user, developer, or calling program to an API
contains-archiveThe file contains one or more archive files (such as ZIP, RAR, Jar)
contains-documentThe file contains one or more document files
contains-elfThe file contains one or more ELF (Executable and Linkable Format) files
contains-key-secret-pairThe file contains plaintext credentials, generally used for authentication
contains-machoThe file contains one or more Mach-O files
contains-peThe file contains one or more PE (Portable Executable) files
contains-private-key-encryptedThe file contains an encrypted PKI private key
contains-private-key-plaintextThe file contains a PKI private key
contains-scriptThe file contains one or more script files
contains-tokenThe file contains an access or refresh token generally used for authentication
contains-webhookThe file contains a private webhook which may contain sensitive information
cryptocurrencyThe file has cryptocurrency-related indicators (e.g. accesses BitCoin wallet files)
ddeThe file has Dynamic Data Exchange capabilities that may be used to interact with other applications
desktopThe file appears to be a desktop application (e.g. PE or ELF)
email-outlookThe file has Outlook-related indicators (e.g. accesses mailbox files, credentials)
email-patternThe file has generic e-mail-related indicators (e.g. accesses mailbox files, credentials)
email-thunderbirdThe file has Thunderbird-related indicators (e.g. accesses mailbox files, credentials)
encryptedContains encrypted files (e.g. password-protected archive)
entropy-highThe file has unusually high entropy (i.e. entropy > 7)
entropy-zeroThe file is zero-filled (full of 00 bytes)
exifThe file has EXIF metadata (such as camera information or GPS metadata)
geotaggingThe file has EXIF metadata containing GPS coordinates
guid-activex-killbitThe file contains ActiveX GUIDs with the Kill-Bit flag set
im-skypeThe file has Skype-related indicators (e.g. accesses chat history, credentials)
image-corruptThe image is corrupt because of some format discrepancy (e.g. invalid segment size)
image-malformedThe image is malformed (e.g. frame dimension is zero)
image-segment-duplicateThe image has a duplicate segment
image-segment-unexpected-locationAn image segment has been found in an unexpected location
image-segment-unknownAn unknown image segment has been encountered
linguistThe file’s subtype was determined by a ReversingLabs machine learning model
machine-learningThe file was classified by a ReversingLabs machine learning model
nsis-table-invalid-offsetThe NSIS installer is corrupt due to invalid table offset
nsis-table-invalid-sizeThe NSIS installer is corrupt due to invalid table size
ntfs-alternate-data-streamThe file contains data which was part of an NTFS Alternate Data Stream
obfuscatedThe file contains obfuscated code or data
probably-packedA heuristic method determined that the PE file may be packed
overlayThe file has an overlay (appended data at the file’s end) - applies only to PE files
passwordThe file is password-protected (e.g. a password-protected archive)
ransomware-artifactThe file contains artifacts associated with ransomware (e.g. mail addresses, domains)
ransomware-encryptedThe file was encrypted by known ransomware (e.g. TeslaCrypt encrypted files)
scriptThe file appears to be a script (e.g. shell or Javascript)
sql-queryThe file contains generic SQL queries
ssh-keyThe file can use or modify SSH keys
stegoThe file is a result of stego extraction
stego-compressedThe file contains compressed embedded PE files
stego-embeddedThe file contains plain embedded PE files
stego-encodedThe file contains encoded embedded PE files
stego-encryptedThe file contains encrypted embedded PE files
uri-banking-websiteThe file contains URLs related to banking and monetary institutions
uri-credentialsThe file contains URLs that embed sign-in credentials in plaintext due to protocol requirements
uri-deceptive-fileThe file contains URLs that point to executable content hidden behind double extensions
uri-domain-blacklistedThe file contains URLs that point to a known blacklisted domain
uri-domain-homoglyphThe file contains URLs that try to trick the user into thinking they are visiting a trusted domain
uri-domain-punycodeThe file contains URLs that try to trick the user into thinking they are visiting a trusted domain
uri-domain-spoofedThe file contains URLs that try to trick the user into thinking they are visiting a trusted domain
uri-domain-typosquatThe file contains URLs that try to trick the user into thinking they are visiting a trusted domain
uri-dynamic-dnsThe file contains URLs pointing to domains hosted on dynamic DNS
uri-hostname-lengthThe file contains URLs pointing to domains that are unusually long
uri-interesting-fileThe file contains URLs that point to interesting files or file extensions
uri-ip-addressThe file contains URLs pointing to webservers hosted on IP addresses
uri-malicious-redirectThe file contains URLs that redirect to malicious domains
uri-malware-regexThe file contains URLs that match a known malware regex pattern
uri-onion-websiteThe file contains URLs pointing to domains hosted on TOR network
uri-open-redirectThe file contains URLs that redirect to other domains
uri-path-lengthThe file contains URLs pointing to paths that are unusually long
uri-path-spoofedThe file contains URLs that point to a known sign-in path but don't reside on the trusted domain
uri-security-websiteThe file contains URLs related to security product vendors
uri-shortenedThe file contains shortened URLs
uri-subdomain-countThe file contains URLs pointing to paths that contain excessive number of subdomains
uri-suspicious-pathThe file contains URLs that contain a suspicious path section
uri-suspicious-portThe file contains URLs that utilize non-standard ports for the specified protocol
uri-suspicious-queryThe file contains URLs that include suspicious SQL query commands
uri-suspicious-tldThe file contains URLs pointing to domains hosted on suspicious TLDs

Behavior tags - describe behavior of executables, documents, scripts, and mobile applications

TAGDescription
account-settings-tamperThe file can tamper with user account settings
autorunThe file can tamper with autorun settings (e.g. autorun registry keys, autorun locations)
av-disableThe file can disable services related to security products
av-impersonateThe file can impersonate services related to security products
av-service-detectThe file can detect services related to security products
av-tamperThe file can tamper with services related to security products
backup-tamperThe file can tamper with backup (e.g. erases backup copies, tampers with backup settings)
bitlocker-tamperThe file can tamper with BitLocker settings
data-exfiltrationThe file can exfiltrate various data (e.g. stored credentials, mailbox files, configuration data)
dns-tamperThe file can tamper with DNS configuration
dns-useThe file can use the DNS protocol (e.g. issues DNS queries, locates network services)
file-downloadThe file has the capability to download files
file-uploadThe file has the capability to upload files
firewall-tamperThe file can tamper with firewall settings
ftp-useThe file can use the FTP protocol (e.g. to upload files, to download files)
hosts-modifierThe file can tamper with hosts file or registry keys
impersonate-nativeThe file can impersonate native services (e.g. impersonates Windows Explorer)
irc-useThe file can use the IRC communication protocol
log-tamperThe file can tamper with logging configuration or log files
netntlm-hash-leakThe file contains references to SMB resources that leak NetNTLM hashes
network-settings-tamperThe file can tamper with network settings
nfs-tamperThe file can tamper with NFS settings
privacy-intrusionThe file has indicators related to privacy intrusion (e.g. takes screenshots, monitors users input)
privilege-escalationThe file has the capability to elevate user privileges
process-injectionThe file has the capability to write into other processes
process-terminationThe file can terminate other processes
proxyThe file can access or modify proxy settings
registry-tamperThe file can tamper with the registry
security-settings-tamperThe file can tamper with various security settings (e.g. security or audit policies)
service-disableThe file can disable services
smb-tamperThe file can tamper with the SMB protocol
startup-tamperThe file can tamper with startup settings (e.g. Windows bootup process)
storage-settings-tamperThe file can tamper with storage settings
storage-tamperThe file can tamper with external storage
uac-bypassThe file can bypass User Account Control
update-disableThe file can disable update services
virtualization-settings-tamperThe file can tamper with virtualization settings
vpn-tamperThe file can tamper with VPN settings
vpn-useThe file has the capability to use VPN
web-requestThe file has the capability to generate web requests
wmi-useThe file can use Windows Management Instrumentation (WMI)

Application-related tags - apply only to files with application metadata (PE, ELF, OSX, DEX, …)

TAGDESCRIPTION
arch-mipsThe file’s target CPU architecture is MIPS
arch-powerpcThe file’s target CPU architecture is PowerPC
arch-sparcThe file’s target CPU architecture is SPARC
arch-x86The file’s target CPU architecture is x86
arch-x86-64The file’s target CPU architecture is x86-64
arch-arm-64The file’s target CPU architecture is ARM64
arch-armThe file’s target CPU architecture is ARM
codeviewThe application has debugging symbols metadata
cuiThe application uses Console User Interface subsystem (applies to PE files)
guiThe application uses Graphical User Interface subsystem (applies to PE files)
installerThe file is an installer package
library-adThe application contains advertising-related libraries (e.g. Adfonic)
library-analyticsThe application contains advertising and usage analytics-related libraries (e.g. Google Analytics)
library-audioThe application contains audio playback related libraries (e.g. Vorbis)
library-browserThe application contains browser-related libraries
library-cloudThe application contains cloud networking-related libraries (e.g. Dropbox)
library-compressionThe application contains compression-related libraries (e.g. Zip)
library-cryptoThe application contains cryptography-related libraries (e.g. OAuth)
library-databaseThe application contains database-related libraries (e.g. MySQL)
library-developmentThe application contains development-related libraries
library-driverThe application contains driver-related libraries
library-educationalThe application contains education-related libraries
library-emailThe application contains email-related libraries
library-entertainmentThe application contains entertainment-related libraries
library-gamingThe application contains gaming-related libraries
library-graphicsThe application contains drawing or rendering libraries (e.g. Unity)
library-messagingThe application contains network messaging-related libraries (e.g. RabbitMQ)
library-multimediaThe application contains multimedia-related libraries (e.g. Amazon Game Circle)
library-networkingThe applications contains network communication-related libraries (e.g. curl)
library-productivityThe application contains productivity-related libraries
library-securityThe application contains security-related libraries
library-socialThe application contains social networking-related libraries (e.g. Facebook)
library-utilityThe application contains programming utility libraries (e.g. ICU)
library-virtualizationThe application contains virtualization-related libraries
lolbinThe file was identified as a LoLBin (living-off-the-land binary)
pluginThe application is plugin for particular software
protection-aslrThe file has the Address Space Layout Randomisation exploit protection enabled
protection-depThe file has the Data Execution Prevention exploit protection enabled
protection-ehcThe file has the Exception Handling Continuation exploit protection enabled
protection-cfgThe file has the Control Flow Guard exploit protection enabled
protection-retThe file has the Retpoline exploit protection enabled
protection-rfgThe file has the Return Flow Guard exploit protection enabled
protection-mpxThe file has the Intel Memory Protection guard enabled
protection-xfgThe file has the Extreme Flow Guard exploit protection enabled
protection-cetThe file has the Intel Control-Flow Enforcement Technology guard enabled
protection-sdlThe file has been compiled to follow the Secure Development Lifecycle guidelines
protection-sehThe file has safe exception handling protection enabled
protection-stackThe file has buffer overrun exploit protection enabled
force-integrityThe file has integrity protection checks that prevent execution on change
packedThe application is packed with a known packer (e.g. with UPX)
rich-headerThe application has rich header metadata (applies to PE files)
reproducible-buildThe application has been compiled in a reproducible way which invalidates all timestamps
sfxThe file is a self-extracting archive (an application that embeds an archive)
taggantThe application has Taggant-related metadata
tool-hacktoolThe application is used to assist hacking
tool-steganographyThe application has steganography capabilities
uefiThe application is designed for the UEFI subsystem (applies to PE files)
uninstallerThe application is uninstaller for particular software
unsupported-applicationThe application is deprecated and no longer supported by vendor
updaterThe application is updater for particular software
version-infoThe application has version information metadata
vulnerable-with-cveThe application has vulnerability with assigned CVE
vulnerable-without-cveThe application has vulnerability without assigned CVE
xboxThe application is designed for the XBOX subsystem (applies to PE files)

Mobile-related tags - apply only to mobile applications

TAGDESCRIPTION
android-cupcakeThe mobile application uses the Android API level 3
android-donutThe mobile application uses the Android API level 4
android-eclairThe mobile application uses the Android API levels 5 to 7
android-froyoThe mobile application uses the Android API level 8
android-gingerbreadThe mobile application uses the Android API levels 9 to 10
android-honeycombThe mobile application uses the Android API levels 11 to 13
android-ice-cream-sandwichThe mobile application uses the Android API levels 14 to 15
android-jelly-beanThe mobile application uses the Android API levels 16 to 18
android-kitkatThe mobile application uses the Android API levels 19 to 20
android-lollipopThe mobile application uses the Android API levels 21 to 22
android-marshmallowThe mobile application uses the Android API level 23
android-nougatThe mobile application uses the Android API levels 24 to 25
android-oreoThe mobile application uses the Android API levels 26 to 27
android-pieThe mobile application uses the Android API level 28
android-10The mobile application uses the Android API level 29
android-11The mobile application uses the Android API level 30
mobileThe file appears to be a mobile application (e.g. Android APK or Windows Phone applications)
mobile-custom-permissionsThe mobile application has user-defined permissions
mobile-data-accessThe mobile application can read and write to the external storage on the device
mobile-deprecatedThe mobile application can abuse permissions from deprecated APIs
mobile-gpsThe mobile application can access location services
mobile-infostealerThe mobile application can access and read information such as call logs, contacts, calendars...
mobile-loggingThe mobile application can read and modify call logs
mobile-settingsThe mobile application can change system settings on the device
mobile-smsThe mobile application can read, write, or receive SMS messages
mobile-telcoThe mobile application can access and use the telecom connection service
mobile-voicemailThe mobile application can access and send voicemail messages

Malware tags - identify malware types and refer to other malware metadata

TAGDESCRIPTION
backdoorThe malware was identified as a backdoor
c2The malware has an embedded malware/data configuration (e.g. C2 info or mutex)
custom-packedThe file appears to be packed with a custom packer
downloaderThe malware was identified as a downloader
keyloggerThe malware was identified as a keylogger
posThe malware was identified as a point-of-sale malware
ransomwareThe malware was identified as ransomware

Packer tags - refer to packer-related metadata

TAGDESCRIPTION
antidebuggingThe file uses anti-debugging techniques
antidumpingThe file uses anti-dumping techniques
antiemulationThe file uses anti-emulation techniques
antisandboxThe file uses anti-sandbox techniques
antitracingThe file uses anti-tracing techniques
fake-signatureThe file uses fake signatures to thwart signature-based identification
import-eliminationThe packed file eliminates or has eliminated its import information
import-redirectionThe packed file redirects imports to make unpacking harder
pe-compressionThe file has a compressed payload/configuration
pe-encryptionThe file has an encrypted payload/configuration
pe-encryption-rc4The file uses RC4 to encrypt the payload/configuration
pe-encryption-teaThe file uses TEA to encrypt the payload/configuration
polymorphicThe file was packed with a polymorphic packer
remove-epThe packed file has a stolen original entry point
remove-headerThe packed file removes the PE header during unpacking to make unpacking harder
tamper-protectionThe file checks for signs of modification to make unpacking harder

Browser tags - refer to browser-related metadata

TAGDESCRIPTION
chrome-referenceThe file contains references to Chrome or Chrome-related data (e.g. accesses settings, contains Chrome user agent strings)
chrome-tamperThe file can tamper with Chrome or Chrome-related settings (e.g. performs process injection into the Chrome executable)
chromium-referenceThe file contains references to Chromium or Chromium-related data (e.g. accesses settings, contains Chromium user agent strings)
chromium-tamperThe file can tamper with Chromium or Chromium-related settings (e.g. performs process injection into the Chromium executable)
firefox-referenceThe file contains references to Firefox or Firefox-related data (e.g. accesses settings, contains Firefox user agent strings)
firefox-tamperThe file can tamper with Firefox or Firefox-related settings (e.g. performs process injection into the Firefox executable)
internet-explorer-referenceThe file contains references to Internet Explorer or Internet Explorer-related data (e.g. accesses settings, contains Internet Explorer user agent strings)
internet-explorer-tamperThe file can tamper with Internet Explorer or Internet Explorer-related settings (e.g. performs process injection into the Internet Explorer executable)
netscape-referenceThe file contains references to Netscape or Netscape-related data (e.g. accesses settings, contains Netscape user agent strings)
netscape-tamperThe file can tamper with Netscape or Netscape-related settings (e.g. performs process injection into the Netscape executable)
opera-referenceThe file contains references to Opera or Opera-related data (e.g. accesses settings, contains Opera user agent strings)
opera-tamperThe file can tamper with Opera or Opera-related settings (e.g. performs process injection into the Opera executable)
safari-referenceThe file contains references to Safari or Safari-related data (e.g. accesses settings, contains Safari user agent strings)
safari-tamperThe file can tamper with Safari or Safari-related settings (e.g. performs process injection into the Safari executable)

Classification tags - apply only to classified files

TAGDESCRIPTION
cert-blacklistedThe file was digitally signed with a blacklisted certificate
cert-whitelistedThe file was digitally signed with a whitelisted certificate
cloudThe file was classified by ReversingLabs Malware Presence (e.g. the hash is a well-known threat)
exploitThe file was classified by Spectra Core exploit detection from an unpacker or a validator (e.g. RTF)
graylistingThe file was classified by graylisting (e.g. an archive containing only text files)
hierarchy-analyzerThe file was classified by Spectra Core file hierarchy analysis (e.g. embedded executables within a document format)
image-analyzerThe file was classified by Spectra Core image analyzer (e.g. suspicious data was found within an image)
riccThe file was classified by Spectra Core RICC (e.g. RHA classification, RICC rule classifications)
signatureThe file was classified by Spectra Core signature
antivirusThe file was classified by an AntiVirus component
ng-antivirusThe file was classified by a NextGen AntiVirus component
yaraThe file was classified by a YARA rule

Capability tags - refer to capabilities of executables, documents, and mobile applications

TAGDESCRIPTION
capability-advertisingThe file has advertising-related capabilities (e.g. AdMob) - applies to documents and mobile formats
capability-bluetoothThe file can use Bluetooth to communicate with other devices - mobile-specific tag
capability-cameraThe file has access to the camera - applies to documents and mobile formats
capability-cryptographyThe file has cryptography-related capabilities (e.g. it can encrypt or hash data and files)
capability-deprecatedThe file uses deprecated APIs
capability-embedsThe file has other files embedded within (e.g. an iframe or an OLE object) - document-specific tag
capability-executionThe file has execution-related capabilities (e.g. an application can spawn new processes or threads)
capability-filesystemThe file has filesystem-related capabilities (e.g. it can open and read files)
capability-identificationThe file has access to user or device identity - mobile-specific tag
capability-microphoneThe file has access to the microphone - applies to documents and mobile formats
capability-networkingThe file has networking-related capabilities (e.g. it can open a socket and send/receive data)
capability-nfcThe file can use Near Field Communication (NFC) to communicate with other devices - mobile-specific tag
capability-scriptingThe file uses a scripting language (e.g. a document contains and uses macros) - document-specific tag
capability-securityThe file has security-related capabilities
capability-socialThe file has access to social components or providers (e.g. Facebook) - applies to documents and mobile formats
capability-undocumentedThe file uses undocumented functions
capability-vpnThe file can access VPNs - mobile-specific tag
capability-walletThe file has access to user’s wallet - mobile-specific tag

Indicator tags - refer to indicators found in executables, documents, scripts, and mobile applications

An indicator tag will be emitted by Spectra Core only if the priority of a particular indicator is not low (i.e. priority > 3).

TAGDESCRIPTION
indicator-anomalyThe file contains unusual characteristics (e.g. contains known whitelisted executable filenames)
indicator-autostartThe file tampers with autostart settings (e.g. tampers with autorun locations)
indicator-behaviorThe file automatically executes activities as a user (e.g. changes username or password, prints a document)
indicator-disableThe file disables system services (e.g. tampers with Windows Update)
indicator-documentThe file exhibits unusual activities when handling documents (e.g. PDF that creates new documents)
indicator-evasionThe file tries to evade common debuggers, sandboxes or analysis tools (e.g. VM environment detection)
indicator-executionThe file creates other processes or starts other applications (e.g. creates a service, installs system drivers)
indicator-exploitThe file contains known exploits against the system
indicator-familyThe file is associated with known malicious families
indicator-fileThe file accesses other files on the filesystem in an unusual way (e.g. creates a cryptographic hash of file contents)
indicator-flowThe file leaks sensitive information to external hosts or creates new files with sensitive data (e.g. exports PDF form fields to files)
indicator-macroThe file contains or executes macro functions or scripts (e.g. contains UNIX shell scripts, executes actions associated with bookmarks)
indicator-memoryThe file tampers with memory of foreign processes (e.g. does process injection)
indicator-monitorThe file has the ability to monitor host activities (e.g. accesses a list of logged on users)
indicator-networkThe file has network-related indicators (e.g. downloads a file, tampering with DNS settings)
indicator-packerThe file contains obfuscated or encrypted code or data (e.g. base64 encoded streams)
indicator-payloadThe file extracts and launches new behavior in an unusual way (e.g. injects CSS into a page)
indicator-permissionsThe file tampers with or request additional permissions for execution (e.g. tampers with user/account privileges)
indicator-registryThe file accesses registry and configuration files in an unusual way (e.g. tampers with Windows registry settings)
indicator-searchThe file enumerates or collects information from a system (e.g. enumerates network shares or mounted drives)
indicator-settingsThe file accesses or tampers with system settings (e.g. enumerates system information)
indicator-signatureThe file matches a known signature (e.g. contains known compression libraries, HTTP header fields)
indicator-stealThe file steals and leaks sensitive information (e.g. accesses Outlook account information and address book)
indicator-stealthThe file tries to hide its presence (e.g. tampers with window transparency settings, tampers with firewall settings)

String tags - related to Spectra Core interesting strings

TAGDESCRIPTION
string-fileThe file contains interesting strings related to the file URI scheme
string-scpThe file contains SCP-related interesting strings
string-calltoThe file contains interesting strings related to the CallTo communication protocol
string-h323The file contains interesting strings related to the H.323 multimedia communication protocol
string-webcalThe file contains interesting strings related to iCalendar files
string-ftpThe file contains FTP-related interesting strings
string-httpThe file contains HTTP-related interesting strings
string-httpsThe file contains HTTPS-related interesting strings
string-mailtoThe file contains mailto-related interesting strings
string-sftpThe file contains SFTP-related interesting strings
string-sipThe file contains SIP-related interesting strings
string-sshThe file contains SSH-related interesting strings
string-telnetThe file contains Telnet-related interesting strings

Compression and crypto tags - related to identified compression and crypto content

TAGDESCRIPTION
compression-brotliThe file has content related to Brotli compression algorithm
compression-bzip2The file has content related to BZip2 compression algorithm
compression-deflateThe file has content related to Deflate compression algorithm
compression-dickyThe file has content related to Dicky compression algorithm
compression-gipfeliThe file has content related to Gipfeli compression algorithm
compression-gzipThe file has content related to GZip compression
compression-inflateThe file has content related to Inflate compression algorithm
compression-lz4The file has content related to LZ4 compression algorithm
compression-lzfseThe file has content related to LZFSE compression algorithm
compression-lzhufThe file has content related to LZHUF compression algorithm
compression-lzmaThe file has content related to LZMA compression algorithm
compression-ncompress42The file has content related to Ncompress42 compression algorithm
compression-pithyThe file has content related to Pithy compression algorithm
compression-pkzipThe file has content related to PKZIP compression algorithm
compression-pucrunchThe file has content related to Pucrunch compression algorithm
compression-snappyThe file has content related to Snappy compression algorithm
compression-unlzxThe file has content related to UnLZX compression algorithm
compression-unrarlibThe file has content related to unrarlib compression algorithm
compression-zipThe file has content related to Zip compression
compression-zlibThe file has content related to Zlib compression algorithm
compression-zstdThe file has content related to Zstd compression algorithm
crypto-acssThe file has content related to ACSS algorithm
crypto-adler-crc32The file has content related to Adler-32 algorithm
crypto-base32The file has content related to Base32 algorithm
crypto-base64The file has content related to Base64 algorithm
crypto-base64urlThe file has content related to Base64URL algorithm
crypto-bcryptThe file has content related to BCrypt algorithm
crypto-bhencodeThe file has content related to Bhencode algorithm
crypto-blakeThe file has content related to Blake algorithm
crypto-blowfishThe file has content related to Blowfish algorithm
crypto-bmw512The file has content related to BMW-512 algorithm
crypto-botanThe file has content found in Botan cryptography library
crypto-camelliaThe file has content related to Camellia algorithm
crypto-castThe file has content related to CAST algorithm
crypto-cast256The file has content related to CAST-256 algorithm
crypto-clefiaThe file has content related to CLEFIA algorithm
crypto-collisionThe file contains blocks used in SHA-1 collision attacks
crypto-crc32The file has content related to CLEFIA algorithm
crypto-cryptlibThe file has content found in Cryptlib cryptography library
crypto-cryptoppThe file has content found in Cryptopp (Crypto++) cryptography library
crypto-desThe file has content related to DES algorithm
crypto-desxThe file has content related to DESX algorithm
crypto-dsaThe file has content related to Digital Signature Algorithm (DSA)
crypto-eccThe file has content related to Elliptic-curve cryptography (ECC)
crypto-frogThe file has content related to FROG algorithm
crypto-gnupgThe file has content found in GnuPG cryptography library
crypto-gnutlsThe file has content found in GnuTLS cryptography library
crypto-gostThe file has content related to GOST algorithm
crypto-havalThe file has content related to HAVAL algorithm
crypto-hmacThe file has content related to HMAC algorithm
crypto-ikeThe file has content related to Internet Key Exchange (IKE)
crypto-kasumiThe file has content related to KASUMI algorithm
crypto-keccakThe file has content related to Keccak algorithm
crypto-marsThe file has content related to MARS algorithm
crypto-md2The file has content related to MD2 algorithm
crypto-md4The file has content related to MD4 algorithm
crypto-md5The file has content related to MD5 algorithm
crypto-md5macThe file has content related to MD5-MAC algorithm
crypto-misty1The file has content related to Misty1 algorithm
crypto-misty2The file has content related to Misty2 algorithm
crypto-naclThe file has content found in NaCl cryptography libray
crypto-nettleThe file has content found in Nettle cryptography library
crypto-noekeonThe file has content related to NOEKEON algorithm
crypto-nssThe file has content found in NSS cryptography library
crypto-nushThe file has content related to NUSH algorithm
crypto-openbsd-base64The file has content related to OpenBSD Base64 algorithm
crypto-opensslThe file has content found in OpenSSL cryptography library
crypto-pbkdf2The file has content related to PBKDF2 algorithm
crypto-pkcsThe file has content related to Public Key Cryptography Standards (PKCS)
crypto-rawdesThe file has content related to RawDES algorithm
crypto-rc2The file has content related to RC2 algorithm
crypto-rijndaelThe file has content related to AES (Rijandel) algorithm
crypto-ripemd128The file has content related to RIPEMD-128 algorithm
crypto-ripemd160The file has content related to RIPEMD-160 algorithm
crypto-ripemd256The file has content related to RIPEMD-256 algorithm
crypto-ripemd320The file has content related to RIPEMD-320 algorithm
crypto-rsaThe file has content related to RSA algorithm
crypto-rtssThe file has content related to Robust Threshold Secret Sharing (RTSS)
crypto-saferThe file has content related to SAFER algorithm
crypto-salsa20The file has content related to Salsa20 algorithm
crypto-seedThe file has content related to SEED algorithm
crypto-serpentThe file has content related to Serpent algorithm
crypto-sha1The file has content related to SHA-1 algorithm
crypto-sha224The file has content related to SHA-224 algorithm
crypto-sha256The file has content related to SHA-256 algorithm
crypto-sha384The file has content related to SHA-384 algorithm
crypto-sha512The file has content related to SHA-512 algorithm
crypto-sharkThe file has content related to Shark algorithm
crypto-siphashThe file has content related to SipHash algorithm
crypto-skeinThe file has content related to Skein algorithm
crypto-skipjackThe file has content related to Skipjack algorithm
crypto-sms4The file has content related to SMS4 algorithm
crypto-sosemanukThe file has content related to Sosemanuk algorithm
crypto-squareThe file has content related to Square algorithm
crypto-tigerThe file has content related to Tiger algorithm
crypto-tripledesThe file has content related to TripleDES algorithm
crypto-turingThe file has content related to Turing algorithm
crypto-twofishThe file has content related to Twofish algorithm
crypto-unicornThe file has content related to Unicorn algorithm
crypto-uuencodeThe file has content related to UUencode algorithm
crypto-wakeThe file has content related to Wake algorithm
crypto-whirlpoolThe file has content related to Whirlpool algorithm
crypto-x509The file has content related to X.509 standard
crypto-xxencodeThe file has content related to XXencode algorithm

Email specific tags - related to email content

TAGDESCRIPTION
email-deceptive-senderThe display name of one of the senders contains a string resembling an email address with a domain different from the specified email address
email-returnpath-mismatchThe "Return-Path" header contains an email address with a domain that is different from the domain of the sender
email-replyto-mismatchThe "Reply-To" header contains an email address with a domain that is different from the domain of the sender
email-sender-mismatchThe "Sender" header contains an email address with a domain that is different from the domain specified in the "From" header
email-envelopefrom-mismatchThe "X-Envelope-From" header contains an email address with a domain that is different from the domain of the sender
email-receivedtime-mismatchThe "Date" header indicates a time that is in the future or more than 1 hour before the time specified in the "Received" header
email-spf-failHeaders indicate that the SPF (Sender Policy Framework) check has failed
email-dkim-failHeaders indicate that the DKIM (Domain Keys Identified Mail) check has failed
email-dmarc-failHeaders indicate that the DMARC (Domain-based Message Authentication, Reporting & Conformance) check has failed
email-pgpEmail is signed and/or encrypted using "Pretty Good Privacy"
email-smimeEmail is signed and/or encrypted using "Secure/Multipurpose Internet Mail Extensions"
email-attachmentEmail contains at least one attachment
email-deceptive-extensionEmail attachment contains multiple extensions (eg. "file.doc.exe")
email-body-plainContent of email body is available in plain text format
email-body-rtfContent of email body is available in RTF format
email-body-htmlContent of email body is available in HTML format
email-impersonationThe display name of one of the senders impersonates a popular service
email-signature-impersonationEmail contents impersonate an email commonly sent by a popular service
email-urgencyEmail contains multiple phrases that imply a sense of urgency
email-sensitive-topicEmail contains multiple phrases related to sensitive topics
email-hidden-textEmail contains a hidden block of text designed to trick classification systems
email-subject-spamEmail subject contains phrases common to spam messages
email-subject-phishingEmail subject is commonly used in phishing messages
email-anonymous-providerEmail is sent using an anonymous email provider

Format specific tags - apply only specific file formats

TAGDESCRIPTION
html-frameThe HTML file contains one or more IFRAME tags
html-formThe HTML file contains one or more FORM tags
html-inputThe HTML file contains one or more INPUT tags
html-passwordThe HTML file contains one or more tags with the "password" attribute
html-imageThe HTML file contains one or more IMAGE tags
html-canvasThe HTML file contains one or more CANVAS tags
html-objectThe HTML file contains any of the following tags: APPLET, AUDIO, EMBED, OBJECT, SOURCE, VIDEO
html-downloadThe HTML file contains one or more links with the "download" attribute
html-local-linkThe HTML file contains one or more links to local files
html-trackingThe HTML file contains one or more tracking pixels
html-popupThe HTML file contains an A tag with target="_blank" attribute
html-wsffileThe HTML file contains an A tag with href="jsffile:..." or href="wsffile:..." or href="wsfhile:..."
font-embeddedThe HTML file contains embedded fonts
deceptive-linkThe HTML file contains potentially deceptive links
platform-unixThe quarantine file was created by a security solution running on a UNIX-like operating system
platform-windowsThe quarantine file was created by a security solution running on the Microsoft Windows operating system
private-key-plaintextThe file represents a PKI private key in a standard format (e.g. PEM or DER)
private-key-encryptedThe file represents an encrypted PKI private key in a standard format (e.g. PEM or DER)
quarantine-manualThe quarantine file was added to the quarantine manually by a user, not as a result of an automatic detection by the security solution
quarantine-malicious-contentThe quarantine file contains any number of remediated malicious content associated with a detected threat
quarantine-threat-metadataThe quarantine file contains metadata describing the antivirus specific threat which triggered the remediation
version-control-artifactThe file is part of a control structure for a version control repository (e.g. an index or revision data)

Appendix D: Metadata Changes

This lists all metadata changes from Spectra Detect 1.x- to 2.x+, as well as changes from Spectra Analyze 5.x- to 6.x+.

analysis

The report object is now nested inside the analysis object. This new root object combines the analysis report with the metadata describing the analysis and its results. Analysis reports relate to each other by id and parent_id, making it easy to construct relationships between analyzed objects.

ChangeTypeName
Addeduint64id
Addeduint64parent_id
Addedstringtimestamp
Addedstringversion
Addedstructreport
Addedstructstats

analysis.report

The story object has been redesigned to be able to split the automated static analysis description into paragraphs. Other members have had their members changed to allow for analysis feature expansions.

ChangeTypeName
Changedstructinfo
Changedstructmetadata
Changedstructstrings
Changedstructclassification
Changedstruct-listindicators
Changedstructstory

analysis.report.info

The package object has been deprecated and replaced by properties to track general information. Malware configuration, previously found within the package object, has been moved to a dedicated metadata object. Other general information will continue to be reported via the properties key-value list.

ChangeTypeName
Changedstructfile
Removedstructpackage
Changedstructvalidation
Addedstructproperties
Addedstructoverlays
Changedstring-listerror -> errors

analysis.report.info.file

The properties object has been deprecated. File access, creation and modification time have been made more prominent within the file object. File attributes and access rights have been standardized and moved to the security object.

ChangeTypeName
Addedstringproposed_filename
Addedstringmodified_time
Addedstringaccess_time
Addedstringcreation_time
Removedstruct-listproperties

analysis.report.info.validation

The validation object has been redesigned to follow the scanner-based logic established in the classification object. Multiple validation scanners parse the file and report their findings. The entire file is considered valid only if all applicable scanners confirm its validity. Any malformations, or format specification deviations, are reported through scanner descriptions and warnings.

ChangeTypeName
Removedint32-setdescriptions
Removedstructwarnings
Addedstruct-listscan_results

analysis.report.classification

The classification object has been extended to better promote the final classification result. Users previously had to look at the first scanner result to retrieve the final detection string. The existing classification object members already describe other classification properties and its impact.

ChangeTypeName
Addedstringresult

analysis.report.classification.scan_results.entry

The scan_results entry has been extended to indicate if the scanner was taken into account during classification, or ignored due to Spectra Core configuration.

ChangeTypeName
Addedbooleanpresent
Addedbooleanignored

analysis.report.classification.yara.match

ChangeTypeName
Addeduint32length

analysis.report.indicators.entry

Spectra Core Explainable Machine Learning is based around explainability, transparency and relevancy. Static analysis indicators are considered explainable through their description. The entire system is transparent, as reasons behind indicator appearance are listed. Finally, factors that contribute to Machine Learning classification have been highlighted through indicator relevance.

ChangeTypeName
Addedint32id
Addedint32relevance
Addedstruct-listreasons

analysis.report.strings.entry

The list of strings has been converted to a list of properties that describe the string value, where it was found, number of its occurrences, and human readability.

ChangeTypeName
Addeduint32flags
Addedint32occurrences
Addeduint64offset
Addedstringvalue

analysis.report.interesting_strings.entry

The list of interesting strings has been converted to a list of properties that describe the string value, where it was found, number of its occurrences, and classification. Interesting strings are checked against Spectra Core URL Classifier to detect blacklisted and misleading hyperlinks.

ChangeTypeName
Addeduint64offset
Addedint32occurrences
Addedstructscan_result
Addedstringvalue
Addedstring-settags

analysis.report.metadata

The media object has been redesigned. Multimedia metadata now allows for better, unified, reporting of audio and video properties. Previously used structure members are considered deprecated, and their meaning has changed.

The browser object has been redesigned. Browser extension metadata now allows for reporting of new, widely used, extension manifest properties. Previously used structure members are considered deprecated, and their meaning has changed.

The certificate object has been deprecated. Spectra Core now reports digital signatures with their validation states. Any certificate found within the file, but not as a part of the digital signing chain, will be reported as dangling certificate within the new certificates list. Previously used structure members are considered deprecated and their meaning has changed.

Malware configuration has been moved to malware from the package object. Newly defined malware configuration structure standardizes typical networking and malware runtime information.

ChangeTypeName
Changedstructsecurity
Removedstructcertificate
Addedstructsignatures
Addedstructcertificates
Changedstructmedia
Changedstructbrowser
Addedstructpackage
Addedstructattack
Addedstructmalware

analysis.report.metadata.security

The file attributes object has been moved to the security object. Other file access properties, such as ownership and access, are now being reported alongside notable file security properties. With the introduction of Application Identity, known software and library vulnerabilities affecting the detected versions are reported here.

ChangeTypeName
Addedstruct-setvulnerabilities
Addedstringowning_user
Addedstringowning_group
Addedstruct-listaccess_list
Addedstring-setattributes

analysis.report.metadata.application

With the introduction of Application Identity, the way Spectra Core describes third-party libraries has changed to accommodate for software publisher and origin verification. Similarly, applications themselves can have their respective identities verified. When the software identity is established, a set of known dependency vulnerabilities found within the detected version can be accurately reported.

ChangeTypeName
Changedstructlibraries
Addedstructidentity

analysis.report.metadata.application.flash

The Flash application metadata object has been deprecated. Spectra Core will no longer collect, nor output, Adobe Flash related metadata properties.

analysis.report.metadata.application.pe

The application-specific overlay information has been moved to the info object, allowing for multiple overlay objects to be reported for a single file.

ChangeTypeName
Addedstructanalysis
Removedstructoverlay

analysis.report.metadata.application.pe.rich_header

RichHeader validation has been moved to a dedicated format validation scanner. Its results are reported within the validation object.

ChangeTypeName
Removedbooleanvalid
Changedstruct-listentries

analysis.report.metadata.application.pe.rich_header.entry

The previously bundled compid value has been separated into easier to use product and version values. Added a helper value tooling that maps product to a recognized toolchain software type.

ChangeTypeName
Removeduint32compid
Removeduint32count
Addeduint32tooling
Addeduint16version
Addeduint16product
Addeduint32counter

analysis.report.metadata.application.pe.sections.entry

The section information has been extended to include a relative section size, and adjusted to better differentiate between physical and relative values.

ChangeTypeName
Renameduint32offset -> physical_base
Renameduint32size -> physical_size
Renameduint32address -> relative_base
Addeduint32relative_size

analysis.report.metadata.application.pe.resources.entry

ChangeTypeName
Addeddoubleentropy

analysis.report.metadata.application.elf.symbols.entry

ChangeTypeName
Addeduint32references
Addeduint32sources