CVE_Analysis_Agent / storage.py
ChienChung's picture
Upload 11 files
c73ca9d verified
import json
import os
from datetime import datetime
def save_cve_analysis(cve_id, cve_data, summary=None):
"""Save CVE analysis results to JSON file"""
if not os.path.exists('data'):
os.makedirs('data')
analysis = {
'cve_id': cve_id,
'analyzed_at': datetime.now().isoformat(),
'cve_data': cve_data,
'ai_summary': summary
}
filename = f"data/{cve_id}.json"
with open(filename, 'w', encoding='utf-8') as f:
json.dump(analysis, f, ensure_ascii=False, indent=2)
print(f" Saved to {filename}")
# Also store in vector database for similarity search
try:
from vector_storage import vector_storage
vector_storage.add_cve(cve_id, cve_data, summary)
except:
pass # Graceful degradation if vector storage fails
def load_cve_analysis(cve_id):
"""Load analyzed CVE data"""
filename = f"data/{cve_id}.json"
if os.path.exists(filename):
with open(filename, 'r', encoding='utf-8') as f:
return json.load(f)
return None
# Test
if __name__ == "__main__":
from api_client import fetch_cve_simple
cve_data = fetch_cve_simple("CVE-2021-44228")
if cve_data:
save_cve_analysis("CVE-2021-44228", cve_data, "Test summary")
loaded = load_cve_analysis("CVE-2021-44228")
print(f"Load successful: {loaded['cve_id']}")