Skip to main content

MITRE EMB3D

Documentation build status pre-commit

A CLI, MCP Server, & AI based Threat Analysis for https://emb3d.mitre.org/

Run

Via uvx

uvx mitre-emb3d --help
uvx mitre-emb3d --pprint properties Networking --level 3

Add to your project

The project can be used both as a tool & library

uv add mitre-emb3d

What this project enables!!

AI Driven Embedded Project Threat Analysis

  • Determine which device properties are applicable to your project
  • Do threat analysis
  • Generate a detailed project report and heatmap
uvx mitre-emb3d ai --repo <path-to-repo> --config config.toml map-properties
uvx mitre-emb3d ai --repo <path-to-repo> --config config.toml threat-analysis
uvx mitre-emb3d ai --repo <path-to-repo> --config config.toml gen-site

See the documentation & guides for more information on configuration https://mitre-emb3d.readthedocs.io/en/latest/guides/

CLI & MCP Server

You can use the CLI or MCP server or both to build your own solutions

  • List device properties for a given category
  • List threats for a given category
  • List threats for a given device property
  • List device properties for a certain threat
  • List mitigations for a given threat
  • Get detailed information about a threat
  • Get detailed information about a mitigation
  • A CLI - AI Agent first (returns JSON output) / For humans add --pprint to see beautiful ouput
  • An MCP Server

Example -

$ uvx mitre-emb3d --pprint list-threats-for-category "Networking"
- TID-221: Authentication Bypass By Message Replay
- TID-222: Critical System Service May Be Disabled
- TID-310: Remotely Accessible Unauthenticated Services
- TID-316: Incorrect Certificate Verification Allows Authentication Bypass
- TID-317: Predictable Cryptographic Key
- TID-318: Insecure Cryptographic Implementation
- TID-401: Undocumented Protocol Features
- TID-404: Remotely Triggerable Deadlock/DoS
- TID-405: Network Stack Resource Exhaustion
- TID-406: Unauthorized Messages or Connections
- TID-407: Missing Message Replay Protection
- TID-408: Unencrypted Sensitive Data Communication
- TID-410: Cryptographic Protocol Side Channel
- TID-411: Weak/Insecure Cryptographic Protocol
- TID-412: Network Routing Capability Abuse

Note --pprint (default is OFF, default output is JSON) for display

Explore other commands using the CLI help

 Usage: mitre-emb3d [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version                                      Show the version of CLI and exit                                                                                              │
│ --release                                TEXT  2.0.1, 2.0 ... [default: 2.0.1]                                                                                               │
│ --loglevel            -l                 TEXT  Set the logging level (debug, info, warning, error, critical) [default: warning]                                              │
│ --pprint                  --no-pprint          Whether to pretty-print the output (e.g. JSON lists) [default: no-pprint]                                                     │
│ --install-completion                           Install completion for the current shell.                                                                                     │
│ --show-completion                              Show completion for the current shell, to copy it or customize the installation.                                              │
│ --help                                         Show this message and exit.                                                                                                   │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ list-categories               List the categories                                                                                                                            │
│ list-properties-for-category  List properties for a certain category                                                                                                         │
│ list-properties-for-threat    List properties for a certain threat                                                                                                           │
│ list-threats-for-category     List threats for a certain category                                                                                                            │
│ list-threats-for-property     List threats for a certain device property                                                                                                     │
│ list-mitigations              List mitigations for a certain threat                                                                                                          │
│ threat                        Threat Information                                                                                                                             │
│ mitigation                    Mitigation Information                                                                                                                         │
│ mcp                           Launch the MCP server                                                                                                                          │
│ ai                            AI related commands                                                                                                                            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

MCP Server

At the moment only STDIO is supported

For your mcp.json add the server like this

{
  "servers": {
    "mitre-emb3d": {
      "command": "uvx",
      "args": ["mitre-emb3d", "mcp"]
    }
  }
}

Use mcp inspector to play with the MCP Server

npx -y @modelcontextprotocol/inspector uvx mitre-emb3d mcp

Metadata

Release files for mitre-emb3d 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mitre-emb3d 0.6.0
File Size Uploaded Provenance
mitre_emb3d-0.6.0.tar.gz 285.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mitre-emb3d 0.6.0
File Interpreter ABI Platform
mitre_emb3d-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 337.3 kB

Release files / mitre_emb3d-0.6.0.tar.gz

Download URL mitre_emb3d-0.6.0.tar.gz
Size 285.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dc1bcb02701964fe6e86e715afd8b4f2249dd8734c36c7cceafbee38c650f7fb
BLAKE2b-256 checksum
How to use checksums
f659912e213fb04a8bcf366cd456557a2d3dfa976990bb23ade5124e6fb773f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Release files / mitre_emb3d-0.6.0-py3-none-any.whl

Download URL mitre_emb3d-0.6.0-py3-none-any.whl
Size 52.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
771dd4ea54d45a4c1c24729e19b218caebbff233f970559eb3550b6e0f31ee40
BLAKE2b-256 checksum
How to use checksums
cd8dcc670b12011a3d5675874905e6d84e39ea3e336f888d2aa58fa91fb904ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Security for mitre-emb3d 0.6.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mitre_emb3d-0.6.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page