HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
corna
me_cleaner
Python2016–2024
corna / me_cleaner

me_cleaner

Tool for partial deblobbing of Intel ME/TXE firmware images

55Distinct people
75Mentions
0Explicit recommenders
5.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Tool for partial deblobbing of Intel ME/TXE firmware images

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year75 dated mentions

Observed mentions: 2016-11-28 23:07:09 UTC to 2024-12-26 03:48:57 UTC.

01020302016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 34 mentions; 4 submissions, 30 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC34430
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC606
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC624
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC707
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC505
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC505
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC624

From the project README

An excerpt from the repository, fetched Nov 14, 2026.

Read the project’s introduction
me_cleaner me_cleaner is a Python script able to modify an Intel ME firmware image with the final purpose of reducing its ability to interact with the system. Intel ME Intel ME is a co-processor integrated in all post-2006 Intel boards, which is the base hardware for many Intel features like Intel AMT, Intel Boot Guard, Intel PAVP and many others. To provide such features, it requires full access to the system, including memory (through DMA) and network access (invisible to the user). Unlike many other firmware components, the Intel ME firmware can be neither disabled nor reimplemented, as it is tightly integrated in the boot process and it is signed. This poses an issue both to the free firmware implementations like coreboot, which are forced to rely on a proprietary, obscure and always-on blob, and to the privacy-aware users, who are reasonably worried about such firmware, running on the lowest privilege ring on x86. What can be done Before Nehalem (ME version 6, 2008/2009) the ME firmware could be removed completely from the flash chip by setting a couple of bits inside the flash descriptor, effectively disabling it. Starting from Nehalem the Intel ME firmware can't be removed anymore: without a valid firmware the PC shuts off forcefully after 30 minutes, probably as an attempt to enforce the Intel Anti-Theft policies. However, while Intel ME can't be turned off completely, it is still possible to modify its firmware up to a point where Intel ME is active only during the boot process, effectively disabling it during the normal operation, which is what me_cleaner tries to accomplish. Platform support me_cleaner currently works on most of the Intel platforms; while this doesn't mean it works on all the boards (due to the different firmware implementations), it has been proven quite reliable on a great number of them. Usage me_cleaner should handle all the steps necessary to the modification of an Intel ME firmware with the command: $ python me_cleaner.py -S -O modified_image.bin original_dump.bin However, obtaining the original firmware and flashing back the modified one is usually not trivial, as the Intel ME firmware region is often non-writable from the OS (and it's not a safe option anyways), requiring the use of an external SPI programmer. Results For generation 1 (before Nehalem, ME version <= 5) this tool removes the whole ME firmware and disables it completely. For generation 2 (Nehalem-Broadwell, ME version between 6 and 10) this tool removes almost everything, leaving only the two fundamental modules needed for the correct boot, ROMP and BUP. The firmware size is reduced from 1.5 MB (non-AMT firmware) or 5 MB (AMT firmware) to ~90 kB. For generation 3 (from Skylake onwards, ME version >= 11) the ME subsystem and the firmware structure have changed, requiring substantial changes in me_cleaner. The fundamental modules required for the correct boot are now four (rbe, kernel, syslib and bup) and the minimum firmware size is ~300 kB (from the 2 MB of the non-AMT firmware and the 7 MB of the AMT one). On some boards the OEM firmware fails to boot without a valid Intel ME firmware; in the other cases the system should work with minor inconveniences (like longer boot times or warning messages) or without issues at all. Obviously, the features provided by Intel ME won't be functional anymore after the modifications. Documentation The detailed documentation about the working of me_cleaner can be found on the page "How does it work?" page. Various guides and tutorials are available on the Internet, however a good starting point is the "How to apply me_cleaner" guide.
Read the full README on GitHub

What Hacker News says

75 sources
> IIRC, on most modern intel cpus removing/blanking the ME will reboot the machine every 20 minutes or so. It is unfortunately an irremovable OEM hardware RAT on most modern systems. Yes, if ME detects a problem when initializing it grants you a 20 minute window as a grace period, presumably to allow users to attempt to fix it. > There are some groups that have figured out how to sign a patched fully feature-unlocked BIOS on a per machine basis (disabling ME is a simple Y/N flag), but YMMV given these tools are nearly impossible to get working. You can also just flip the HAP bit[0], I'd assume that's what those advanced (usually leaked dev build) BIOS firmwares do anyway. > AMD should end the clown show of RATs, and eat the remaining Intel market. =3 AMD has PSP[1], which is functionally equivalent (though with a significantly smaller att
Read the rest
ack surface, when left enabled) I personally am of the belief that both technologies are likely backdoored. There's so much pointing against them[2], that the simplest explanation is they're more likely than not a mandated backdoor that chipmakers eventually expanded for other purposes (such as recent versions of ME handling suspend-related power management) [0] https://github.com/corna/me_cleaner/wiki/HAP-AltMeDisable-bi... [1] https://en.m.wikipedia.org/wiki/AMD_Platform_Security_Proces... [2] https://en.m.wikipedia.org/wiki/Intel_Management_Engine#Asse...
In When power cycling your (x86) server isn't enough to recover it

How to verify boot firmware integrity if you prioritize neutralizing Intel ME?

