PAGES
← all tools
◆ Reverse Engineering

EMBA

v2.0.5-ice-edt open-source

EMBA - The firmware security analyzer

Summary

EMBA is an open-source, GPLv3-licensed command-line tool for analyzing embedded device firmware, aimed at penetration testers, product security teams, developers and product managers rather than general application security staff. Given a firmware image, it handles extraction, static and dynamic analysis through emulation, and SBOMSBOMA software bill of materials, an inventory of the components and versions inside an application. It helps teams find affected software when a dependency has a vulnerability or licensing issue. generation, then produces a web-based report flagging weak spots such as insecure binaries, outdated components, risky scripts and hard-coded passwords; live analysis can even reach older devices by supporting legacy SSLSSLA cryptographic protocol for encrypting network connections, now deprecated in favor of TLS but whose name persists colloquially. Cyber tools reference it when handling HTTPS or other encrypted-channel inspection and termination./TLS ciphers that current OpenSSL refuses. It sits in the firmware reverse-engineering and IoTIoTA collective label for internet-connected physical devices — sensors, cameras, routers, appliances — that tools target because they run embedded firmware with limited patching and broad network exposure. security space, covering ground that otherwise means stitching together separate extraction, static-analysis and SBOM tools by hand. Development is active, with 711 commits and 17 releases in the past year and a release only 31 days old.

EMBA - The firmware security analyzer

How EMBA helps

What is actually inside this firmware image, down to the component and version level?

extracts the filesystem and generates an SBOM listing binaries, libraries and their versions, so outdated or unknown components stand out

Which binaries in this firmware were built without standard hardening protections?

statically inspects extracted binaries for missing exploit mitigations and flags each one by path and the protection it lacks

Are there hard-coded passwords or keys buried in this firmware?

scans extracted filesystems and configuration files for embedded credentials and cryptographic material and reports where each was found

Does this device still respond once it is actually running, not just sitting on disk?

emulates the firmware and performs dynamic analysis against the running system, including live checks that work by supporting older SSL/TLS ciphers current OpenSSL refuses

Which components in this firmware carry known CVEs?

matches the identified software components and versions against vulnerability databases and lists the matches against the SBOM it built

Which scripts on this device carry risky shell logic?

runs static checks over extracted shell scripts and flags dangerous constructs and risky patterns by file

all 25 features, with the evidence for each →

Languages

Not documented

Features

25 capabilities

Built from EMBA's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • EMBA covers 1 of the 5 supply chain security capabilities we track.

What EMBA offers you

  • Scripting language support2
  • CSV data export1
  • JSON data export1
  • Self-hosted deployment1
All capabilities 25 capabilities
SBOM generation support shipped Generates Software Bill of Materials reports using the CycloneDX format during analysis phases. 10 releases · 1 other source · first seen Aug 2022

Shared capability: SBOM generation

release 10 total

  • EMBA's CycloneDX SBOM output now includes valid license entries for identified components. image v2.0.5-ice-edt · Nov 2026 · source · release history
  • Add Java decompilation and security analysis capabilities to improve SBOM generation v2.0.0-A-brave-new-world · Dec 2025 · source · release history
  • Add integration of the Dependency Track API to automatically upload and process generated SBOMs v2.0.0-A-brave-new-world · Dec 2025 · source · release history
  • SBOM VEX (Vulnerability Exploitability eXchange) support is available via f17, integrated into the main SBOM output or available as a separated file v1.5.2-SBOM-next-generation-EMBA · Mar 2025 · source · release history
  • Enhances the SBOM engine with a new JSON output format, dependency handling, untracked file inclusion, and optimized static version detection v1.5.1-rise-from-the-dead · Dec 2024 · source · release history
  • Adds support for extracting SBOM data from Linux distribution identification, RPM packages, Debian packages, OpenWRT packages, Python PIP/requirements/poetry/wheel, FreeBSD pkg, Java archives, Alpine APK, Rust cargo.lock, Ruby gem, and npm JavaScript packages v1.5.0-SBOMdorado · Oct 2024 · source · release history

docs

  • Firmware analysis and SBOM tool that performs static/dynamic analysis on embedded device firmware to identify vulnerabilities, weak spots, and outdated componen
