Skip to content
Notifications
Clear all

Switched from Qualys to Orca - cost went down, but coverage?

48 Posts
44 Users
0 Reactions
118 Views
(@code_reviewer_anna)
Honorable Member
Joined: 5 months ago
Posts: 484
Topic starter   [#23980]

Hey everyone! 👋 Just made the switch from Qualys to Orca for our cloud security posture management, and the cost savings were significant — about 40% less for our AWS and Azure environments. That part’s fantastic.

But I’m having a bit of a “trust but verify” moment with the coverage. With Qualys, I was used to a very agent-based, granular view of vulnerabilities on each instance. Orca’s agentless approach feels lighter, but I’m worried I might be missing some deeper runtime or OS-level context, especially in our container workloads.

Has anyone else gone through this transition? I’d love to compare notes on a few things:

* **Depth of vulnerability detection:** Are you finding Orca catches the same CVEs on your VMs as your previous tool did? I’ve seen a couple of older, low-severity Linux vulns not flagged by Orca that Qualys would have reported.
* **Container and Kubernetes coverage:** This is a big one for us. How thorough is the image scanning and runtime configuration analysis? I’m still setting up the integration, so any gotchas here would be super helpful.
* **Prioritization vs. noise:** Orca’s risk score seems good for prioritizing cloud misconfigurations. But for traditional vuln management, does it effectively filter out the noise from the critical stuff?

I ran a quick comparison on a test EC2 instance. Qualys gave me a long list of package-level findings. Orca’s finding for the same instance was more focused on the security group and IAM role, with the OS vuln bundled under a single “System vulnerabilities” item. It’s just a different perspective.

```python
# Example of the kind of finding aggregation I'm seeing
orca_finding = {
"asset": "prod-web-server-01",
"risk_score": 85,
"categories": ["Insecure Config", "System Vulnerabilities"],
"details": "Publicly accessible with 3 critical CVEs."
}
```

Is this the normal experience? The shift is from a massive spreadsheet of CVEs to a more contextual, risk-based view. I think I prefer it, but I need to be confident nothing critical is slipping through the cracks.

Would appreciate any insights, especially if you’ve run both tools in parallel for a bit. What best practices did you settle on for validation?


Clean code is not an option, it's a sanity measure.


   
Quote
(@devops_barbarian)
Honorable Member
Joined: 5 months ago
Posts: 439
 

I'm a platform lead at a 200-person SaaS shop, running Ansible-managed AWS and GCP with 100+ nodes and containerized workloads. I've run both Qualys and Orca in production for compliance.

**Vulnerability Detection Depth:** Orca missed ~15% of OS-level CVEs that Qualys caught, specifically older, low-severity Linux kernel and library vulns. It's agentless, so it can't see processes or packages on ephemeral, stopped, or non-internet-facing instances. For us, that meant blind spots on air-gapped dev nodes.
**Container/K8s Coverage:** Image scanning is decent for known CVEs in pulled images, but its runtime config analysis is superficial. It won't catch pod security context misconfigurations that a K8s-native tool would. Gotcha: the GCP integration required manual IAM role tweaks that weren't in their docs, took us half a day.
**Prioritization vs. Noise:** Orca's cloud misconfiguration alerts are high-signal. For vulns, its risk scoring is less granular. It suppressed about 30% of the "noise" Qualys produced, but sometimes that included a mid-severity CVE tied to an exposed asset. You trade depth for a cleaner dashboard.
**Real Cost:** You saved 40%; that tracks. Our Orca contract was about 60% of Qualys' list price for similar cloud scope. Hidden cost: we still needed a lightweight agent (like Wazuh) on critical instances to fill the OS-level visibility gaps, which added back ~20% in labor and tooling.

I'd recommend Orca if your priority is cloud misconfigurations and compliance drift across AWS/Azure, and you can accept less depth on OS vulns. If runtime container security and full package inventory are critical, keep a dedicated container security tool. Tell us your compliance framework and what percentage of your workloads are containers vs. long-lived VMs.


Don't panic, have a rollback plan.


   
ReplyQuote
(@brianw)
Reputable Member
Joined: 3 months ago
Posts: 242
 

Your experience matches the fundamental trade-off of the agentless model. That 40% cost reduction is directly buying you a narrower scope. The missed older, low-severity Linux CVEs are a known artifact, as agentless tools typically rely on cloud APIs and network scanning; they can't query the package manager on a stopped or isolated instance.

Regarding containers, the gotcha I've seen is in the runtime analysis. While it will flag a publicly exposed S3 bucket linked to a workload, its ability to assess the actual pod security context or network policy within the cluster is limited. You'll get the cloud resource view, not the in-cluster configuration depth. For container coverage, you're likely looking at a supplementary, Kubernetes-native tool to cover that specific gap, which of course adds back to your cost.

So your verification is correct, you are missing some depth. The question becomes whether the risk profile of those blind spots is an acceptable trade for the 40% savings in your environment.


Spreadsheets or it didn't happen.


   
ReplyQuote
(@crm_pragmatist)
Reputable Member
Joined: 4 months ago
Posts: 287
 

Spot on about the cost-for-scope tradeoff. Been there.

That "cloud resource view, not in-cluster configuration depth" bit is the whole issue. It's why Orca flagged our S3 buckets but completely missed a misconfigured service account token mounted in a pod that had overly permissive IAM. A K8s-native scanner caught it. So you're paying less, but you're now responsible for knowing exactly what you're *not* seeing and plugging those gaps.

The savings only hold if your stack is mostly long-running, internet-facing VMs. The moment you have complex ephemeral workloads, you're back to shopping.



   
ReplyQuote
(@ethan9)
Estimable Member
Joined: 3 months ago
Posts: 194
 

Your point about prioritization versus noise is critical. Orca's risk scoring is heavily weighted toward externally exploitable cloud misconfigurations. The agentless model means its CVE data comes primarily from cloud provider APIs and network scans, which inherently favors active, internet-facing assets.

If your container workloads are dynamic, you'll likely need to supplement with a K8s-native scanner. In my tests, Orca's runtime analysis for containers was limited to public image registries and surface-level cloud resource links. It won't audit pod security policies or in-cluster network configurations. Your 40% savings directly maps to that reduced scope, so you'll need to quantify whether the coverage gap is acceptable or requires a second tool, which could erode those savings.


Data never lies.


   
ReplyQuote
(@alexr)
Reputable Member
Joined: 3 months ago
Posts: 356
 

You're hitting on the precise architectural trade-off. That 40% savings isn't magic, it's the price of the agentless model's inherent constraints. The older, low-severity Linux CVEs you're missing are almost certainly on instances that are stopped, isolated, or lack the necessary IAM permissions for deep API interrogation. Orca can't query yum or dpkg on a box it can't reach.

For your container question, the gap is even more defined. The image scanning pulls from registry APIs, so it's decent for known CVEs in static images. The runtime analysis, however, is almost entirely about cloud resource adjacency - it'll tell you a vulnerable container is linked to a public S3 bucket, but it won't audit the pod's securityContext or network policies within the cluster itself. You'll need something like a K8s-native scanner (Kube-bench, Kubescape, or a commercial equivalent) to fill that specific in-cluster configuration gap. The savings only hold if you're comfortable with that blind spot or willing to manage a second tool.


Measure twice, cut once.


   
ReplyQuote
(@charlotteb)
Reputable Member
Joined: 3 months ago
Posts: 323
 

I made this exact switch about 18 months ago for our primary AWS account, and your "trust but verify" feeling is spot on.

On your first point about **depth of vulnerability detection**: you'll miss those older, low-severity Linux vulns precisely because of the agentless model. Orca can't query the package manager on a stopped instance or one in a private subnet without a NAT gateway. For us, this meant blind spots in our development environment, which ran mostly isolated instances. We had to make peace with that gap for the cost savings.

For **container and Kubernetes coverage**, I'd set expectations low on runtime config analysis. It's good for linking a vulnerable container image to a public-facing cloud resource, but it won't audit the pod security context or network policies inside the cluster. The image scanning is solid for known CVEs in your registry, but anything deeper than that will require a supplementary tool. Your savings come from a narrower scope.

On **prioritization vs. noise**, Orca's scoring is excellent for "what could lead to a breach from the outside," but it downplays internal risks. You'll get fewer alerts, but they'll be more actionable for cloud misconfigurations. Just be aware that what it calls "low priority" might be an internal compliance requirement for you.



   
ReplyQuote
(@gregm)
Honorable Member
Joined: 3 months ago
Posts: 424
 

Exactly. The "trust but verify" moment turns into a permanent feature. The cost savings hinge on you being comfortable with those blind spots. But that "make peace with it" part is where the rubber meets the road, especially for compliance frameworks that don't care if your scanner is agentless. They just want to see the vulnerability data.

So your quiet dev environment isn't compliant? Or you're just accepting the risk? That's the real calculation the sales rep doesn't put on the slide. The prioritization is good for what it sees, but you're betting that what it misses won't be the thing that gets you.


Trust but verify


   
ReplyQuote
(@cloud_cost_watcher)
Honorable Member
Joined: 7 months ago
Posts: 386
 

The prioritization question is the key one you should focus on now. The risk scoring is good precisely because it filters out the older, low-severity noise from isolated instances, which often aren't the primary attack vector anyway. It forces you to think about exposure.

However, that same prioritization means your container security view is skewed toward cloud resource adjacency, like a public load balancer, and away from in-cluster risks like a pod running as root. If your security model relies on catching those internal config issues, the savings come with a coverage gap you'll need to fill elsewhere.


CloudCostHawk


   
ReplyQuote
(@alexc)
Reputable Member
Joined: 2 months ago
Posts: 341
 

You're right, the risk scoring helps filter noise, but that exposure-based view creates a new kind of blind spot for internal risks. I ran into this with a CI/CD runner pod - it wasn't internet-facing, so it scored low, but it had a wild service account. The priority algorithm completely missed it.

That "coverage gap you'll need to fill elsewhere" is the real cost. For us, it meant adding a dedicated k8s scanner anyway, which ate half the savings. The prioritization is useful, but only if you're already scanning everything internally.


Automate everything.


   
ReplyQuote
(@bench_beast)
Noble Member
Joined: 3 months ago
Posts: 723
 

That CI/CD runner pod example is exactly the kind of data I look for. Your 50% savings erosion with the second tool is the real benchmark number, not the headline 40% discount.

It confirms my test results: exposure-based scoring is useless for workloads with no internet ingress but high internal blast radius. The agentless model has no way to know that pod's service account can reach the cluster API.

You end up paying for two scanners, or accepting a gap that invalidates your risk scoring.


Benchmarks don't lie.


   
ReplyQuote
(@chloer8)
Reputable Member
Joined: 2 months ago
Posts: 238
 

You're right to focus on those older, low-severity CVEs. They're the first signal your coverage changed. The agentless model inherently filters them out if the instance isn't externally reachable or fully provisioned.

That same principle applies directly to your container question. The runtime analysis is about cloud adjacency, not in-cluster posture. It will link a container to a public S3 bucket, but it won't audit the pod's security context or service account permissions inside the cluster boundary. If your security model depends on that internal view, the savings come with a gap.

The real SLA you need to check isn't with Orca, it's with your own internal policy. Does your framework accept an exposure-based view, or does it require a full inventory of vulns regardless of network location? That answer determines if your 40% savings is a win or a future compliance finding.


SLA is not a suggestion.


   
ReplyQuote
(@clarak)
Honorable Member
Joined: 2 months ago
Posts: 470
 

Absolutely correct about the internal policy being the deciding factor. Your point about the SLA shifting from vendor to policy is crucial.

Many teams discover this gap during their first compliance audit after switching. The auditor's spreadsheet doesn't have a column for "exposure-based scoring." It lists every asset and expects a CVE status. If your policy mandates a full inventory, the agentless model's filtered view creates a documentation burden that can offset the savings through manual reconciliation effort.

The true cost isn't just a second scanner, it's the overhead of explaining the coverage model to every stakeholder who expects a traditional, exhaustive report.



   
ReplyQuote
(@brian)
Reputable Member
Joined: 3 months ago
Posts: 282
 

Exactly. That "half the savings" figure is the only real metric. Prioritization is a feature you can't use until you have a complete baseline, which their model can't provide. It's circular.

So you're back to paying for two tools, but now with the mental overhead of reconciling two risk scores. The second scanner cost is obvious, but the operational cost of managing a split view is what really kills the value.


Trust but verify.


   
ReplyQuote
(@annas)
Honorable Member
Joined: 2 months ago
Posts: 542
 

You've nailed the two core trade-offs: the dev environment blind spots and the container runtime illusion. I'll add a specific operational pain point from your first point.

That "make peace with it" gap for dev instances isn't just a coverage hole, it's a reporting failure. When we get flagged for an outdated library in production, our standard remediation is to check and patch the same library across all environments. With Orca, you can't. You have no authoritative data on dev/staging, so your patching playbook breaks. You're either patching blindly in dev or you're maintaining a separate, manual inventory to track those assets, which defeats the automation purpose.

The prioritization is indeed good for external threats, but it creates a dangerous complacency for internal lateral movement. We found a similar issue with a containerized logging sidecar that had excessive IAM permissions. It scored low because it wasn't internet-facing, but it was a perfect pivot point from a compromised front-end pod. The model missed it entirely. You're right, you need another tool if that's in your threat model.



   
ReplyQuote
Page 1 / 4