It was difficult to make a title because of char limit. when you use me_cleaner to neutralize intel ME, it also removes TPM. TPM is required for boot verification technologies like Heads or AEM. So you can't use Heads/AEM and me_cleaner, you have to choose one and in this case we choose to prioritize me_cleaner. Heads: https://osresearch.net/ me_cleaner: https://github.com/corna/me_cleaner Then the question becomes, what do you personally do to protect your computers boot firmware? There are many ways you can do that such as the popular glitter nailpolish technique. The problem with that technique is you need a good camera with a firm stand so you can take the before and after pictures at the exact same distance and place to compare them. It's also quite a lot of work to do that every single time you leave your computer which could be sev
Read the rest
eral times every day. AEM is also most popular to use when traveling and when traveling, having all that extra equipment with you is a problem. What else? Maybe a secret camera without any internet connection capability which you can place somewhere in the room with the computer and that way you can know if someone was inside the room and if they did anything with the computer. The camera would have to record to a local storage like a micro sd card and you overwrite all data on that card every day so you won't need too much storage capacity. And maybe the camera only activates on movement triggered then its even easier to quickly check if there's any video when you come back to your computer. You would also need to be sure that the adversary doesnt replace the camera so you dont know its not your camera anymore or if they can erase the video files before they leave like hackers who erase logs. What do you think about that? Another idea is a container for the computer. The container can of course be destroyed easily but then you will at least know they did something with the computer. But you would need a container that the evil maid can't go get a duplicate of or have one manufactured so they can replace the container after destroying original one. Same problem with a sticker on the screws to open up the laptop, they could get a duplicate sticker to replace yours. I also heard there are ways to remove a sticker and then put it back again. Practically I think camera technique is best to use on daily basis because its effective and relatively simple but maybe in some situations you have to gamble by using a container or sticker. And then you also need to check your firmware once in a while even if you don't suspect anything. I'm not sure the best way to do that because I've read it is practically impossible to know if rom has been maliciously modified. So its probably not enough to simply dump the rom and do a diff against the rom you flashed. Maybe you just have to redo the flash again not knowing if it was necessary or not.
25 points · Open discussion
IIRC, there was a non-publicly-known switch to turn off IME, for government purposes, which became publicly-known. There have also been efforts to delete just part of IME from the flash. A couple links: https://github.com/corna/me_cleaner https://doc.coreboot.org/northbridge/intel/sandybridge/me_cl... On X200-era systems, however, you can remove IME entirely from the flash, which is what I did. I put only Coreboot and GRUB2 on the flash, but you can add SeaBIOS to that, if you want more PC BIOS facilities and options available. (So I stockpiled a few backup units of the X200, before they disappeared from the market, or the available units got too beaten up or expensive.)
In TOTP Authenticator for PalmOS
Yes. There are several ways, depending heavily on the version, and ranging from most trustworthy to least trustworthy: * By patching the ME firmware itself - see the me_cleaner project, and methods documented here: https://puri.sm/posts/deep-dive-into-intel-me-disablement/ . This is Pretty Reliable; the runtime code has been deleted from flash. * By setting a bit in the flash configuration, assumed to be added for the US High Assurance program: https://github.com/corna/me_cleaner/wiki/HAP-AltMeDisable-bi... , https://www.ptsecurity.com/ww-en/analytics/disabling-intel-m... . This is Mostly Reliable; the mechanism has been fairly aggressively reverse engineered and was added for a program with strict requirements. * By sending an HECI command that says "hey ME, turn off your runtime" https://review.coreboot.org/c/coreboot/+/52800 . This is
Read the rest
Somewhat Reliable; the method is well understood and seems to work but I'm not sure someone has done a deep dive audit into whether it could be re-enabled somehow.
In System76's coreboot open firmware manages to disable Intel ME for Raptor Lake
"...this is interesting is because POWER9 is basically the first time the public got a real view of how sophisticated the backstage cast actually is of a modern server CPU." Not quite correct; the OpenSPARC T1 and T2 were publicly released and available by 2008. https://www.oracle.com/servers/technologies/opensparc.html "Large parts of this process are handled by vendor-supplied mystery firmware blobs, which may as well be boxes with “???” written in them. The maintainers of the me_cleaner script likely have the clearest view of what is known. https://github.com/corna/me_cleaner
In Modern CPUs have a backstage cast
If you are sensitive about the Intel Management Engine, the original Core 2 Duo/Quad systems are the last where it could be fully disabled. Anything later will forcibly shut down after 30 minutes if (at least a fragment of) Intel's closed & bug-ridden monitoring code is not present. I ran me_cleaner on a few of these systems, and I do all my finances with them running OpenBSD (usually on q9550s). Yes, this effort to run old hardware is worth it for me. Below are the bios images that I was able to produce: https://github.com/corna/me_cleaner/issues/233
In Why I Use Old Hardware
What you're interested in is called Active Management Technology, it's not supported by all boards, but typically if it is there's a bios screen labelled something like "AMT Configuration" where it can be enabled or disabled. https://virtualizationreview.com/articles/2020/01/13/configu... Intel ME is its own can of worms and can only be fully disabled by modifying the firmware image, see tools like me_cleaner. https://github.com/corna/me_cleaner
In Ask HN: How to know if laptop enrolled in Intel Management Engine?
Need to know more about Intel Management Engine and ability to disable it before I could vote. Most importantly, the two bits showing whether or not one can have: * Intel ME Region Write Access as enable-able * Intel ME Region Read Access is enabled Both are useful for MEBx/IME to be cleaned out or disabled. https://github.com/corna/me_cleaner/wiki/Internal-flashing-w... https://github.com/corna/me_cleaner/wiki/Internal-flashing-w...
In Poll: What's the best laptop for Linux these days?
This does not and cannot "fully disable" the ME subsystem on modern CPUs. A small remnant is left operational - without it, a PC shuts down after 30 minutes (this is well-known). The Core 2 Duo/Quad architecture was the last iteration where the ME subsystem could be entirely removed. I posted two BIOS images on this link for old HP machines. They can easily be flashed from within the booted bios without much hassle. Looking for the link... Found it on Bing of all places! https://github.com/corna/me_cleaner/issues/233
In Disabling the Intel Management Engine

Showing the 15 most recent of 75 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.