How gururaj-s-cse/sbom works
SBOM Analyzer accepts software bills of materials and presents component, vulnerability, license, dependency, maintenance, and risk findings, including cross-application correlation and reports. The main documented workflow is upload, parse, analyze, and review results. The backend report service orchestrates the analysis stages; separate backend routes also expose upload, vulnerability, license, and correlation endpoints. The README is only a title, so product capabilities are inferred from the sampled source and frontend labels. Frontend-to-backend wiring is not shown in the excerpts; that connection is marked unverified.
Main entry points: app.py Flask API · report_service.py Report Orchestrator · App.jsx Application Router · correlation_service.py Application Correlation
Components 21
Frontend
- Application Router
frontend/src/App.jsx - Upload Page
frontend/src/pages/Upload.jsx - SBOM Upload
frontend/src/components/UploadBox.jsx - API Client
frontend/src/api/api.js - Analysis Results
frontend/src/pages/Results.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Graph View
frontend/src/pages/Graph.jsx - Executive Report
frontend/src/pages/Report.jsx
Backend API
- Flask API
backend/app.py - Application Registry
backend/sample_data/applications.json
SBOM Analysis
- SBOM Parser
backend/services/parser.py - Report Orchestrator
backend/services/report_service.py - Vulnerability Scan
backend/services/vulnerability_service.py - License Audit
backend/services/license_checker.py - Maintenance Check
backend/services/maintenance_checker.py - Risk Scoring
backend/services/risk_score.py - Dependency Graph
backend/services/dependency_graph.py - Vulnerability Data
backend/sample_data/vulnerability_db.json - License Rules
backend/sample_data/license_rules.json
Cross-System Analysis
- Application Correlation
backend/services/correlation_service.py
Other components
- Security Analyst
Connections 31
- Security Analyst → Application Router: uses
frontend/src/App.jsx - Application Router → Upload Page: routes to
frontend/src/App.jsx - Application Router → Analysis Results: routes to
frontend/src/App.jsx - Application Router → Dashboard: routes to
frontend/src/App.jsx - Application Router → Graph View: routes to
frontend/src/App.jsx - Application Router → Executive Report: routes to
frontend/src/App.jsx - Upload Page → SBOM Upload: renders
frontend/src/pages/Upload.jsx - SBOM Upload → API Client: uses
frontend/src/components/UploadBox.jsx - API Client → Flask API: requests
- Flask API → Application Registry: loads
backend/app.py - Flask API → SBOM Parser: parses upload
backend/app.py - Flask API → Report Orchestrator: generates report
backend/app.py - Flask API → Dependency Graph: builds graph
backend/app.py - Flask API → Vulnerability Scan: checks vulnerabilities
backend/app.py - Flask API → License Audit: checks licenses
backend/app.py - Flask API → Application Correlation: gets correlations
backend/app.py - Report Orchestrator → SBOM Parser: parses SBOM
backend/services/report_service.py - Report Orchestrator → License Audit: checks licenses
backend/services/report_service.py - Report Orchestrator → Vulnerability Scan: checks vulnerabilities
backend/services/report_service.py - Report Orchestrator → Maintenance Check: checks maintenance
backend/services/report_service.py - Report Orchestrator → Risk Scoring: calculates score
backend/services/report_service.py - Report Orchestrator → Dependency Graph: builds attack paths
backend/services/report_service.py - Vulnerability Scan → Vulnerability Data: reads
backend/services/vulnerability_service.py - License Audit → License Rules: reads
backend/services/license_checker.py - Application Correlation → SBOM Parser: parses app SBOMs
backend/services/correlation_service.py - Application Correlation → Vulnerability Scan: checks vulnerabilities
backend/services/correlation_service.py - Application Correlation → License Audit: checks licenses
backend/services/correlation_service.py - Application Correlation → Maintenance Check: checks maintenance
backend/services/correlation_service.py - Analysis Results → Flask API: displays analysis
- Graph View → Dependency Graph: displays graph
- Executive Report → Report Orchestrator: displays report