DEV Community

Cover image for The IoM Nobody Is Looking At — And Why That Is Exactly the Problem
Tilak Upadhyay
Tilak Upadhyay

Posted on

The IoM Nobody Is Looking At — And Why That Is Exactly the Problem

Here is something the security industry will not say out loud:

Most Indicators of Misconfiguration are not worth your time.

An overpermissioned S3 bucket on a dev account holding no sensitive data. A security group with an unused open port on a decommissioned test instance. An IAM role with slightly broader permissions than it needs on a non-production workload. These are IoMs. They will show up in your CSPM dashboard. They will be flagged, ticketed, assigned, deprioritized, and eventually closed without remediation — or just left open indefinitely.

And honestly? For many of them, that call is correct.

Experienced practitioners know this. Which is why a significant number of them have quietly made peace with a large backlog of IoM findings they are not acting on. Not because they are careless. Because they have learned — through experience — that chasing every misconfiguration flag is a fast path to burning out your team on low-value work while real risks go unaddressed.

The problem is not that practitioners are ignoring IoMs.

The problem is that nobody has given them a reliable method to tell which ones actually matter.


The Signal-to-Noise Problem Nobody Is Solving

Run a CSPM scan across a mid-sized cloud environment. You will get hundreds of findings. Possibly thousands. Severity scores assigned by rules that have no context about your business, your architecture, or what a given misconfiguration actually means for your specific environment.

A finding flagged as "high" because it matches a benchmark rule might be completely irrelevant to your risk profile. A finding flagged as "low" — or not flagged at all — might be the thing that keeps a senior security person awake at night if they understood what it actually meant.

The tools are doing their job. They are comparing configuration state against known rules and surfacing deviations. What they cannot do is answer the question that determines whether any given IoM is worth acting on:

What does this misconfiguration actually mean in the context of this specific system, this specific data, and this specific threat landscape?

That question requires context. Context requires knowledge. Knowledge requires a human who understands both the architecture and the adversary.

And that human is currently buried under a ticket queue of hundreds of CSPM findings, most of which are noise.


What Gets Lost in the Noise

This is where it gets serious.

When IoM fatigue sets in — and it sets in fast in any organization running cloud at scale — the response is rational but dangerous. Teams triage. They focus on the findings that are easiest to understand, easiest to remediate, and easiest to close. High severity, clear fix, done.

What gets deprioritized is anything that requires deeper understanding to evaluate. Anything that does not fit a clean rule. Anything that looks acceptable on the surface but is contextually wrong underneath.

Including — and this is the part that matters — the category of misconfiguration that no tool flags in the first place.

From Post 1 in this series: an internal application sitting behind a public ALB with commercial VPN gateway IPs whitelisted on the security group. Every tool returned green. The finding never appeared in any CSPM dashboard because from a configuration standpoint nothing was wrong. The violation was architectural — the design itself did not enforce what the system was supposed to do.

That is not a low-severity IoM buried in noise. That is an IoM that never appeared in the noise at all.

And a team conditioned to triage a backlog — trained to look for findings in a dashboard — is not looking for something that never generated a finding.


The Three Categories Worth Separating

After enough time working across cloud environments, a pattern emerges. IoMs broadly fall into three categories — and only one of them is what most organizations are spending their time on.

Category 1 — Flagged, Low Context, Low Risk

The bulk of CSPM output. Benchmark deviations, best practice violations, configuration drift on non-critical resources. Most of these are genuine findings but genuinely low risk in context. This is where IoM fatigue comes from. Tools surface them well. Risk is often overstated relative to actual exposure.

Category 2 — Flagged, High Context, High Risk

The findings that tools surface correctly and that actually matter. An overpermissioned IAM role on a production internet-facing workload. An S3 bucket with sensitive data drifted to public. A security group with unrestricted inbound access to a production database. These are real, critical, and fixable. CSPM catches them. The failure here is organizational — prioritization, ownership, and remediation velocity. Most organizations know these exist. Fewer have the process to close them consistently.

