What Anchore Actually Is

SBOM Components Diagram

Anchore scans container images and tells you what's inside them. Unlike most security tools that just scan for vulnerabilities, Anchore starts by generating a Software Bill of Materials (SBOM) that lists every package, library, and dependency in your containers. Then it scans those components for known security issues.

The main value? You finally know what's actually running in production. Had a Log4j incident? Anchore can tell you which containers are affected in minutes instead of days. Though honestly, if you haven't been tracking your dependencies already, that's on you.

The Three Parts That Actually Matter

Anchore Secure finds vulnerabilities and other nasty stuff. It scans for known CVEs, malware, and leaked secrets. The scanning is fast - takes about 30 seconds for a typical Node.js container. But you'll spend way more time dealing with the false positives it throws at you. And trust me, there will be a lot of them.

Anchore Enforce blocks deployments that fail your security policies. This is where things get interesting (and frustrating). You write JSON policies that define what's allowed. First time you enable this, it'll break half your deployments because of some random OpenSSL vulnerability from 2019 that doesn't actually affect your app. I learned this the hard way during a Friday afternoon deployment.

Anchore SBOM manages all your software bills of materials. Supports SPDX, CycloneDX, and Anchore's own format. The SBOM management is actually pretty solid - you can import external SBOMs, track license compliance, and generate reports that make auditors happy.

Why It Exists: The Open Source Tools

Syft Terminal Output

The whole platform is built on two open source tools that you can use for free:

Syft generates SBOMs from container images. Works on filesystems and source code too. Has 7.6k GitHub stars and actually works reliably. The SBOM generation is surprisingly good - catches most dependencies, though it sometimes misses weird package managers. I've had it choke on some custom Maven setups, but that's probably Maven's fault anyway.

Grype scans for vulnerabilities using the SBOMs from Syft. 10.6k GitHub stars and updates its vulnerability database multiple times per day. Works well, but like all vulnerability scanners, you'll get false positives. Lots of them.

Honestly, most teams can get by with just these free tools. The Enterprise platform adds policy management, a web UI, and compliance reports - nice to have, but not essential unless you're dealing with government contracts or have compliance people breathing down your neck.

How the Damn Thing Works

Container Security Pipeline

Anchore Enterprise (current version 5.19 as of August 2025) runs as a bunch of containers that talk to each other. Uses PostgreSQL for storage and has these main services:

  • Data Syncer: Downloads vulnerability feeds from NVD, Red Hat, and others. Takes forever on first boot - about 45 minutes to sync everything. Sometimes longer if their feeds are having a bad day.
  • Policy Engine: Runs your policy rules against scan results. This is where you'll spend most of your tuning time trying to make the damn thing stop flagging every OpenSSL version ever released.
  • Analyzers: Actually scan the images and generate SBOMs. Can be CPU-intensive if you're scanning large images. I once watched it chew through 8 cores scanning a bloated Python image.
  • API Server: REST API for everything. Well-documented and actually works, which is refreshing.

You can run it on Kubernetes (they provide Helm charts), Docker Compose, or use their pre-built AWS AMIs. The Kubernetes deployment is the most battle-tested option, though the resource requirements are higher than what they tell you in the docs.

For air-gapped environments, you can run it offline, but you'll need to manually download and import vulnerability database updates. Pain in the ass, but it works. Just budget extra time for explaining to security teams why the vulnerability data is a week old.

Anchore vs The Competition (Honest Take)

Tool

Strengths

Weaknesses

Best For

Anchore Enterprise

SBOM-first approach that actually works, built on solid open source tools (Syft/Grype), automated STIG compliance, one-time scanning.

Expensive as hell, probably overkill if not dealing with FedRAMP or DoD requirements, Enterprise features are nice but most teams can get by with the open source tools.

Government contracts, FedRAMP/DoD requirements, compliance theater, auditors demanding detailed SBOM tracking, teams with budget to burn who are tired of managing vulnerability scanner infrastructure.

Aqua Security

Better runtime protection.

SBOM generation is meh compared to Anchore, complex setup that'll eat your weekend, overcomplicated for basic vulnerability scanning.

Comprehensive security (if you can handle complexity).

Prisma Cloud (Twistlock)

Covers everything, covers more attack surface.

Costs more than your AWS bill, resource-heavy deployment that needs serious hardware, infinite patience for Palo Alto's sales calls.

Unlimited budget and infinite patience, if already using and it's working fine.

Snyk Container

Great developer experience, free tier is actually useful for small teams, integrates well with existing dev workflows.

Terrible at enterprise compliance, limited SBOM features.

Small teams, developers.

Trivy (Open Source)

Fast, free, and probably good enough for most teams.

Not as comprehensive as Anchore's SBOM generation.

Basic vulnerability scanning, most use cases, teams without compliance requirements.

Getting Anchore Running Without Losing Your Mind

Anchore Dashboard

Start With the Free Tools First

Before spending money on Enterprise, try the open source tools - seriously. Install Syft and Grype and see if they actually work in your environment. Takes 5 minutes and might save you thousands of dollars. Trust me on this one.

## Install both tools (macOS)
## See: https://github.com/anchore/syft#installation
brew install anchore/syft/syft anchore/grype/grype

## Test on a real container - this will take about 30 seconds
syft nginx:latest -o cyclonedx-json > sbom.json
grype nginx:latest --fail-on medium

If Grype finds 50+ vulnerabilities in nginx (it will), and 40 of them are false positives that don't affect your use case (they will be), then you know what you're getting into. Welcome to the wonderful world of vulnerability scanning.

CI/CD Integration: Where Things Get Real

CI/CD Workflow Diagram

The GitHub Action works but will break your builds the first time you use it. The new one-time scan feature in 5.19 makes CI/CD integration faster (no persistent storage), but you lose historical scan data. Here's what actually happens:

- name: Scan container image
  uses: anchore/scan-action@v4  # https://github.com/marketplace/actions/anchore-container-scan
  with:
    image: \"myapp:latest\"
    fail-build: true
    severity-cutoff: medium  # This will fail. Start with \"high\"

First deployment gotchas (that will ruin your day):

  • The action downloads a 150MB vulnerability database every time - cache it or your builds will take forever and your CI minutes will disappear
  • Setting severity-cutoff: medium will fail 90% of images due to CVE-2022-3602 and other ancient OpenSSL vulnerabilities that don't affect your containerized app
  • The scan takes 2-3 minutes for typical Node.js images, 5+ minutes for large Python images. I once had a 4GB Python image with every fucking ML library known to man - took 15 minutes and maxed out the GitHub Action timeout

What actually works:

  • Start with severity-cutoff: high and fail-build: false to see what breaks
  • Use content hints to suppress false positives (you'll need this, trust me)
  • Run scans in parallel with builds, not blocking them initially

For Jenkins, the plugin is decent but you'll need to tune the timeout settings - default 300 seconds isn't enough for large images. Learned that one the hard way.

Kubernetes Deployment: The Real Challenge

Kubernetes Architecture

The Helm chart works but needs serious resource tuning. Default resource requests are way too low:

## What the docs suggest (doesn't work under load)
catalog:
  resources:
    requests:
      memory: \"1Gi\"
      cpu: \"1\"

## What you actually need
catalog:
  resources:
    requests:
      memory: \"4Gi\"      # Scanning large images eats RAM
      cpu: \"2\"
    limits:
      memory: \"8Gi\"      # Prevent OOM kills

Deployment gotchas that will bite you:

  • Initial vulnerability database sync takes 45+ minutes - plan for this during deployment. The database is fucking massive (600GB+ after decompression)
  • PostgreSQL needs proper persistent storage or you'll lose scan history. Learned this when our PV got wiped and we lost 3 months of scan data
  • The default ingress config doesn't work with most ingress controllers. You'll get 503 Service Temporarily Unavailable errors until you fix the annotations
  • Memory limits are bullshit. Catalog service will OOM kill with anything less than 4GB under real load

I spent an entire weekend troubleshooting why our deployment kept failing with CrashLoopBackOff before realizing the memory limits were way too low. The pods would start, eat through 1GB scanning one Python image, then die. Don't be like me - just give it 8GB and move on with your life.

Air-Gapped Deployments: Pain in the Ass

Air-gapped deployment is technically possible but prepare for suffering:

  1. Manual database updates - Download vulnerability feeds externally, sneakernet them in (yes, really)
  2. Container registry challenges - All Anchore images must be mirrored to your internal registry
  3. Certificate nightmares - Custom CAs, proxy configurations, TLS everywhere

The process works but takes 2-3x longer to set up than connected deployments. Budget extra time for troubleshooting connectivity issues. And when I say extra time, I mean weeks, not days.

Policy Management: Where You'll Spend Most of Your Time

Policy Configuration Screen

Writing Anchore policies is like configuring a firewall - start permissive and gradually tighten. The JSON syntax is verbose and easy to screw up:

{
  \"id\": \"no-high-vulns\",
  \"version\": \"1_0\",
  \"rules\": [
    {
      \"gate\": \"vulnerabilities\",
      \"trigger\": \"package\",
      \"action\": \"stop\",
      \"params\": [
        {
          \"name\": \"severity_comparison\",
          \"value\": \">=\"
        },
        {
          \"name\": \"severity\", 
          \"value\": \"high\"
        }
      ]
    }
  ]
}

Policy development reality:

  • First policy deployment will break everything - plan a maintenance window
  • Whitelisting false positives becomes a daily task (seriously, daily)
  • Different teams need different policies - you'll end up with 5+ policy variants

Progressive rollout that actually works:

  1. Week 1-2: Monitor mode only, collect data on current violations
  2. Week 3-4: Enforce on non-production environments, fix major issues
  3. Week 5+: Gradual production enforcement with escape hatches

The policy hub has good starting templates for NIST, CIS, and STIG compliance, but you'll need to customize them for your environment. And by "customize" I mean "completely rewrite" because their default policies are way too strict for most real-world applications.

Frequently Asked Questions

Q

What actually makes Anchore different?

A

Most security tools just scan for vulnerabilities. Anchore actually tells you what's in your containers first, then scans those components. It generates a Software Bill of Materials (SBOM) that lists every package and dependency, which is useful when shit hits the fan (like Log4j) and you need to know what's affected.The latest version (5.19, August 2025) added automated STIG compliance checking and one-time stateless scanning, which is huge for government and CI/CD workflows. The STIG automation alone saves weeks of manual compliance work for federal teams.The open source foundation (Syft and Grype) means you can validate the scanner behavior yourself, unlike black-box proprietary tools where you just have to trust their results. That's actually kind of refreshing in this industry.

Q

How much does this thing cost?

A

They don't publish pricing publicly (red flag #1). Expect enterprise pricing starting around $10-20k annually for small teams, scaling up to six figures for large organizations. The pricing is per SBOM processed, which gets expensive fast if you're scanning a lot of images.Want to test it first? Use the free open source tools

  • Syft and Grype cover 80% of what most teams need. If those work for you, then consider Enterprise for the policy management and compliance features. But honestly, try really hard to make the free tools work first.
Q

Does air-gapped deployment actually work?

A

Yes, but it's a pain in the ass. Air-gapped deployment requires manually downloading vulnerability database updates and transferring them offline. The initial setup takes 2-3x longer than normal deployment.Expect issues with:

  • Certificate management in proxy environments (this will drive you insane)
  • Mirroring all container images to internal registries
  • Manual database update procedures every week

It works but budget extra time for troubleshooting connectivity issues. Like, seriously, a lot more time.

Q

What about compliance? Does it actually help?

A

If you need FedRAMP compliance or work with government contracts, Anchore is one of the few options that actually works. They have pre-built policies for NIST, STIG, and other frameworks.For most companies? Compliance is mostly checkbox theater. Anchore generates nice reports that make auditors happy, but you'll spend more time tuning false positives than actually improving security. But hey, at least the reports look professional.

Q

How do I deal with false positives?

A

