basic structure and initial scan request service

This commit is contained in:
Volodymyr Smirnov
2020-10-23 11:11:19 +03:00
parent 46d696cdb1
commit 96695664e0
23 changed files with 242 additions and 168 deletions

View File

@@ -11,14 +11,14 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public ClamavScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "clamav";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/var/lib/clamav/daily.cvd");
protected override string BackendPath { get; } = "/usr/bin/clamscan";
protected override Regex MatchRegex { get; } =
new Regex(@"(\S+): (?<threat>[\S]+) FOUND", RegexOptions.Compiled | RegexOptions.Multiline);

View File

@@ -11,16 +11,16 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public ComodoScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "comodo";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/opt/COMODO/scanners/bases.cav");
protected override string BackendPath { get; } = "/opt/COMODO/cmdscan";
protected override Regex MatchRegex { get; } =
new Regex(@".* ---> Found Virus, Malware Name is (?<threat>.*)",
new Regex(@".* ---> Found Virus, Malware Name is (?<threat>.*)",
RegexOptions.Compiled | RegexOptions.Multiline);
protected override string GetBackendArguments(string path)

View File

@@ -11,14 +11,14 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public DrWebScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "drweb";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/var/opt/drweb.com/version/version.ini");
protected override string BackendPath { get; } = "/usr/bin/drweb-ctl";
protected override Regex MatchRegex { get; } =
new Regex(@".* - infected with (?<threat>[\S ]+)", RegexOptions.Compiled | RegexOptions.Multiline);

View File

@@ -11,14 +11,14 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public KesScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "kes";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/var/opt/kaspersky/kesl/common/updates/avbases/klsrl.dat");
protected override string BackendPath { get; } = "/bin/bash";
protected override Regex MatchRegex { get; } =
new Regex(@"[ +]DetectName.*: (?<threat>.*)", RegexOptions.Compiled | RegexOptions.Multiline);

View File

@@ -11,14 +11,14 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public McAfeeScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "mcafeee";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/usr/local/uvscan/avvscan.dat");
protected override string BackendPath { get; } = "/usr/local/uvscan/uvscan";
protected override bool ThrowOnNonZeroExitCode { get; } = false;
protected override Regex MatchRegex { get; } =

View File

@@ -11,9 +11,9 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
public SophosScanBackend(ILogger logger) : base(logger)
{
}
public override string Id { get; } = "sophos";
public override DateTime DatabaseLastUpdate =>
File.GetLastWriteTime("/opt/sophos-av/lib/sav/vdlsync.upd");