the colony watches its own
SBOM-as-fingerprint for your fleet.
meerkat scans every machine's dependencies, matches them against known vulnerabilities, and answers "which machines have this CVE?" in seconds.
What it is
A single binary runs on each machine, inventories the software dependencies it finds, and ships that inventory to a central server. The server matches every package against OSV, records which machines are affected, and exposes a dashboard. When a new CVE drops, you already know who's exposed.
Inspired by how meerkat colonies work: every member scouts its surroundings and alerts the group, while a sentinel keeps the collective view.
The two actors
Scout
meerkat scan on a machine walks the
filesystem, detects projects from lock files, builds
an inventory of dependencies, and uploads it. Runs
once or on a schedule.
Mob
meerkat server receives inventories,
matches against OSV, stores everything in SQLite,
emails alerts on new vulns, and re-matches offline
machines against fresh data.
The server never reads filesystems; the client never matches vulnerabilities. They talk over one HTTP endpoint with a bearer API key.
How it works
- Walk & scan. The client detects projects from lock files and runs Syft on each, with a content-hash cache so repeat scans are fast.
- Upload. The deduped inventory is POSTed with the bearer key; on network failure it queues to disk and drains later.
- Match. The server queries OSV per PURL, groups by canonical CVE, and computes a CVSS-derived exposure score.
- Alert. When an endpoint gains a new vulnerability, the affected fleet gets an email.
- Passive rematch. A timer re-evaluates powered-off machines against current OSV data, so they're flagged even while offline.
What it scans
Project-tier dependencies, resolved from lock files:
| Ecosystem | Detected from |
|---|---|
| npm | package-lock.json · yarn.lock · pnpm-lock.yaml |
| PyPI | poetry.lock · Pipfile.lock · uv.lock |
| Cargo | Cargo.lock |
| Go | go.sum |
| Conan (C/C++) | conan.lock · conanfile.txt/.py |
Development status
alphameerkat is alpha and built for research. It works and is useful today, but the scope is intentionally narrow and the data model still moves. It scans project dependencies only — not yet everything you'd expect from a production-grade security tool.
Today
- + Lock-file dependency scanning (5 ecosystems)
- + OSV matching with canonical-CVE grouping
- + CVSS-derived exposure scoring
- + Email alerts & passive rematch
- + Dashboard + JSON API, macOS & Linux
On the way
- ~ System packages (dpkg / rpm / apk)
- ~ Global installs (brew, npm -g)
- ~ Windows support
- ~ Deeper C/C++ + Conan coverage
- ~ Daily full-machine scanning
Try the live demo
A hosted instance with synthetic data — a fake fleet built from sample lock files — is up so you can try the dashboard without installing anything. Sign in with this read-only key:
Guest, read-only: browse everything, but writes are blocked. All data is synthetic — nothing here is a real machine.