Führen Sie alle VirusTotal-Scanner für Dateien aus, die über SQL von MSBuild freigegeben wurden

315
Guido Leenders

Wir erstellen Software-Dateien als Dateien auf einem Build-Server. Alle paar Monate werden einige dieser Dateien von einigen der verfügbaren Virenscanner abgelehnt.

Ich möchte Probleme mit den Dateien nach dem Versand vermeiden.

Wie kann ich den VirusTotal-Provider mit Invantive SQL in meinem Build-Prozess verwenden, um falsche positive Ergebnisse unserer neuen Software frühzeitig zu erkennen?

1

1 Antwort auf die Frage

0
Guido Leenders

Am besten laden Sie zuerst alle Dateien hoch, die für eine Virusinfektion geeignet sind.

insert into VirusScanRequests(type, name, contents, orig_system_reference)  select 'file', fle.file_path, rfe.file_contents, fle.file_path orig_system_reference from ( select 'exe' ext from dual@datadictionary union all select 'dat' from dual@datadictionary union all select 'dll' from dual@datadictionary union all select 'pdf' from dual@datadictionary union all select 'chm' from dual@datadictionary ) ext join files('c:\PATH', '*.' || ext.ext, false)@os  fle join read_file(fle.file_path)@os rfe on length(rfe.file_contents) < 32e6 -- -- Allow restarts with incremental loading: when already requested skip it. -- where fle.file_path not in (select name from virusscanresults ) 

Und dann nach einiger Zeit das Ergebnis der Virenscans überprüfen:

select vst.name, vsr.positives, vsr.total from VirusScanResults vst join VirusScanReport('file', vst.resource) vsr where vst.resource is not null order  by vsr.positives desc 

Wenn Sie ersetzen vsr.positivesdurch vsr.*finden Sie eine Liste aller Viren - Scanner und deren Ergebnisse.

Sie können es auch so planen, dass es jedes Mal ausgeführt wird oder in das von Ihnen verwendete Build-Programm aufgenommen wird.

Beispielergebnis VirusTotal-Scan