Echo × NanoClaw: An under-the-hood look at our collaboration
-->
Solutions
CustomersPricingResources
Company
Log in<br>Get a demo
Get demo
Back
Featured
How we eliminated 1,400 CVEs in NanoClaw's container images<br>Eylam Milner
Aug 04, 2026 | 15 Minutes
Featured
Agentic security
CVE remediation
Company news
Last week we announced Echo's partnership with NanoClaw, designed to extend the vision and security of the open source project. In this post, we want to pull back the curtain and show you exactly how Echo's agentic hardening process works.<br>How do we detect CVEs?<br>Before we can fix anything, we need a complete, trustworthy picture of what's actually in the image. We scan and analyze the upstream NanoClaw container using several independent vulnerability scanners, including Trivy, Grype, and Wiz. Here's the raw result of scanning the open source NanoClaw image with Grype, sorted by severity:
NanoClaw's default image scan resultsAnd here's how that stacks up against comparable agent runtimes (Hermes and OpenClaw) across both Grype and Trivy (we also added the NanoClaw Echo image to this comparison - which we will dive into soon):
Now, let’s move to the fixing and CVE reduction.<br>Step 1: Start with what we can safely bump<br>Every library in the image is its own problem to solve. So the first thing we do is separate the findings into "safe to bump" and "needs real work." The easy wins are the libraries we know we can upgrade without breaking NanoClaw. Chromium is a great example. It's well known for backward compatibility, so we can trust their updates and bump with confidence. What we are left with are the CVEs that can’t be fixed, and the ones with major jumps. Once we strip out the Chromium-related CVEs, we're still left with roughly 600 vulnerabilities that need fixing. So what happens next?<br>Step 2: The bumps that require real research<br>Some upgrades require a major version jump, which will likely not work out of the box. In these cases, we have to patch it ourselves and verify the patch actually holds without breaking the app. See below, a concrete example: Hono's node-server
Scan results - showing @Hono/node-server - flagged with a major-version jump to a fixed releaseOn paper, this looked like a major jump. But when we dug into the source code, we found the fix was available within a much closer version to what was installed, version 1.19.14 (even if the scanners’ vulnerability databases weren't aware of yet). As part of our contribution to the open source community, we added it to their advisory (it’s a process we do on a daily basis in Echo). We move on to the next step - the “won’t fix” ones.<br>Step 3: Patching and Backporting<br>Then you hit the wall: the rest of the findings that are marked as won't fix or that the distro maintainers only fix in new majors, which as mentioned above are likely to break your app. For these, the fix strategy of choice is to backport, which means taking a patch from a newer version of the package and applying it to the older version that the app requires. In our case, that means we find the fix in the latest upstream version, and start working on NanoClaw’s source code directly. There are three main challenges we need to balance between:<br>Finding the right fix - understanding where the bug is, tracing the fixing commit, and confirming the fix is genuinely safe and complete - not all fix sources are safe to use, so further research is needed.<br>Applying it without breaking anything - the patch has to be compatible with the existing app cleanly.<br>Validating - compatibility, functionality and that the CVE was truly resolved.<br>On top of the application dependencies, there's the operating system underneath everything. NanoClaw's Dockerfile builds on Debian 12
NanoClaw's upstream Dockerfile - built on node:22-slim, i.e. Debian 12Debian 12 base images bring a long tail of OS-level vulnerabilities with them. This is where Echo OS comes into play. It's the Linux distro that Echo maintains, and it's compatible with the common upstream distros - Ubuntu, Debian, RHEL, Amazon Linux, and more. Every part of it is built from source so it can be continuously patched by our AI patching agents. It offers thousands of patched OS packages and has eliminated more than 1.1 million CVEs across them.<br>How Echo conducts backporting<br>Let’s grab one of the latest backports we did as part of the NanoClaw project. We’ll focus on CVE-2025-59375 in expat. This process is conducted by Echo’s proprietary backporter agent .<br>Why did we pick CVE-2025-59375?<br>It's the hardest kind of backport there is - a security fix that isn't a bounds check but a new subsystem threaded through the middle of the library, carried from a newer upstream release down into the older version we ship, and one where the upstream maintainer explicitly warned distributors not to attempt a partial cherry-pick.<br>How can CVE-2025-59375 be exploited?<br>An attacker sends a small, entirely well-formed XML document and the parser allocates a...