https://github.com/platform-system-interface/intel_fw
Modern Intel Firmware Tool and Library
https://github.com/platform-system-interface/intel_fw
analysis csme firmware intel me rust
Last synced: 18 days ago
JSON representation
Modern Intel Firmware Tool and Library
- Host: GitHub
- URL: https://github.com/platform-system-interface/intel_fw
- Owner: platform-system-interface
- License: gpl-2.0
- Created: 2025-10-06T13:09:44.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-04-07T22:49:03.000Z (3 months ago)
- Last Synced: 2026-04-11T12:00:02.868Z (3 months ago)
- Topics: analysis, csme, firmware, intel, me, rust
- Language: Rust
- Homepage: https://platform-system-interface.github.io/intel_fw/
- Size: 1.52 MB
- Stars: 18
- Watchers: 3
- Forks: 2
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Modern Intel Firmware Tool ✨
This is a new utility to analyze and edit firmware images for [Intel platforms](
docs/platforms.md).
Based on [knowledge](docs/knowledge.md) from other projects, such as
`me_cleaner`, coreboot's `ifdtool`, ME Analyzer and related research,
`intel_fw` is written from scratch in Rust, allowing for integration with other
projects, including a flexible API.
The [architecture and design](docs/architecture.md) is based on experience.
To test this tool, you will need sample [firmware images](docs/images.md).
For convenience, take a look at the [scripts](scripts/) used for development.
## Commands
### `me`
The `me` command lets you print, edit and check the (CS)ME firmware.
The `me clean` command is compatible with `me_cleaner`, with minor differences:
- The `--whitelist` and `--blacklist` flags do not cause deletion of partitions
when multiple partitions refer to the same range, but at least one of them is
to be retained. This is considered a bug fix.
- The `--check` flag checks _all_ directory partitions as well as the presence
of the FTPR. Analysis details are printed unconditionally.
- The `--truncuate` option may result in smaller ME images than `me_cleaner`.
## Development
To run the CLI via `cargo` directly, remember to add arguments after an extra
`--`; i.e., to print the general help, invoke `cargo run --relase -- -h`, or,
for a subcommand, e.g. `cargo run --relase -- me clean -h`.
## TODOs
- [ ] sync up; has another patch that
coreboot is missing, doing rework and adding ME Gen 1 support
- [ ] [IFWI](https://github.com/platform-system-interface/intel_fw/issues/80)
format support
## Funding
The [initial work](milestones.md#initial_work) has been sponsored through the
first [Open Call by the Open Source Firmware Foundation](https://www.osfw.foundation/funding/small-scale-high-impact-firmware-contributions-2025/). We highly appreciate
their support that made a first release of this project possible.