Machine-readable log reporting shipped Outputs CSV-formatted logs across tool modules for consumption by external cyber tooling. 9 releases · first seen Jun 2022

Also counts toward: CSV data export

release 9 total

  • Enhances CSV output generation for all analysis modules v2.0.4-summer_edition · Sep 2026 · source · release history
  • Completes CSV output logging across all modules for structured, machine-readable results. v2.0.4-summer_edition · Sep 2026 · source · release history
  • Increases CSV log output coverage by adding CSV files to additional analysis modules. v2.0.3-legacy-time · Jul 2026 · source · release history
  • Expands CSV log output across additional modules for richer machine-readable reporting. v2.0.3-legacy-time · Jul 2026 · source · release history
  • Enables CSV export for findings from p59, p60, and p70 modules. 1.3.0-AI-for-EMBA · Jul 2023 · source · release history
  • Enables CSV export for findings generated by modules p59, p60, and p70 1.2.2-bluehat · Mar 2023 · source · release history
Firmware entropy analysis shipped Checks firmware files for high-entropy regions to aid detection of encrypted or compressed content. 5 releases · first seen Jul 2022

release

  • Adds entropy file checking to aid detection of encrypted or compressed firmware regions. v2.0.3-legacy-time · Jul 2026 · source · release history
  • Adds a new Lighttpd analysis module to detect configuration issues in Lighttpd web servers. 1.3.0-AI-for-EMBA · Jul 2023 · source · release history
  • New P21 buffalo_decryptor extractor module added 1.1.0-Las-Vegas-Edt · Aug 2022 · source · release history
  • New firmware decryption module for Buffalo devices. 1.0.2 · Jul 2022 · source · release history
  • New firmware decryption modules for Foscam devices. 1.0.2 · Jul 2022 · source · release history
Enhanced emulation architecture support shipped Extends user-mode and system-mode emulation to cover additional CPU architectures including MIPS64, ARM64, x86, and mipsn32. 5 releases · first seen Aug 2022

release

  • Adds the S18_capa_checker.sh module to analyze executable files using capa and map findings to MITRE ATT&CK techniques 1.4.2-Summertime · Aug 2024 · source · release history
  • Adds Lua script analysis support via a new live module 1.2.3-RIP-binwalk · May 2023 · source · release history
  • Adds Hexagon architecture support in system-mode emulation 1.2.1 · Feb 2023 · source · release history
  • Adds system-mode emulation support for ARM64, MIPS64, and x86 architectures 1.2.0-London-Calling · Dec 2022 · source · release history
  • Enables mipsn32 architecture support in the user-mode emulation module (step s115) for broader device firmware compatibility 1.1.1 · Aug 2022 · source · release history
Firmware diffing capabilities shipped Extracts and identifies differences between two firmware images for static comparison. 3 releases · 1 other source · first seen Nov 2023

release

  • Improves diff mode with threading and enhanced reporting capabilities for firmware comparison 1.3.2-EMBArk_is_here · Dec 2023 · source · release history
  • Adds the ability to specify a second firmware image with the -o parameter in EMBA for firmware diffing 1.3.1-diff-all-the-firmwares · Nov 2023 · source · release history
  • Introduces firmware diffing modules that extract and find differences between two firmware images, using radare2 for binary files 1.3.1-diff-all-the-firmwares · Nov 2023 · source · release history

example

  • Compare the source code of two different firmware releases to identify silent patches or added features. emba -i firmware1.bin -o firmware2.bin 1.3.1-diff-all-the-firmwares · Nov 2023 · source
Firmware decryption capabilities shipped Extracts content from encrypted or compressed firmware images for various device vendors. 4 releases · first seen Jul 2022

release

  • Adds R2 decompiler integration for extracted firmware binaries 1.2.3-RIP-binwalk · May 2023 · source · release history
  • New kernel vulnerability verification via Symbols and kernel compilation 1.2.1 · Feb 2023 · source · release history
  • New firmware decryption module for Buffalo devices. 1.0.2 · Jul 2022 · source · release history
  • New firmware decryption modules for Foscam devices. 1.0.2 · Jul 2022 · source · release history
