Summary
Create an Asset Inventory page that lists discovered hosts, domains, IPs, ports, technologies, and linked findings.
Problem
SecuScan collects useful scan data, but users need a dedicated inventory view to understand their discovered attack surface across scans.
Proposed solution
Add a frontend page backed by existing or new API data that summarizes discovered assets.
Useful columns/fields:
- Hostname/domain/IP
- Open ports/services
- Related scanner/task
- Finding count and highest severity
- First seen and last seen timestamps
- Tags or source plugin where available
Acceptance criteria
- Users can view a consolidated asset inventory.
- Assets link back to related tasks/findings where possible.
- Search and severity filtering are supported.
- Empty/loading/error states are handled.
- Tests cover inventory rendering and filtering.
Suggested files
frontend/src/pages/
frontend/src/api.ts
backend/secuscan/routes.py if a new endpoint is needed
backend/secuscan/database.py if schema changes are needed
frontend/testing/unit/
Test plan
- Run frontend tests and backend tests if API changes are included.
- Manually verify inventory with mocked or real scan results.
Summary
Create an Asset Inventory page that lists discovered hosts, domains, IPs, ports, technologies, and linked findings.
Problem
SecuScan collects useful scan data, but users need a dedicated inventory view to understand their discovered attack surface across scans.
Proposed solution
Add a frontend page backed by existing or new API data that summarizes discovered assets.
Useful columns/fields:
Acceptance criteria
Suggested files
frontend/src/pages/frontend/src/api.tsbackend/secuscan/routes.pyif a new endpoint is neededbackend/secuscan/database.pyif schema changes are neededfrontend/testing/unit/Test plan