Spaces:
Sleeping
Sleeping
| 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']}") |