Category 3 — Unflagged, Invisible, Architecturally Wrong

The category nobody has a dashboard for. Misconfigurations — or more precisely, architectural decisions — that pass every automated check because no automated check has the context to evaluate them. The violation is not in a configuration value. It is in the gap between what the system was designed to do and what the architecture actually enforces.

This is the Architectural Intent Gap introduced in Post 1. And it is the category that gets zero attention in organizations already overwhelmed by Category 1 noise — because it generates no signal at all.


Why the Industry Framing Is Making This Worse

The dominant conversation around IoM in security goes like this: organizations are not taking misconfigurations seriously enough, here are the scary statistics, here is why you need better tooling.

That framing is not wrong. But it is incomplete in a way that actively makes the problem harder to solve.

When you tell a security team that misconfigurations are critical and they need to pay more attention — without giving them a method to distinguish what actually matters from what does not — you are adding to the noise. You are increasing the pressure to close findings without improving the signal that tells them which findings deserve that pressure.

The result is more triage, more ticket closure theater, more false confidence — and the same Category 3 risks sitting undetected underneath all of it.

What the conversation actually needs is a method. Not more findings. A way to separate the three categories above — and specifically, a way to surface Category 3 risks that generate no findings at all.


Toward a Method

This is not a solved problem. But experience points toward what works.

Classify before you scan

Before any CSPM finding can be properly evaluated, the resource it relates to needs context — what data does it hold, who should have access to it, is it internal or external facing, what is its criticality to the business. Without that context, severity scores from tools are educated guesses. With it, a "low" finding on a system holding sensitive customer data looks very different from the same finding on a dev sandbox.

Most organizations do not have this classification in place at the resource level. Which is why their CSPM output is noise-heavy. The investment in classification pays back in signal quality across every tool in the stack.

Threat model the things that matter before they are built

Category 3 risks — Architectural Intent Gaps — are almost never found by scanning. They are found by a person who understands the system asking: who should be able to reach this, how does the architecture enforce that, and what happens if someone who should not be able to reach it does?

That question needs to be asked before deployment. Architecture review and threat modeling — applied consistently to systems above a defined criticality threshold — are the only controls that reliably surface this category. Not as a replacement for tooling. As the control that operates above the tool ceiling.

Treat IoM ownership as a first-class problem

One reason Category 2 IoMs — the ones tools do flag correctly — persist for so long is that nobody clearly owns them. Security finds them. Cloud engineering needs to fix them. DevOps controls the pipeline. Platform teams own the infrastructure. In that ownership gap, findings age and close without remediation.

Defining who owns misconfiguration remediation — with the same clarity that defines who owns incident response — is a process investment that changes remediation velocity more than any additional tooling will.

Build posture visibility that executives can see

IoMs persist partly because they are invisible to the people who control investment priorities. An incident shows up in a board report. A misconfiguration backlog does not. Making posture a metric with executive visibility — not just a finding count, but a measure of exposure — changes the organizational calculus around investment in remediation.


Closing

IoM is not a simple problem of attention. Telling security teams to pay more attention to misconfigurations — without addressing the signal-to-noise problem — is advice that makes the situation worse, not better.

The practitioners who are deprioritizing IoM findings are not wrong to do so — they are making rational decisions with broken information. The answer is not more findings. It is better context, clearer classification, and a method that separates the three categories from each other.

Especially Category 3 — the architectural decisions that generate no finding, appear in no dashboard, and sit silently in environments where every tool is green and every report looks clean.

Those are the ones worth losing sleep over.

IoC tells you the breach happened.

IoA tells you the attacker is moving.

IoM — the right IoM, found the right way — tells you the door was never locked.

The question is whether your security program has a method to find it. Or whether it is waiting for the dashboard to tell it something that the dashboard was never designed to say.


This is Post 2 in the series "Beyond the Dashboard: The Security Gaps Your Tools Can't See". Post 1 —

— covers the Architectural Intent Gap and why human intelligence catches what tools cannot.

Top comments (0)