bun

The official Bun image — an all-in-one JavaScript and TypeScript runtime, bundler, test runner, and package manager designed as a fast drop-in alternative to Node.js and npm.

bun, javascript, typescript, runtime, bundler, package manager

What is Bun?

The Bun image packages Bun, an all-in-one JavaScript and TypeScript runtime that also includes a bundler, a test runner, and a package manager in a single executable. Bun is built on JavaScriptCore and written in Zig, and is designed as a fast, largely Node.js-compatible alternative that runs TypeScript and JSX directly and installs dependencies much faster than npm. The official image provides the bun binary and is used to install dependencies with bun install, run scripts and servers with bun run, execute tests with bun test, and bundle applications with bun build. It is used by web and backend teams building APIs and full-stack applications, by teams speeding up CI pipelines, and by platform teams that want a reproducible, version-pinned JavaScript runtime across development, staging, and production.

What is Echo's Bun image?

Echo's Bun image is a hardened build of Bun on Echo's hardened base. Echo images are designed to be a drop-in replacement: swap the image reference in your Dockerfile or deployment manifest and CVEs go to zero without disrupting your bun.lockb lockfiles, package scripts, and runtime configuration. Every image is tested across clouds, image use cases, and deployment targets. Echo ships every image in two variants:

  • Distroless variant — optimized for runtime use, with the smallest possible attack surface
  • Default variant — includes essential build tools, package managers, and shells for teams that need operational access

For production Bun deployments, the distroless variant keeps all runtime operations — script and server execution, dependency installation, bundling, and test running — fully intact while minimizing exposure; the default variant suits application and platform teams that need shell access for installing packages, debugging scripts, or running ad-hoc Bun tooling.

What is the difference between Echo's Bun image and the public Bun image?

Public Bun images ship on bases that include OS-level tooling convenient for development but which contribute CVEs that accumulate on a runtime used in production. Bun images run with access to your application code, dependencies, and the environment variables and credentials your orchestrator injects. OS-level CVEs in the base image — particularly in libraries such as openssl, libc, and ca-certificates — create exploitable paths that bypass application-layer controls entirely. For teams running many services, the image is also one of the largest sources of scanner noise in the CI pipeline — every package in the base becomes a finding your security team must triage, even when none of it is reachable from the application. Echo's build retains everything Bun needs for script and server execution, dependency installation, bundling, and test running while removing the packages that don't belong in a production Bun runtime. As we covered in our post on how to protect your company from software supply chain attacks, runtime and build images that combine access to source code, secrets, and network exposure are among the widest attack surfaces in the container stack. Echo commits to a 7-day SLA for critical and high severity vulnerabilities, and 10 days for medium, low, and unknown — with vulnerabilities triaged within 24 hours. Echo images are recognized by all major scanners and mirrored to all major registries, so they fit into existing pipelines without changing your registry, scanner, or runtime tooling.

FAQ

Can I replace my Bun image with Echo's Bun image?

Yes. Echo's Bun image is a drop-in replacement. Update the FROM line in your Dockerfile and your workloads keep running. Dependency installation, lockfiles, package.json scripts, TypeScript execution, and server startup all continue to work without changes to your application code or build scripts.

Is Echo's Bun image FIPS-validated?

Yes. Echo's FIPS-validated images use cryptographic modules with an active FIPS 140-3 CMVP certificate, making them fit for federal use — unlike FIPS-compliant images that haven't been validated. This matters for teams running Bun workloads inside FedRAMP boundaries, where a runtime that executes application code and downloads packages from public registries must meet cryptographic requirements across the full stack — including the OpenSSL and TLS libraries bundled with the Bun image.

What is Echo's vulnerability management SLA on the Bun image?

Echo commits to a 7-day SLA for critical and high severity vulnerabilities, and 10 days for medium, low, and unknown — with vulnerabilities triaged within 24 hours. Patches are mirrored automatically into your private registry so you're always running a clean version — critical for a runtime that runs with access to your code, dependencies, and injected secrets.

Is Echo's Bun image distroless?

Echo ships every image in two variants: a distroless variant optimized for runtime use, and a default variant that includes essential build tools, package managers, and shells. For production Bun deployments, the distroless variant is the leaner, more secure choice; for application and platform teams that need shell access for installing packages, debugging scripts, or running ad-hoc Bun tooling, the default variant is the right fit.

How does Echo achieve such a drastic CVE reduction in Bun?

Echo's Bun image is built from source with only the absolute essentials needed to run the Bun runtime, which significantly shrinks the attack surface. Echo also patches aggressively over time, with backports available so you can stay on the Bun version your applications and their dependencies are certified against — avoiding a disruptive upgrade forced purely by OS-level vulnerabilities in the base image rather than by your own requirements.

Will Echo's Bun image help us achieve FedRAMP?

Yes. The hard parts of FedRAMP — managing vulnerabilities, applying fixes, and using FIPS-validated cryptography — are baked into Echo images, including STIG-hardened configuration and ConMon/POA&M-ready reporting. For application and platform teams running Bun under an ATO — whether that's a JavaScript API service, a full-stack web application, or a build pipeline for government-facing software — Echo's hardened Bun image keeps the runtime layer in-boundary and compliant without requiring custom hardening scripts or manual base image patching between compliance cycles.

‍

Interested in base images that start and stay clean?