将 clamAV 与 YARA 和 Python3 合并

Merge clamAV with YARA and 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")

有没有办法通过 pyclamd 使用 YARA 规则扫描同一个 .pdf 文件?

我想出了答案。 ClamAV 似乎可以读取*.yara 文件并搜索现有的病毒库。解决办法是在/var/lib/clamav目录下放一条yara规则。代码需要稍作修改以重新加载 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')} 

否则输出将为 Null