Primary extraction framework migration shipped Replaces binwalk with Unblob as the default firmware extraction engine to improve success rates. 3 releases · first seen May 2023

release

  • Migrates firmware extraction from binwalk to the actively maintained binwalk-ng fork. v2.0.4-summer_edition · Sep 2026 · source · release history
  • binwalk is no longer the main extraction framework; Unblob takes over as the default extractor 1.2.3-RIP-binwalk · May 2023 · source · release history
  • Uses Unblob as the primary extraction framework, with binwalk retained only as a fallback 1.2.3-RIP-binwalk · May 2023 · source · release history
Kernel config analysis shipped Identifies, extracts, and tests kernel configuration parameters within firmware images. 2 releases · 1 other source · first seen Dec 2022

release

  • Adds -k flag to allow running kernel config tests only 1.2.1 · Feb 2023 · source · release history
  • Introduces Kernel config identification, extraction, and testing capabilities 1.2.0-London-Calling · Dec 2022 · source · release history

example

  • Scan only the kernel configuration without full system emulation to save time ./emba -k /path/to/kernel/config 1.2.1 · Feb 2023 · source
Firmware component identification shipped Identifies binary components within firmware images, including version detection for utilities such as the iw wireless tool, and enriches JSON config output with component URLs. 2 releases · first seen Nov 2026

Also counts toward: JSON data export

release

  • Add component URL to the JSON config output for identified firmware components.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ image v2.0.5-ice-edt · Nov 2026 · source · release history
  • Add version detection support for the iw wireless utility component, expanding binary component identification coverage. v2.0.5-ice-edt · Nov 2026 · source · release history
Legacy SSL/TLS cipher analysis shipped Analyses hosts using legacy SSL/TLS ciphers that modern OpenSSL rejects, enabling vulnerability detection on older embedded devices. 2 releases · first seen Jul 2026

release

  • Adds legacy SSL/TLS protocol support allowing EMBA to connect to and analyze vulnerable legacy servers that modern OpenSSL versions cannot reach. v2.0.3-legacy-time · Jul 2026 · source · release history
  • Supports legacy SSL/TLS ciphers during live analysis, enabling vulnerability detection on old embedded devices that modern OpenSSL rejects. v2.0.3-legacy-time · Jul 2026 · source · release history
Static binary and script analysis shipped Performs static analysis on firmware binaries, Perl scripts, and executables using semgrep, zarn, and capa to identify code patterns, vulnerabilities, and mapped MITRE ATT&CK techniques. 2 releases · first seen Mar 2024

Also counts toward: Scripting language support

release

  • Extended binary analysis via semgrep in module s16 1.4.0-ICS-testing-edt · Mar 2024 · source · release history
  • New static perl analysis via zarn (module S27_perl_check.sh) 1.4.0-ICS-testing-edt · Mar 2024 · source · release history
Metasploit integration shipped Leverages the Metasploit framework within emulation environments to perform automatic exploitation checks. 2 releases · first seen Oct 2022

release

  • Adds UPnP live module for network device discovery during scanning 1.2.3-RIP-binwalk · May 2023 · source · release history
  • Adds Metasploit framework support within the EMBA system emulation engine, enabling automatic exploitation checks during firmware analysis 1.1.3-Metasploit-Edt · Oct 2022 · source · release history
Zyxel firmware decryption shipped Decodes Zyxel-specific encrypted firmware archives. 2 releases · first seen Oct 2022

release

  • Adds wordlist support to the JTR password cracking module via parameter s109 1.2.2-bluehat · Mar 2023 · source · release history
  • P22_Zyxel_zip_decrypt.sh module for extracting Zyxel encrypted firmwares. 1.1.2-Knight-Rider-Edt · Oct 2022 · source · release history
Configurable service scanning parameters shipped Allows adjustment of minimum TCP server counts via scanning profiles to control emulation and scanning behavior. 1 release · first seen Sep 2026

release

  • Moves MIN_TCP_SERV to defaults and allows it to be adjusted via scanning profiles. v2.0.4-summer_edition · Sep 2026 · source · release history
Local AI integration shipped Enables local hardware execution of AI models via LocalAI for firmware analysis without external token costs. 1 release · first seen Jun 2026

