天天看點

nessus導出報告_Nessus漏洞報告篩選

工作項目需要提取出大量nessus的csv報告中的緊急和高危漏洞,手工太麻煩。分享一個實作腳本。代碼如下:

#-*-coding=utf-8-*-

import pandas as pd

import sys,os

from pathlib import Path

def getcsv(file_dir = "csv"):

'''批量擷取所有csv檔案'''

L = []

for root, dirs, files in os.walk(file_dir):

for file in files:

if os.path.splitext(file)[1] == '.csv':

L.append(os.path.join(root , file))

return L

def work(file, out_path = "./out"):

'''按照Risk篩選并儲存'''

data =pd.read_csv(file,header=0,index_col=0, encoding= "GBK")

df = data.loc[data['Risk'].isin(["High","Critical"])]

df.to_csv(out_path+"/"+Path(file).name)

def main():

if(len(sys.argv)<2):

print("[*] Useage: python3 vuln_filter.py csv_dir")

exit()

file_dir = sys.argv[1]

L = getcsv(file_dir)

out_path = './out'

if not os.path.exists(out_path):

os.mkdir(out_path)

for l in L:

work(l)

if __name__ == '__main__':

main()

使用方法:Python3 vuln_filter.py 源nessus導出CSV報告的目錄

PS:這裡在導出時建議将CSV報告名稱統一規範。