Skip to main content

Autonomous firmware supply chain security — CVE scanning, incident detection, CI/CD gating, and email forensics

Project description

🛡 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.com homograph attack, risk score 92/100

Requirements

  • Python 3.11+
  • No other system dependencies for the CLI

Links


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firmware_fortress-1.0.0.tar.gz (641.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firmware_fortress-1.0.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file firmware_fortress-1.0.0.tar.gz.

File metadata

  • Download URL: firmware_fortress-1.0.0.tar.gz
  • Upload date:
  • Size: 641.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for firmware_fortress-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9b7a089056d2fcd76e83f85ac62de6c463720f26c9e84f2627efe19e4e5dac3d
MD5 d8b18a28b3101826c4c5dc792cf83b58
BLAKE2b-256 458e3aefb2dbfc1de96b27ba16bc8a0739cb517ec79867e2efbc8d4fcea9c60d

See more details on using hashes here.

File details

Details for the file firmware_fortress-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for firmware_fortress-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37a2470321759ec4543d288fd4508f0a0a82b588b03595a7a5fdb243d23c81a8
MD5 5d27d070ae8900ab5d3c3f819003a1f4
BLAKE2b-256 bd39115261b9ce99a53a05cfbb10fa2026f06c790ba9e4ed9b92b0ac3b91871c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page