Also counts toward: Self-hosted deployment

release

  • Switches AI integration to LocalAI for local hardware execution without token costs v2.0.2-big-2k · Jun 2026 · source · release history
S-Record firmware extraction shipped Processes and extracts data from firmware images stored in S-Record format using the P26 module. 1 release · first seen Jun 2026

release

  • Adds P26 extraction module for processing S-Record format files v2.0.2-big-2k · Jun 2026 · source · release history
Firmware dependency mapping shipped Generates interactive dependency maps of firmware components to visualize relationships between files and modules. 1 release · first seen Apr 2026

release

  • Adds the s130 module to generate an interactive dependency map of firmware components v2.0.1-interactor · Apr 2026 · source · release history
Toolchain identification shipped Identifies the build toolchains used to compile firmware components. 1 release · first seen Mar 2024

release

Lighttpd configuration analysis shipped Detects configuration issues and vulnerabilities specific to Lighttpd web servers. 1 release · first seen Jul 2023

release

  • Adds a new Lighttpd analysis module to detect configuration issues in Lighttpd web servers. 1.3.0-AI-for-EMBA · Jul 2023 · source · release history
Lua script analysis shipped Analyzes Lua scripts extracted from firmware for potential vulnerabilities or misconfigurations. 1 release · first seen May 2023

Also counts toward: Scripting language support

release

  • Adds Lua script analysis support via a new live module 1.2.3-RIP-binwalk · May 2023 · source · release history
UPnP device discovery shipped Discovers network devices via UPnP protocols during scanning phases. 1 release · first seen May 2023

release

  • Adds UPnP live module for network device discovery during scanning 1.2.3-RIP-binwalk · May 2023 · source · release history
Password cracking via JTR integration shipped Allows password cracking within the analysis process using John the Ripper with custom wordlist support. 1 release · first seen Mar 2023

release

  • Adds wordlist support to the JTR password cracking module via parameter s109 1.2.2-bluehat · Mar 2023 · source · release history
QEMU QCOW2 image extraction shipped Extracts data from firmware images stored in QEMU QCOW2 format. 1 release · first seen Dec 2022

release

  • Adds a new extraction module for QEMU QCOW2 firmware images 1.2.0-London-Calling · Dec 2022 · source · release history
Module blacklisting shipped Allows users to selectively disable specific analysis modules during execution. 1 release · first seen Oct 2022

release

  • Module blacklisting capability to skip specific analysis modules during execution. 1.1.2-Knight-Rider-Edt · Oct 2022 · source · release history
UEFI firmware analysis shipped Analyzes UEFI firmware components using specialized extraction and hunting modules. 1 other source · first seen Aug 2022

example

  • Run the new experimental UEFI analysis modules against a firmware binary. emba -p <path_to_firmware> --steps p35,s02 1.1.1 · Aug 2022 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Screenshots

From the release notes, newest first. Click one to see it full size.

v2.0.5-ice-edt Nov 3, 2026

v2.0.3-legacy-time Jul 21, 2026

Media

Videos from the release notes, newest first. They play right here.

v2.0.4-summer_edition Sep 21, 2026

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for EMBA, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail EMBA puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

26 entries

  1. November 20261
  2. September 20261
  3. July 20261
  4. June 20261
  5. April 20261
  6. December 20251
  7. March 20251
  8. December 20241
  9. October 20241
  10. August 20241
  11. June 20241
  12. March 20241
  13. December 20231
  14. November 20231
  15. July 20231
  16. May 20231
  17. March 20231
  18. February 20231
  19. December 20221
  20. October 20222
  21. August 20222
  22. July 20222
  23. June 20221
    Show

    26 entries

    Project health

    Issue, contributor and maintainer activity in e-m-b-a/emba, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 13 −2 vs prior 12 months
    2. Maintainers 2 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 65% of issues opened, last 12 months
    5. Median time to close 15 days first maintainer reply 7.2 hours
    6. Open backlog 13 of 372 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 13
    3. Contributors / month 3
    4. Commits / month 80
    5. Stars 3,666
    Issue themes, last 12 months
    • bugs 39%
    • features 24%
    • questions 7%
    • docs 2%
    • other 28%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →