Executa todos os scanners VirusTotal no arquivo liberado do MSBuild através do SQL

1

Criamos entregáveis de software como arquivos em um servidor de compilação. Uma vez a cada poucos meses, alguns desses arquivos são rejeitados por alguns dos verificadores de vírus disponíveis.

Eu quero evitar problemas pós-envio com os arquivos.

Como posso usar o provedor do VirusTotal com o Invantive SQL no meu processo de criação para detectar precocemente falsos positivos em nosso novo software?

    
por Guido Leenders 05.04.2017 / 00:28

1 resposta

0

A melhor maneira é fazer o upload de todos os arquivos qualificados para infecção por vírus usando:

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 )

E depois de algum tempo, verifique o resultado das verificações de vírus:

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

Quando você substituir vsr.positives por vsr.* , receberá uma lista de todos os verificadores de vírus e seus resultados.

Você também pode programá-lo para ser executado de vez em quando ou incluí-lo no programa de compilação que estiver usando.

    
por 05.04.2017 / 00:28