Spaces:
Sleeping
Sleeping
File size: 1,396 Bytes
19949cf be9311f 19949cf c73ca9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 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']}") |