Firmware Vault
Overview
The Firmware Vault provides a user-friendly interface for selecting firmware, choosing analysis tools (Binwalk, CVE-Bin-Tool and Firmwalker), scheduling jobs using cron expressions and viewing selected firmware details.
Key Features
- Firmware selection and management.
- Job creation with custom scheduling (Cron expressions).
- Integration with backend services to fetch and analyze firmware.
Components
Component | Description |
---|---|
Firmware Vault | Main component for firmware selection and job execution. |
Site List | Displays firmware categorized by manufacturer and product. |
Details
UI
- Firmware Selection List (
<app-site-list>
component) to browse and select firmware. - Job Configuration Panel to enter job name, select analysis tools and configure cron expressions.
- Selected Firmware Display to show and manage chosen firmware.
- Job Submission Button to initiate analysis on selected firmware.
- Collapse Button to toggle visibility of the selected firmware section.
Methods
createJobForSelectedFirmware()
: Validates and submits jobs for selected firmware.loadFirmwareData()
: Fetches firmware data from the backend.transformDataToSites(data: SQLResponse[])
: Groups firmware data by manufacturer and product.toggleCollapse()
: Expands or collapses the selected firmware section.onFirmwareSelect(firmware: FirmwareVersion)
: Handles firmware selection.
Services Used
Scraper Service: Manages firmware data retrieval from the database using SQL queries.
getFirmwareData()
: Fetches firmware details, including manufacturer, product name, version and download link.
Jobs Service: Handles interaction with the backend for managing jobs. Manages job creation, retrieval and toggling.
getJobs()
: Fetches all jobs.addJob(job)
: Submits a new job to the backend.getJob(job_id)
: Retrieves details of a specific job.toggleJob(job_id)
: Enables or disables a job.