Safeguard
Supply Chain•

How do you list every Redis, Kafka, RabbitMQ and SQS client you use?

Build an inventory of broker client libraries and server versions from lockfiles, SBOMs and images so an advisory takes minutes to answer, not days.

Safeguard Security Team
4 min read

Generate a software bill of materials for every service, filter it for the packages that talk to Redis, Kafka, RabbitMQ and SQS, and record the broker server versions separately. Then when an advisory lands, you can answer which services use the affected component in minutes. The inventory is the control.

Why two inventories

An advisory can name a server, a client library, or both. The Redis CVE-2025-49844 advisory is about the server: it lists fixed releases for each Redis product line. Other advisories hit the client side, for example a deserialization issue in a library that reads messages. Because queue consumers parse data from a shared channel, client and server bugs both matter.

You need two lists:

ListWhat it holdsWhere it comes from
Client librariesPackages in each application, with versionsLockfiles and SBOMs per repository
Broker serversProduct, version, location, ownerImage tags, deployment manifests, cloud inventory

Steps for the client list

  1. Collect lockfiles or generate an SBOM for each repository. Use the lockfile where there is one, because it records the resolved versions, including transitive ones.
  2. Search for packages that connect to brokers. Examples by ecosystem include redis and ioredis, pika and amqplib for RabbitMQ, kafkajs and confluent-kafka for Kafka, and the AWS SDK for SQS. Your own services will have others, so build the list from what you find.
  3. Look at wrappers too. Job frameworks such as Celery pull in a broker client as a dependency, and the framework has its own security guidance, as in Should Celery use pickle or JSON?.
  4. Record version, repository, owning team and where it runs.
  5. Re-run on every build, so the list does not rot.

Steps for the server list

  1. List every broker: the managed services, the containers and the machines. Include development and staging, since they often run older versions.
  2. Record the product, exact version and who can reach it. The version needs to match the format in advisories, such as the Redis release numbers.
  3. Note the configuration that matters: listener protocols, authentication, exposed ports.
  4. Assign an owner. An advisory with no owner waits.

Using it on advisory day

When a notice arrives, read it for the product, the affected range and the conditions. The Redis advisory is a good model: it names the issue, the fixed releases per product and the conditions for exploitation. Then query both lists. If the answer is "this service uses a library in the affected range," look at whether the vulnerable function is reachable in your code before you decide urgency, and remember that a client library bug usually matters only if your code calls the affected path.

Common gaps

  • Indirect dependencies that carry a broker client without a direct entry in your manifest.
  • Images with their own copy of a client or server, separate from the application lockfile.
  • Local and CI stacks that start a broker with a floating tag.
  • Services nobody owns that still consume from a queue.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how a dependency inventory lists packages and versions, then imagine filtering it for your broker clients.

Safeguard produces SBOMs and runs dependency scanning, and its asset discovery helps find services and brokers that are missing from your records. The free scan is a quick way to see an inventory of one repository. For a related checklist, see Keep broker client libraries patched: a dependency inventory.

Quick check

Is a lockfile enough for the client inventory?

It covers resolved versions for that repository. Add images and runtime environments, since they can include other copies of libraries.

How often should I refresh the inventory?

On every build for clients, and on a schedule for servers, so changes are visible soon after they happen.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.