Comparison

Keelix vs Grype

Short answer: run both.Grype is Anchore's fast, accurate CVE scanner — it matches packages against known vulnerabilities, assigns composite EPSS/KEV risk scores, and produces an SBOM. Keelix scans the running box outside-in — host config, internet exposure, and the AI agents and MCP servers on it — and rolls everything into one 0–100 posture score. They answer different questions. You need both answers.

Different tools, different questions

Side by side

KeelixGrype
Primary scopeLive box: host config, containers, outside-in exposure, AI-agent/MCP postureContainer images, filesystems, SBOMs — CVE matching across OS and language packages
CVE scanningHost OS packages (via posture checks)✓ Deep CVE matching with EPSS + KEV risk scoring (0–10 composite score)
EPSS / KEV prioritisation✗ Not scored — Keelix focuses on config posture, not per-CVE probability✓ Combines CVSS severity, EPSS 30-day exploitation probability, and CISA KEV catalog
AI-agent / MCP posture✓ Auto-approval, plaintext secrets, unvetted servers, lethal trifecta✗ Not scanned
Outside-in exposure✓ Shows what is actually reachable from the internet (0.0.0.0 bindings, open ports)✗ Not scanned
Host config checks✓ 93 deterministic CIS/SOC 2/ISO 27001-mapped checks✗ Vulnerability matching only — no IaC, no host config audit
IaC misconfiguration✗ Not in scope — pair with Trivy for Dockerfile / K8s IaC checks✗ Not scanned (use Trivy for IaC)
Output0–100 posture score + per-finding report, JSON/HTML/scan recordCVE list with composite risk scores, SARIF, CycloneDX SBOM, table, JSON
CI gate mechanismExit code on posture threshold (e.g. score ≥ 80)Exit code on severity/fail-on-severity threshold
Compliance evidence✓ SOC 2, ISO 27001, CIS Docker Benchmark — shareable audit records✗ Not generated
Local-first / zero telemetry✓ Nothing leaves your box; secrets redacted at boundary✓ Runs locally; vulnerability DB downloaded and cached
LicenseApache-2.0Apache-2.0
PriceCLI free forever; Keelix Cloud (history, alerts, teams) — see /pricingFree; Anchore Enterprise commercial tier available

Where Grype leads: CVE accuracy and risk prioritisation

Beyond CVEs: the gap Grype cannot close

Recommended setup: run both in sequence

Example pipeline (GitHub Actions)
# Build stage — Grype CVE scan
- name: Grype image scan
  uses: anchore/scan-action@v3
  with:
    image: myapp:${{ github.sha }}
    fail-build: true
    severity-cutoff: critical

# Deploy-to-staging stage — Keelix posture gate
- name: Keelix posture gate
  uses: jakelamon/keelix@v0.1.0
  with:
    threshold: 80
    fail-on: mcp-auto-approval,mcp-secrets

Grype catches the CVEs in the image. Keelix catches the misconfigured deployment and the AI-agent risk that no image scanner can see. Neither finds what the other finds.

Frequently asked

Is Grype better than Keelix?
They do different things. Grype excels at fast, accurate CVE matching across OS and language packages, with smart prioritisation via EPSS and KEV scores. Keelix does not replicate that. Instead it scans the deployed box — host configuration, internet exposure, and the AI agents and MCP servers running on it — and rolls everything into a 0–100 posture score you can gate CI on. Use Grype to catch CVEs in your images; use Keelix to catch the deployment-context risks that have nothing to do with image layers.
Does Grype scan host configuration or Docker daemon settings?
No. Grype matches packages against known CVE databases. It does not audit the Docker daemon socket, check whether UFW has been bypassed by Docker iptables rules, inspect MCP server configs, or assess whether a port is reachable from the open internet. Those are deployment-context checks, which is what Keelix covers.
Can Grype detect AI agent or MCP security risks?
No. Grype's scope is vulnerability matching in software packages. It has no awareness of MCP server configurations, Claude Code or Cursor config files, auto-approval settings, or the presence of plaintext API keys in .mcp.json files. Keelix was built specifically to detect these risks.
What is the EPSS score Grype uses?
EPSS (Exploit Prediction Scoring System) estimates the probability that a CVE will be exploited in the wild within the next 30 days, based on threat-intelligence signals. Grype combines EPSS, CVSS severity, and CISA's Known Exploited Vulnerabilities (KEV) catalog into a single 0–10 composite risk score so you can prioritise which CVEs actually need urgent attention. [anchore/grype — GitHub ↗]
Should I run Keelix instead of Grype?
Run both, in sequence. Grype catches CVEs in your container images and language dependencies — it is fast, accurate, and excellent at what it does. Keelix catches the deployment-context risks Grype cannot see: misconfigured host settings, internet-exposed ports Docker silently punched through your firewall, and AI agent/MCP configs that could turn any prompt injection into a full takeover. Together they cover the whole attack surface; separately each leaves a gap.

Add the deployment-layer gate Grype cannot provide.

Free, local-first, Apache-2.0. Run it alongside Grype — not instead of it.

operator@host — keelix
# install — free & open source (Apache-2.0)
$ curl -fsSL https://keelix.dev/install.sh | sh
$ keelix scan