1

Мы создаем программные результаты в виде файлов на сервере сборки. Раз в несколько месяцев некоторые из этих файлов отклоняются некоторыми из доступных антивирусных сканеров.

Я хочу избежать проблем с файлами после отправки.

Как я могу использовать поставщика VirusTotal с Invantive SQL в процессе сборки для раннего обнаружения ложных срабатываний в нашем новом программном обеспечении?

1 ответ1

0

Лучший способ - сначала загрузить все файлы, подходящие для заражения вирусом, используя:

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 )

А потом через некоторое время проверяем результат сканирования на вирусы:

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

Когда вы замените vsr.positives на vsr.* Вы получите список всех антивирусных сканеров и их результаты.

Вы также можете запланировать его частое выполнение или включить его в используемую вами программу сборки.

Пример результата сканирования VirusTotal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .