🛡 Firmware Fortress
Autonomous firmware supply chain security — powered by four AI agents.
pip install firmware-fortress
firmware-fortress demo
Firmware Fortress hunts CVEs in firmware binaries, reconstructs attack timelines from breach logs, enforces CI/CD pipeline security, and performs deep email phishing forensics — all from a single CLI.
Quick Start
pip install firmware-fortress
# Run the offline demo instantly (no backend, no API keys needed)
firmware-fortress demo
# Or connect to a running backend for real analysis
firmware-fortress scan --file firmware.bin
firmware-fortress correlate --logs breach_logs.json
firmware-fortress ci-check --artifact build.bin --repo myorg/repo --branch main
firmware-fortress email-check --file suspicious.eml
firmware-fortress watch # stream live events
firmware-fortress status # platform stats
Four AI Agents
| Command | Agent | What it does |
|---|---|---|
scan |
CVE Hunter | Extracts components from firmware, queries NVD, enriches with Groq LLaMA |
correlate |
Incident Detective | Correlates logs with CVEs, reconstructs attack timeline |
ci-check |
CI/CD Watchdog | Scans build artifacts for CVEs and secrets, blocks/approves |
email-check |
Email Forensics | Homograph detection, SPF/DMARC/MX checks, risk score 0–100 |
Demo Mode
Works without any backend, API keys, or internet connection. Preloaded TP-Link WR740N v4.30 breach scenario:
firmware-fortress demo # full offline demo
firmware-fortress scan --file firmware.bin --demo # instant CVE results
firmware-fortress correlate --logs logs.json --demo # instant incident report
firmware-fortress ci-check --artifact build.bin \
--repo x --branch main --demo # instant build decision
firmware-fortress email-check --file email.eml --demo # instant forensics
Themes
firmware-fortress scan --file fw.bin --theme cyberpunk # default — matrix green
firmware-fortress scan --file fw.bin --theme minimal # clean monochrome
firmware-fortress scan --file fw.bin --theme light # light terminal
Backend (Optional)
The CLI connects to a FastAPI backend for real analysis. Install the full stack:
pip install firmware-fortress[backend]
# Start the backend
uvicorn backend.main:app --reload --port 8000
# CLI auto-connects to http://localhost:8000
firmware-fortress scan --file firmware.bin
Configure via .env or environment variables:
GROQ_API_KEY=your_groq_api_key # https://console.groq.com (free)
NVD_API_KEY=your_nvd_api_key # https://nvd.nist.gov/developers (free)
SUPABASE_URL=https://...supabase.co # https://supabase.com (free tier)
SUPABASE_SERVICE_KEY=your_key
BACKEND_URL=http://localhost:8000
WS_URL=ws://localhost:8000/ws
All API keys are optional — the system falls back to demo data when they're missing.
What the Demo Shows
The built-in demo scenario is a TP-Link WR740N v4.30 router compromise:
- 12 CVEs detected (2 CRITICAL: CVE-2019-7406 CVSS 9.8, CVE-2018-17177 CVSS 9.1)
- Attack timeline: port scan → buffer overflow → backdoor → DNS exfiltration
- CI/CD gate: build blocked due to CRITICAL CVEs
- Phishing email:
tp-iink.comhomograph attack, risk score 92/100
Requirements
- Python 3.11+
- No other system dependencies for the CLI
Links
- GitHub: https://github.com/your-org/firmware-fortress
- Backend API docs: http://localhost:8000/docs (when running)
- Issues: https://github.com/your-org/firmware-fortress/issues
License
MIT
Metadata
Release files for firmware-fortress 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| firmware_fortress-1.0.1.tar.gz | 596.2 kB | Without provenance | Details for firmware_fortress-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| firmware_fortress-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for firmware_fortress-1.0.1-py3-none-any.whl |
Total release size: 618.1 kB
Release files / firmware_fortress-1.0.1.tar.gz
| Download URL | firmware_fortress-1.0.1.tar.gz |
|---|---|
| Size | 596.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6796d4de486c9081d832ed277e8bbe2b95202cd563872bfd5869a2eb2723c16f
|
|
BLAKE2b-256 checksum How to use checksums |
62e675bd038d3275a4f2571bb81a7563f68fea0f96a80866a5484eee2540976e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / firmware_fortress-1.0.1-py3-none-any.whl
| Download URL | firmware_fortress-1.0.1-py3-none-any.whl |
|---|---|
| Size | 21.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2672c12d2836352987485b2f6b855d813a4d4b9ca745b12e49731b74dca41c32
|
|
BLAKE2b-256 checksum How to use checksums |
61aa8f28452e3e970289f0da77d7b85feb6be5dcb30cdda2a20e06b6a2ae0695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Security for firmware-fortress 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.