You'll get a lot of them. Like, a LOT. Every vulnerability scanner has this problem, but Anchore seems particularly aggressive about flagging ancient OpenSSL issues that don't affect containerized apps.The tools for managing false positives:

  • Content hints - suppress specific packages or paths
  • Vulnerability corrections - mark vulnerabilities as not applicable
  • Custom policies - tune thresholds per environment

Plan to spend a few hours per week managing suppressions until you get the policies tuned. It's basically a full-time job for the first month.

Q

Should I just use the open source tools?

A

Probably, yes. Syft and Grype are solid tools that work well independently. The Enterprise platform adds:

  • Web UI for viewing results (nice but not essential)
  • Policy management and enforcement (this is where the value is)
  • Compliance reporting (checkbox theater, but pretty checkbox theater)
  • Multi-team access controls

If you don't need those features, stick with the CLI tools and save the money. You can always upgrade later if your requirements change. Or if your boss gets compliance anxiety.

Q

How does the Kubernetes integration actually work?

A

Two main components:

  1. Admission Controller - intercepts deployments and scans images before they start. Works but will break deployments if you set policies too strict initially.
  2. Runtime Inventory - tracks what's running in your cluster. Useful for compliance but doesn't provide runtime protection like Falco or Sysdig.

The admission controller is where you'll have problems. Start with it in "warn" mode, not "block" mode, or you'll break production deployments. I learned this lesson at 2 AM on a Sunday.

Q

What languages and package managers work?

A

Syft supports most common ecosystems:

  • Good support: Java (Maven/Gradle), JavaScript (npm/yarn), Python (pip), Go modules
  • Decent support: Ruby gems, .NET NuGet, PHP Composer, Rust Cargo
  • Limited support: Exotic package managers, custom build systems

It misses some dependencies in complex monorepo setups or when using unusual package managers. Test it on your actual containers before committing. Don't trust the demo data.

Q

Container registry support?

A

Works with everything: Docker Hub, ECR, GCR, Harbor, Artifactory, etc. The registry integration is one of the more reliable parts of the platform.Authentication can be tricky with private registries

  • you'll need to configure credentials properly or scans will fail with cryptic "unauthorized" errors. Good luck debugging those.
Q

Any gotchas I should know about?

A

Yeah, more than a few:

  • Initial database sync takes 45+ minutes and will fail with ECONNRESET errors if your connection drops even once
  • Large Python images (1GB+) can take 10+ minutes to scan. I had one TensorFlow image that took 23 minutes and crashed the analyzer twice with SIGKILL
  • The web UI looks like it's from 2015 and half the links are broken - just use the API and save yourself the headache
  • Resource requirements are complete bullshit. Docs say 2GB, reality is 8GB+ under load or you'll get OOMKilled every few hours
  • Policy syntax is verbose JSON hell. One missing comma will break your entire deployment, and the error messages are cryptic as fuck
  • Version 5.19 one-time scan feature helps with CI/CD but introduces a new bug where large scans sometimes return empty results
  • PostgreSQL will randomly lock up under heavy scan loads if you don't tune max_connections and shared_buffers properly

Oh, and one more thing: their support team is actually decent (which is shocking). You'll need them when Kubernetes networking decides to shit itself and your analyzer pods can't talk to the catalog service. And if you're doing STIG compliance, make sure you have Cinc (open source Chef) installed - the automated STIG checking fails silently without it and you'll spend hours wondering why your compliance reports are empty.

Related Tools & Recommendations

integration
Similar content

Snyk, Trivy & Prisma Cloud: CI/CD Pipeline Security Integration

Make three security scanners play nice instead of fighting each other for Docker socket access

Snyk
/integration/snyk-trivy-twistlock-cicd/comprehensive-security-pipeline-integration
100%
compare
Similar content

Twistlock vs Aqua vs Snyk: Container Security Comparison

We tested all three platforms in production so you don't have to suffer through the sales demos

Twistlock
/compare/twistlock/aqua-security/snyk-container/comprehensive-comparison
91%
tool
Similar content

Trivy: The Security Scanner That Doesn't Suck (Much) - Overview

Trivy simplifies security scanning. Learn why this efficient vulnerability scanner is preferred over others, get quick installation instructions, and find answe

