Welcome to the comprehensive documentation for Firmwire, the advanced firmware analysis tool for embedded devices. This guide will help you get started with Firmwire and make the most of its powerful features.
Firmwire Analysis Pipeline
Follow the interactive guide to understand how Firmwire analyzes your firmware
Firmware Upload
Binary Analysis & Format Detection
Firmwire begins by analyzing your firmware binary to understand its structure and format. Our intelligent detection system supports multiple formats and architectures.
Multi-Layer Analysis
Static & Dynamic Security Assessment
Our analysis engine performs comprehensive security assessment using multiple techniques to identify potential vulnerabilities and security weaknesses.
Static Analysis (SAST)
Code analysis without execution
Dynamic Analysis (DAST)
Runtime behavior monitoring
Crypto Analysis
Cryptographic implementation review
Vulnerability Detection
AI-Powered Threat Identification
Our AI-powered detection engine identifies security vulnerabilities using advanced pattern recognition and machine learning algorithms.
Buffer Overflows
Memory corruption vulnerabilities
Memory Leaks
Resource management issues
Injection Attacks
Code injection vulnerabilities
Compliance Validation
Standards & Regulatory Checks
Firmwire validates your firmware against industry standards and regulatory requirements to ensure compliance with security frameworks.
Radio Equipment Directive
EU regulatory compliance
IEC 62443
Industrial cybersecurity standards
Cyber Resilience Act
EU cybersecurity regulation
Intelligent Reporting
Comprehensive Security Assessment
Generate detailed security reports with actionable insights, remediation guidance, and compliance mappings for stakeholders.
PDF Reports
Executive summaries and detailed analysis
JSON Export
Machine-readable data for integration
Remediation Guide
Step-by-step fix recommendations
Table of Contents
Getting Started
Configuration
Installation
Firmwire is available for Windows, macOS, and Linux. Choose your platform and follow the installation instructions below.
Firmwire Architecture
CLI Interface
Command-line interface for analysis
Analysis Engine
Core vulnerability detection
Rule Engine
Security rules and patterns
Report Generator
Output formatting and templates
System Requirements
- Operating System: Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+)
- RAM: Minimum 4GB, Recommended 8GB+
- Storage: 500MB free space
- CPU: x64 architecture
Windows Installation
# Download the installer # Run the installer as administrator firmwire-setup-v1.2.0.exe # Verify installation firmwire --version
macOS Installation
# Download the DMG file # Mount and drag to Applications folder # Or use Homebrew (coming soon) brew install firmwire
Linux Installation
# Download the AppImage chmod +x firmwire-v1.2.0-x86_64.AppImage # Run directly ./firmwire-v1.2.0-x86_64.AppImage --version # Or install system-wide sudo mv firmwire-v1.2.0-x86_64.AppImage /usr/local/bin/firmwire sudo chmod +x /usr/local/bin/firmwire
Quick Start Guide
Get up and running with Firmwire in just a few minutes. This guide will walk you through your first firmware analysis.
Basic Analysis
The simplest way to analyze firmware is with the basic analyze command:
firmwire analyze firmware.bin
Compliance Analysis
For compliance-focused analysis, specify the standards you need to meet:
firmwire analyze --compliance=RED,IEC62443 firmware.bin
Output Options
Control the output format and location:
firmwire analyze --output=./reports --format=json firmware.bin
Command Reference
Complete reference for all Firmwire commands and options.
analyze
Analyze firmware for vulnerabilities and compliance issues.
firmwire analyze [OPTIONS] <firmware_file> Options: --compliance=STANDARDS Compliance standards (RED,IEC62443,CRA,GDPR) --output=DIRECTORY Output directory for reports --format=FORMAT Output format (json,xml,html,pdf) --severity=LEVEL Minimum severity level (low,medium,high,critical) --rules=RULES_FILE Custom rules file --verbose Verbose output --quiet Quiet mode --help Show help message
scan
Quick vulnerability scan without detailed analysis.
firmwire scan [OPTIONS] <firmware_file> Options: --quick Fast scan mode --deep Deep analysis mode --crypto Focus on cryptographic issues --network Focus on network security
report
Generate reports from previous analysis results.
firmwire report [OPTIONS] <analysis_file> Options: --format=FORMAT Output format (json,xml,html,pdf) --template=TEMPLATE Custom report template --include=ITEMS Include specific analysis items
config
Manage Firmwire configuration.
firmwire config [COMMAND] Commands: init Initialize configuration set KEY VALUE Set configuration value get KEY Get configuration value list List all configuration reset Reset to defaults
Configuration
Firmwire can be configured through command-line options, configuration files, or environment variables.
Configuration File
Create a firmwire.conf file in your home directory:
[analysis] default_compliance = RED,IEC62443 output_format = html severity_threshold = medium [reports] include_remediation = true include_compliance_mapping = true template = default [performance] max_threads = 4 memory_limit = 2GB timeout = 300
Environment Variables
export FIRMWIRE_CONFIG_PATH=/path/to/config export FIRMWIRE_OUTPUT_DIR=/path/to/output export FIRMWIRE_LOG_LEVEL=debug
Configuration Options
Analysis Settings
Configure analysis depth, compliance standards, and output formats.
Performance Tuning
Adjust memory usage, thread count, and timeout settings.
Report Templates
Customize report appearance and content structure.
Rule Management
Enable/disable specific security rules and create custom rules.
Analysis Types
Firmwire supports multiple analysis types to suit different security assessment needs.
Performance Metrics
Detection Accuracy
Analysis Speed
False Positive Rate
Vulnerability Coverage
Performance Comparison
Static Analysis (SAST)
Analyzes firmware code without execution to identify potential vulnerabilities.
firmwire analyze --type=sast firmware.bin
Dynamic Analysis
Analyzes firmware behavior during execution in a controlled environment.
firmwire analyze --type=dynamic firmware.bin
Cryptographic Analysis
Focuses on cryptographic implementations and key management.
firmwire analyze --type=crypto firmware.bin
Network Security Analysis
Analyzes network protocols and communication security.
firmwire analyze --type=network firmware.bin
Compliance Analysis
Checks against specific compliance standards and regulations.
firmwire analyze --compliance=RED,IEC62443,CRA firmware.bin
Compliance Standards
Firmwire supports analysis against major compliance standards and regulations.
Supported Compliance Standards
RED
Radio Equipment Directive
IEC 62443
Industrial Security
CRA
Cyber Resilience Act
GDPR
Data Protection
Vulnerability Detection Performance
Analysis Timeline
Binary Loading
0-2 minutes
Static Analysis
2-15 minutes
Dynamic Analysis
15-45 minutes
Report Generation
45-50 minutes
Radio Equipment Directive (RED)
European Union directive for radio equipment compliance.
- Electromagnetic compatibility requirements
- Radio frequency spectrum usage
- Safety and health protection
IEC 62443
International standard for industrial communication networks security.
- Network security requirements
- Access control mechanisms
- Data integrity protection
Cyber Resilience Act (CRA)
EU regulation for cybersecurity requirements of products.
- Security by design principles
- Vulnerability management
- Incident reporting requirements
GDPR Compliance
Data protection and privacy requirements.
- Data encryption requirements
- Privacy by design
- Data breach notification
API Reference
Firmwire provides a RESTful API for integration with CI/CD pipelines and security workflows.
Authentication
POST /api/v1/auth/login Content-Type: application/json { "username": "your_username", "password": "your_password" }
Analysis Endpoints
# Start analysis POST /api/v1/analysis/start Content-Type: multipart/form-data # Get analysis status GET /api/v1/analysis/{analysis_id}/status # Get analysis results GET /api/v1/analysis/{analysis_id}/results
Report Generation
# Generate report POST /api/v1/reports/generate Content-Type: application/json { "analysis_id": "analysis_123", "format": "pdf", "template": "compliance" }
Webhook Integration
# Configure webhook POST /api/v1/webhooks Content-Type: application/json { "url": "https://your-system.com/webhook", "events": ["analysis_complete", "vulnerability_found"] }
Troubleshooting
Common issues and their solutions.
Installation Issues
Solution: Make sure the AppImage is executable: chmod +x firmwire.AppImage
Analysis Issues
Solution: Check if your firmware is supported. Use firmwire info firmware.bin to get architecture details.
Performance Issues
Solution: Increase memory limit and thread count in configuration.
Common Error Messages
Examples
Real-world examples of using Firmwire for different scenarios.
Basic IoT Device Analysis
# Analyze a smart home device firmware firmwire analyze --compliance=RED smart_home_device.bin # Generate detailed report firmwire report --format=pdf analysis_results.json
Industrial Control System
# Analyze industrial firmware with IEC 62443 compliance firmwire analyze --compliance=IEC62443 --type=network industrial_firmware.bin # Focus on network security firmwire scan --network --deep industrial_firmware.bin
Automated CI/CD Integration
# In your CI/CD pipeline firmwire analyze --output=./security-reports --format=json firmware.bin if [ $? -eq 0 ]; then echo "Security analysis passed" else echo "Security issues found" exit 1 fi
Frequently Asked Questions
General Questions
What file formats does Firmwire support?
Firmwire supports common firmware formats including ELF, PE, raw binary, and vendor-specific formats for major IoT and embedded platforms.
How long does analysis typically take?
Analysis time depends on firmware size and complexity. Small IoT devices (1-10MB) typically take 2-5 minutes, while larger industrial firmware (100MB+) may take 30-60 minutes.
Can I analyze encrypted firmware?
Firmwire can analyze encrypted firmware if you provide the decryption key or if the firmware uses standard encryption methods that can be automatically detected.
Compliance Questions
Which compliance standards are supported?
Firmwire supports RED, IEC 62443, CRA, GDPR, and other major compliance standards. Custom compliance rules can also be added.
How accurate are compliance checks?
Compliance checks are based on official standards documentation and are regularly updated. However, final compliance determination should be verified by qualified professionals.
Technical Questions
Can I integrate Firmwire with my existing security tools?
Yes, Firmwire provides REST APIs and webhook support for integration with SIEM systems, vulnerability management platforms, and CI/CD pipelines.
Is there a limit on firmware file size?
Firmwire can handle firmware files up to 2GB. For larger files, consider using the streaming analysis mode or splitting the firmware into components.