Объединить clamAV с YARA и Python3

Я хочу объединить правила clamAV python и YARA. Цель состоит в том, чтобы, по требованию, сканировать с помощью правил YARA, которые я сделал. Я написал этот простой сценарий и отлично работает

import pyclamd
cd=pyclamd.ClamdAgnostic()
x=cd.scan_file('/home/john/Desktop/workSpace/yara/2.pdf')
if x is False: 
    print ("no ")
else :
    print ("Yes")

Есть ли способ сканировать тот же файл.pdf, используя правила YARA, НО через pyclamd?

1 ответ

Решение

Я выясняю ответ. Похоже, что ClamAV может читать файлы *.yara и искать в существующей вирусной базе данных. Решение состоит в том, чтобы поместить правило yara в каталог /var/lib/clamav. Код нуждается в небольшой модификации, чтобы перезагрузить ClamdAgnostic() и вуаля.

import pyclamd
cd=pyclamd.ClamdAgnostic()
cd.reload()
x=cd.scan_file('/home/john/Desktop/workSpace/yara/2.pdf)
print (x)

Если правило истинно, то вы увидите вывод на печать с правилом, которое используется

{'/home/john/Desktop/workSpace/yara/2.pdf': ('FOUND', 'YARA.testFor2.UNOFFICIAL')} 

иначе вывод будет нулевым

Другие вопросы по тегам