Skip to content

e-m-b-a/emba

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
December 12, 2023 09:23
December 13, 2023 16:57
December 13, 2023 12:05
December 15, 2023 10:07
September 2, 2021 09:17
July 13, 2023 09:23
October 20, 2022 15:57
November 9, 2023 09:48
December 5, 2023 09:04
September 12, 2023 14:01
August 25, 2020 10:03
November 9, 2023 09:48
December 9, 2023 19:02
December 15, 2023 10:07
December 1, 2023 09:47
December 13, 2023 12:55
December 13, 2023 13:32

EMBA

The security analyzer for firmware of embedded devices

EMBA is designed as the central firmware analysis tool for penetration testers and product security teams. It supports the complete security analysis process starting with firmware extraction, doing static analysis and dynamic analysis via emulation and finally generating a web report. EMBA automatically discovers possible weak spots and vulnerabilities in firmware. Examples are insecure binaries, old and outdated software components, potentially vulnerable scripts, or hard-coded passwords. EMBA is a command line tool with the possibility to generate an easy-to-use web report for further analysis.

EMBA assists the penetration testers and product security teams in the identification of weak spots and vulnerabilities in the firmware image. EMBA provides as much information as possible about the firmware, that the tester can decide on focus areas and is responsible for verifying and interpreting the results.

Watch EMBA


Links to the wiki for more detailed information

Installation

Before running EMBA make sure, that you have installed all dependencies with the installation script and met the prerequisites

git clone https://github.com/e-m-b-a/emba.git
cd emba
sudo ./installer.sh -d

Quick start with default scan profile:

sudo ./emba -l ~/log -f ~/firmware -p ./scan-profiles/default-scan.emba

Quick start with system-emulation scan profile:

For further details on EMBA's system-emulation engine check the wiki.

sudo ./emba -l ~/log -f ~/firmware -p ./scan-profiles/default-scan-emulation.emba

Quick start with AI-assisted analysis enabled

For further details on EMBA's AI analysis engine check the wiki.

sudo ./emba -l ~/log -f ~/firmware -p ./scan-profiles/default-scan-gpt.emba

Quick start in firmware diffing mode

For further details on EMBA's firmware diffing mechanism check the wiki.

sudo ./emba -l ~/log -f ~/1st-firmware -o ~/2nd-newer-firmware -t

EMBA supports multiple testing and reporting options. For more details check the wiki.

Get involved

The IoT is growing, the development is ongoing, and there are many new features that we want to add. We welcome pull requests and issues on GitHub. Also check the CONTRIBUTING and CONTRIBUTORS documentation for further information.

Team

The core EMBA Team

Contributors