Trivy
/tool/trivy/overview
86%
troubleshoot
Similar content

Trivy Scanning Failures - Common Problems and Solutions

Fix timeout errors, memory crashes, and database download failures that break your security scans

Trivy
/troubleshoot/trivy-scanning-failures-fix/common-scanning-failures
81%
alternatives
Recommended

GitHub Actions Alternatives That Don't Suck

integrates with GitHub Actions

GitHub Actions
/alternatives/github-actions/use-case-driven-selection
68%
tool
Similar content

Docker Scout: Overview, Features & Getting Started Guide

Docker's built-in security scanner that actually works with stuff you already use

Docker Scout
/tool/docker-scout/overview
67%
tool
Similar content

Snyk Container: Comprehensive Docker Image Security & CVE Scanning

Container security that doesn't make you want to quit your job. Scans your Docker images for the million ways they can get you pwned.

Snyk Container
/tool/snyk-container/overview
65%
tool
Similar content

Aqua Security - Container Security That Actually Works

Been scanning containers since Docker was scary, now covers all your cloud stuff without breaking CI/CD

Aqua Security Platform
/tool/aqua-security/overview
62%
troubleshoot
Recommended

Docker Desktop Won't Install? Welcome to Hell

When the "simple" installer turns your weekend into a debugging nightmare

Docker Desktop
/troubleshoot/docker-cve-2025-9074/installation-startup-failures
53%
howto
Recommended

Complete Guide to Setting Up Microservices with Docker and Kubernetes (2025)

Split Your Monolith Into Services That Will Break in New and Exciting Ways

Docker
/howto/setup-microservices-docker-kubernetes/complete-setup-guide
53%
troubleshoot
Recommended

Fix Docker Daemon Connection Failures

When Docker decides to fuck you over at 2 AM

Docker Engine
/troubleshoot/docker-error-during-connect-daemon-not-running/daemon-connection-failures
53%
alternatives
Recommended

Tired of GitHub Actions Eating Your Budget? Here's Where Teams Are Actually Going

integrates with GitHub Actions

GitHub Actions
/alternatives/github-actions/migration-ready-alternatives
52%
alternatives
Recommended

GitHub Actions Alternatives for Security & Compliance Teams

integrates with GitHub Actions

GitHub Actions
/alternatives/github-actions/security-compliance-alternatives
52%
integration
Recommended

Jenkins + Docker + Kubernetes: How to Deploy Without Breaking Production (Usually)

The Real Guide to CI/CD That Actually Works

Jenkins
/integration/jenkins-docker-kubernetes/enterprise-ci-cd-pipeline
50%
tool
Recommended

Jenkins - The CI/CD Server That Won't Die

integrates with Jenkins

Jenkins
/tool/jenkins/overview
50%
integration
Recommended

GitHub Actions + Jenkins Security Integration

When Security Wants Scans But Your Pipeline Lives in Jenkins Hell

GitHub Actions
/integration/github-actions-jenkins-security-scanning/devsecops-pipeline-integration
50%
integration
Recommended

OpenTelemetry + Jaeger + Grafana on Kubernetes - The Stack That Actually Works

Stop flying blind in production microservices

OpenTelemetry
/integration/opentelemetry-jaeger-grafana-kubernetes/complete-observability-stack
47%
troubleshoot
Recommended

Fix Kubernetes ImagePullBackOff Error - The Complete Battle-Tested Guide

From "Pod stuck in ImagePullBackOff" to "Problem solved in 90 seconds"

Kubernetes
/troubleshoot/kubernetes-imagepullbackoff/comprehensive-troubleshooting-guide
47%
howto
Recommended

Lock Down Your K8s Cluster Before It Costs You $50k

Stop getting paged at 3am because someone turned your cluster into a bitcoin miner

Kubernetes
/howto/setup-kubernetes-production-security/hardening-production-clusters
47%
tool
Recommended

GitLab CI/CD - The Platform That Does Everything (Usually)

CI/CD, security scanning, and project management in one place - when it works, it's great

GitLab CI/CD
/tool/gitlab-ci-cd/overview
46%

Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization