curl-jq-fips

Echo's FIPS-validated curl-jq image — the curl and jq combination for calling APIs and processing JSON in pipelines, built on FIPS 140-3 validated cryptography for FedRAMP and US government workloads.

curl-jq-fips, curl-jq, fips 140-3, fedramp, API client

What is curl-jq FIPS?

The curl-jq image bundles curl for HTTP and HTTPS transfers with jq for parsing and transforming JSON. It is commonly used in health checks, init containers, and scripts that call APIs and process the responses.

The curl-jq FIPS image is Echo's FIPS variant of curl-jq: the same API client and JSON processor, built to run on FIPS 140-3 validated cryptography. It is designed for organizations that sell to or operate for the US government — FedRAMP-authorized services, federal contractors, and regulated industries — where an API client and JSON processor that opens TLS connections and sends credentials to remote services must use cryptographic modules with an active NIST CMVP certificate, not merely FIPS-enabled libraries.

What is Echo's curl-jq FIPS image?

Echo's curl-jq FIPS image is a hardened, FIPS-validated build of curl-jq on Echo's hardened base. Cryptography on this image is routed through the Echo FIPS Provider for OpenSSL, a software module validated under FIPS 140-3 (NIST CMVP certificate #5560, Level 1, active). Echo images are designed to be a drop-in replacement: swap the image reference in your Dockerfile or deployment manifest for the curl-jq-fips image and CVEs go to zero without disrupting your pipeline definitions, scripts, and credentials. 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 curl-jq deployments, the distroless variant keeps all runtime operations — HTTP requests, TLS verification, and JSON processing — fully intact while minimizing exposure; the default variant suits platform and DevOps teams that need shell access for scripting, debugging, or chaining other command-line tools in pipelines.

What is the difference between Echo's curl-jq FIPS image and the public curl-jq image?

Public curl-jq images ship on general-purpose bases whose cryptographic libraries have not been validated under FIPS 140-3, and FIPS-enabled is not the same as FIPS-validated — auditors for FedRAMP and other federal frameworks flag the gap. Those bases also include OS-level tooling convenient for development but which contribute CVEs that accumulate on an API client and JSON processor used in production. curl-jq images run inside CI pipelines and operational jobs with access to tokens, API keys, and the responses it processes. OS-level CVEs in the base image — particularly in libraries such as openssl, zlib, and libc — create exploitable paths in an environment that application-level controls never see. Because tooling images are pulled and executed constantly across pipelines, they are also a steady source of scanner noise — every package in the base becomes a finding your security team must triage, even when none of it is exercised by the job. Echo's FIPS build retains everything curl-jq needs for HTTP requests, TLS verification, and JSON processing while routing cryptography through a validated module and removing the packages that don't belong in a production curl-jq API client and JSON processor. As we covered in our post on how to protect your company from software supply chain attacks, build and automation images that run with access to source code, credentials, and deployment targets are a high-value path into everything downstream. 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 FIPS images are STIG-hardened, ship with SBOMs in SPDX and CycloneDX formats and signed provenance, and 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 curl-jq image with Echo's curl-jq FIPS image?

Yes. Echo's curl-jq FIPS image is a drop-in replacement. Update the FROM line in your Dockerfile to the curl-jq-fips image and your workloads keep running. Existing commands, flags, scripts, and pipeline definitions all continue to work without changes. Because FIPS mode disallows non-approved algorithms, anything that depends on legacy ciphers or hashes such as MD5-based signatures needs to move to approved algorithms.

Is Echo's curl-jq FIPS image FIPS-validated?

Yes. Echo's FIPS images use CMVP-validated cryptographic modules, operating in a configuration consistent with the module's FIPS 140-3 security policy. Cryptography on this image is routed through the Echo FIPS Provider for OpenSSL, a software module validated under FIPS 140-3 (NIST CMVP certificate #5560, Level 1, active). That makes the image fit for federal use — unlike FIPS-enabled or FIPS-compliant images whose cryptographic libraries have never been validated. This matters for teams running curl-jq inside FedRAMP boundaries, where an API client and JSON processor that opens TLS connections and sends credentials to remote services must meet cryptographic requirements across the full stack. Echo also provides a FIPS runtime tester that executes approved and unapproved algorithms to show how the image behaves at runtime.

What is Echo's vulnerability management SLA on the curl-jq FIPS 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 tooling image that is pulled and run constantly across pipelines with access to tokens, API keys, and the responses it processes.

Is Echo's curl-jq FIPS 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 curl-jq deployments, the distroless variant is the leaner, more secure choice; for platform and DevOps teams that need shell access for scripting, debugging, or chaining other command-line tools in pipelines, the default variant is the right fit.

How does Echo achieve such a drastic CVE reduction in curl-jq?

Echo's curl-jq FIPS image is built from source with only the absolute essentials needed to run the curl-jq API client and JSON processor, which significantly shrinks the attack surface. Echo also patches aggressively over time, with backports available so you can stay on the curl-jq 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 curl-jq FIPS 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 federal agencies, contractors, and FedRAMP-authorized providers running curl-jq under an ATO — whether that's a FedRAMP-authorized SaaS boundary, a DoD enclave, or an agency-operated platform — Echo's FIPS-validated curl-jq image keeps the API client and JSON processor 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?