How netshield-enterprise/netshield-analyzer works
NetShield analyzes Maven Java projects to distinguish vulnerable dependencies from vulnerable code the application can actually reach. The principal workflow resolves dependencies, parses JAR bytecode, builds a method call graph, queries OSV, classifies reachability and risk, then reports a release decision. A separate dashboard exposes analysis and scan-history views. The graph follows the documented CLI orchestration and sampled API/storage behavior; some API and frontend request details were not included in the excerpts, so uncertain wiring is omitted.
Main entry points: main.go CLI orchestration · builder.go Call graph builder · server.go HTTP API · osv_client.go OSV client
Components 15
Analysis pipeline
- Maven resolver
internal/parser/maven.go - Call graph builder
internal/callgraph/builder.go - JAR bytecode reader
internal/bytecode/jar_reader.go - Analysis models
pkg/models
Vulnerability assessment
- OSV client
internal/cve/osv_client.go - Reachability triage
internal/triage/analyzer.go - Risk reporter
internal/triage/reporter.go
User interfaces
- CLI orchestration
cmd/analyzer/main.go - Web dashboard
web/src/App.jsx - HTTP API
internal/api/server.go
History and integrations
- Scan history store
internal/database/database.go - Telemetry
internal/telemetry/telemetry.go
Other components
- Engineer
- OSV database
- Telemetry platform
Connections 16
- Engineer → CLI orchestration: runs scan
- CLI orchestration → Maven resolver: resolves dependencies
- CLI orchestration → Call graph builder: builds graph
- Call graph builder → JAR bytecode reader: parses JARs
- Call graph builder → Analysis models: constructs graph
- CLI orchestration → OSV client: queries vulnerabilities
- OSV client → OSV database: queries CVEs
- CLI orchestration → Reachability triage: classifies findings
- Reachability triage → Analysis models: uses analysis data
- CLI orchestration → Risk reporter: generates report
- Engineer → Web dashboard: views dashboard
- Web dashboard → HTTP API: requests analysis
- HTTP API → Call graph builder: builds graph
- HTTP API → Scan history store: reads and writes scans
- CLI orchestration → Telemetry: sends scan summary
- Telemetry → Telemetry platform: sends telemetry