mrkeyoor.com_
Sat 07 Nov 13:57 UTC
Dev Toolsevaluationupdated 31 Oct 2026

grype review

Choose Grype when you need a CLI to scan container images, filesystems, or SBOMs for known vulnerabilities. Our run on October 10, 2026, at commit e3e89ac recorded successful install and build steps, but the test command failed. That supports evaluating its setup, not assuming it will detect every vulnerability in your deployment.

+43stars / 7d
Verdict

Grype is worth evaluating for image, filesystem, and SBOM vulnerability scanning, especially when Syft already supplies your inventory. Our October 10, 2026 run at e3e89ac recorded install and build success, but tests failed and the build tail contained vet diagnostics. Validate a representative artifact before using its findings to control releases; this run does not establish detection accuracy or production readiness.

We ran it

Lab card: what happened when we ran grypeScreenshot of grype (github.com/anchore/grype)
Install✓ · 140s896 packages
Build✓ · 168s
Tests✗ · 388s127 passed · 8 failed of 135 (go test)
Repo23267 files~153,113 lines of source · 17.7 MB · 5 CI workflows · Dockerfile · tests dir

Answers from our run

Does grype build from source?

Dependencies installed in 140 seconds (896 packages), and the build succeeded in 168 seconds. We cloned commit e3e89ac into a clean Debian container with 3 CPUs and no project-specific setup.

Do grype's tests pass?

No. The project's own test command finished in 388 seconds and reported 127 passed, 8 failed (go test).

Who should not use grype?

Teams requiring this review to establish detection accuracy or production readiness: our sandbox did not validate either.

What are the alternatives to grype?

Trivy, OSV-Scanner. Grype is worth evaluating for image, filesystem, and SBOM vulnerability scanning, especially when Syft already supplies your inventory.

Setup4/5Documented installation routes and recorded install/build success support this rating under the visible rubric. Our run took 140 seconds to install and 168 seconds for the build step, but tests failed and the build tail recorded vet-exit:1.
Docs4/5The supplied README explains scan targets, installation routes, Syft SBOM input, and links to CLI and configuration documentation. This assesses that entry guidance, not independently verified completeness of every configuration field.
Community5/5The supplied repository snapshot records 13,153 stars, and the README invites contributions and community meetings. Under the visible rubric this rates attention and participation channels only; adoption, response times, and support quality remain unmeasured.
Maturity4/5The supplied v0.117.0 release documents feature, bug, and dependency maintenance. The measured commit is distinct from that release; failed tests and vet diagnostics limit confidence in this sandbox result.

Who it’s for

Platform and security teams evaluating vulnerability scanning for container images.
Developers checking a local filesystem or a saved SBOM.
Teams using Syft to produce an inventory and Grype to scan that inventory.
Contributors who can investigate repository test failures before relying on a modified build.

Who it’s NOT for

Teams requiring this review to establish detection accuracy or production readiness: our sandbox did not validate either.
Buyers choosing primarily on misconfiguration or secret scanning: Trivy's documented scope includes those checks.
Readers requiring a clean contributor test run at the measured commit.
Teams treating an absent dependency audit as evidence that the scanner has no vulnerable dependencies.

Setup reality

Our run on October 10, 2026, at commit e3e89ac used a sandbox configured with 3 CPUs, 8 GB RAM, and the golang:1.24-bookworm image. The harness recorded install success in 140 seconds, build success in 168 seconds, and test failure after 388 seconds. The dependency count was 896.

Those statuses need qualification. The build step returned exit code 0, but its saved output ends with vet-exit:1 and includes vet diagnostics. The install tail records downloading go1.26.8, so the sandbox image name does not establish the toolchain ultimately used.

The stored parser summaries report 127 passing and 8 failing package results, with 135 total. These are not verified exhaustive counts of unique tests. The raw tail identifies failures in package handling, CLI tests, and integration tests; it does not establish their root causes. No new execution, production scan, detection benchmark, or dependency audit was performed for this correction.

Should you use Grype?

Choose Grype when your immediate task is checking an image, filesystem, or existing SBOM for known vulnerabilities. Its documented EPSS, KEV, and risk scoring help prioritize findings, while OpenVEX can filter or augment results. Those capabilities fit vulnerability triage, but our evidence does not measure their accuracy.

Grype scans container images, filesystems, and SBOMs for known vulnerabilities. The project README documents these targets and supports both operating-system packages and language packages. It also shows Grype consuming a Syft SBOM. In that workflow, Syft supplies the inventory and Grype checks it for vulnerabilities; they are complements.

What our sandbox actually recorded

Our run on October 10, 2026, at commit e3e89ac recorded successful install and build steps, but the test command failed. This is the existing stored run, not a new execution for this correction. Its full commit is e3e89ac36773fa93f64dfe4be7ebc9395a4ec6ea.

The harness stores each command's success flag, exit code, elapsed time, timeout flag, and output tail. Install returned 0 after 140 seconds, build returned 0 after 168 seconds, and tests returned 1 after 388 seconds. None of those steps timed out. A successful command status does not establish that a production workload or CLI deployment worked.

The build record particularly needs both parts of that evidence: its recorded exit code is 0, while its tail ends with vet-exit:1. The preceding diagnostics include unkeyed struct literals and an unused result from slices.DeleteFunc. Calling this a clean build-and-vet result would conceal the saved diagnostic output.

The sandbox image was golang:1.24-bookworm, with 3 CPUs and 8 GB RAM. However, the install tail says go: downloading go1.26.8 (linux/amd64). Treat the image as the starting environment, not proof that Go 1.24 executed every step.

The MrKeyoor testing methodology explains how command outcomes and parsed counts reach reviews. Its supplied October 31 description provides provenance context; it does not establish that this October 10 run used every detail of the current procedure.

The test summary and failure tail answer different questions

The attached stored parser summaries report 127 passing package results, 8 failing package results, and 135 total. These figures do not establish exhaustive unique test coverage, and we have not reconciled them against complete logs. The raw record also lists 47 packages without tests; those are not failed tests and should not be added to the attached total.

The saved tail names TestSyftLocationExcludes in grype/pkg. It also names TestCmd, Test_descriptorNameAndVersionSet, TestDBProviders, and TestSubprocessStdin in test/cli, followed by TestCompareSBOMInputToLibResults and TestMatchByImage in test/integration.

These names locate visible failures without explaining all eight failing package results. They also do not prove that the scanner missed vulnerabilities in a deployed image. The tail is insufficient to distinguish a project defect from an environment or fixture problem. Before contributing changes, reproduce the relevant failures in your own environment and retain the complete output.

No dependency audit result was recorded. Scan coverage is unknown, so neither the dependency count nor the build status supports a security assurance.

Choose alternatives by the work you need

Trivy documents vulnerability, misconfiguration, secret, and license scanning. Choose it for evaluation when those additional checks belong in the same scanner workflow. Its README establishes that broader scope; it does not establish better detection accuracy than Grype.

OSV-Scanner provides an officially supported frontend to the OSV database and a CLI interface to OSV-Scalibr. Consider it when that dependency-scanning workflow fits your project. Its README also documents container scanning, so treating it as a lockfile-only alternative would be misleading. The supplied feature instructions identify themselves as V2 beta instructions; confirm the release and feature you intend to deploy.

Neither alternative was run in this sandbox comparison. These are scope-based choices, not benchmark rankings.

How to interpret the ratings

The retained editorial ratings use this five-point rubric: 1 means substantial documented obstacles, 2 means major qualifications, 3 means usable with material limitations, 4 means strong supporting evidence with explicit caveats, and 5 means the strongest signal within the named dimension. They are judgments, not measured product performance.

Setup ease considers documented installation routes and the recorded command outcomes. Documentation considers the supplied README's target, installation, and navigation guidance. Community considers visible repository attention and participation channels, not verified adoption or support response times. Maturity considers release maintenance and the limitations of the recorded run, not certification or proven detection quality.

The community rating therefore reflects repository attention and available participation channels only. It must not be read as evidence that users receive timely fixes. Likewise, the setup and maturity ratings do not override the failed tests or the vet diagnostics.

What to verify before adoption

Start with a representative artifact and a saved SBOM, then check whether the reported packages and versions match what you shipped. Keep the scanner version, target identity, vulnerability database metadata, and findings together so a later result can be investigated. If release approval depends on a finding, inspect its underlying evidence and define how your team handles disputed results.

Our run establishes command outcomes for one commit in one sandbox. It does not establish scan throughput, false-positive or false-negative rates, registry compatibility, production deployment success, or security of the dependency tree.

Alternatives

ProjectWhat it isPick it when
Trivy gh↗A scanner whose documented scope includes vulnerabilities, misconfigurations, secrets, and licenses.Evaluate Trivy when those additional checks need to sit alongside vulnerability scanning; the supplied evidence does not compare its accuracy with Grype.
OSV-Scanner gh↗An OSV database frontend and CLI interface to OSV-Scalibr for dependency vulnerability scanning.Evaluate OSV-Scanner when its OSV-based dependency workflow fits your project, and check the release-specific documentation because the supplied feature instructions describe V2 beta.

What people are saying

  1. [github-trending] anchore/grype

Sources

  1. Grype README
  2. Grype repository facts
  3. Grype v0.117.0 release
  4. Issue 3670: missed vendored libraries
  5. Issue 3630: unstable by-CVE metadata
  6. Issue 3674: Grafana constraint report
  7. Issue 3663: missing configuration fields

More dev tools reviews

git-cliff · blackbird · czkawka · controller-runtime · openchoreo · terraform-provider-azurerm · the whole board →

Related reading