Malware Scanner
Purpose
When a software supply chain attack occurs, the bad actors may infiltrate malicious code and unintended behaviour, open backdoors and change the software in a way that could be used as a vector for malware delivery.
Malicious Code Evidence comprises indicators of malicious software (malware) that are discovered analyzing statically the target software. Analyzing software for potential supply chain breach complement software security reviews with automation. And as the adversaries try to hide their changes from human review they use obfuscation techniques that in fact could serve as additional evidence of wrongdoing. See (Common types of Malware found in Open Source Packages)
From evidence collected, a maliciousness score
for the software under analysis is computed. With enough evidence accumulated, the analyzed software could be classified as potentially malicious.
The Malware Scanner is a tool that checks the files of the software project under analysis, and reports "evidences" according to malware detectors currently active for the policy assigned to the project. Detected evidences could be uploaded to Xygeni platform for consolidation and for enabling response actions.
Malware evidences should not be treated individually, but as a whole. The maliciousness
of the code depends on the number and severity of the different evidences.
Quick Start
For detecting malicious code evidences found in software project with sources in current directory, the command shown below uploads the results to Xygeni platform.
Malware scanner can be launched in two different ways:
1.- By its own specific command ( xygeni malware [options]
)
2.- By the general command ( xygeni scan --run="malware" [options]
)
For exporting the most important malware evidences to CSV for review or for importing the findings into another tool:
Usage
The Malware Scanner is launched using the xygeni malware [options]
command.
For a full reference of all the available option, you can issue :
The most important properties are:
Name of the project,
-n
or--name
.Input sources to analyze, either directory with
-d
or--dir
or repository with--repo
. Defaults to the current working directory.Upload results to the service,
--upload
. By default, results are not uploaded.Output file (
-o
or--output
) and format (-f
or--format
). If not output file (or stdout / - are used), the standard output is used. Use--format=none
for no output.The detectors to run could be tailored with the
--detectors
/--skip-detectors
options. A common use-case is to consider only issues with high or critical severity with--detectors=high
.The resource kinds to be scanned could also be tailored with the
--kinds
/--skip-kinds
options
Malware Detectors
Please read the documentation on Malware detectors available.
Last updated