False Alarms

False Alarms

Reading time1 min
#shift-left#security#devops#vulnerabilities#compliance

In DevOps, few ideas have been hyped as hard—or sold as optimistically—as shift-left security. The pitch? Catch bugs early. Save time. Sleep better.

But here's the tough truth: it’s not working as well as we hoped.


The Illusion of “Early = Enough”

On paper, early scans sound great. Scan while you code, fix problems right away, and avoid messes later. Simple. Smart.

But in practice? Early scans often miss the big stuff. And worse, they create a false sense of safety.

Let me show you what I mean—through two real-world stories where early scanning should have helped, but didn’t.


Case #1: ShopEasy Misses What’s Not in View

ShopEasy, a mid-size e-commerce company, rolled out a shiny new SAST (Static Application Security Testing) tool. They were pumped. Scans ran in their CI pipeline. Front-end code looked clean.

But that’s where the attention stopped.

No one scanned the backend APIs. No one checked the third-party libraries. People assumed the early scans had it covered.

Three months later? Boom—attackers slipped in through a vulnerable payment library. Totally unscanned. Completely avoidable. The breach cost them $2 million in fines—and about a third of their customer trust.

The mistake wasn’t using shift-left tools. It was stopping only at shift-left.


Case #2: HealthSync’s 87% Lie

HealthSync, a healthcare startup, proudly showed off a security dashboard. It claimed “87% vulnerability-free.” They thought they were golden.

But nobody had checked the Kubernetes deployment configs.

During a routine audit, it turned out their access controls were wide open. Patient data was sitting there, exposed to anyone with a little technical know-how.

The breach didn’t happen in the code. It happened in the infrastructure. HealthSync spent $1.5 million cleaning it up—and took a major hit to its credibility.


So What’s the Real Problem?

These stories aren’t one-offs. They point to a bigger issue: early scanning isn’t the same as complete scanning.

Shift-left efforts often focus only on application code. But threats live everywhere:

  • Infrastructure as Code (IaC) files with risky misconfigs
  • Third-party libraries with hidden exploits
  • Containers running outdated packages
  • Runtime environments with loose access
  • Secrets stored in plain text or bad places

Shift-left tools are great for spotting bad code patterns. But they won’t alert you to an exposed S3 bucket. Or a rogue container image. Or a misconfigured IAM role.

And that’s how companies get blindsided.


The Fix: Think Full Lifecycle, Not Just Shifted Left

Security shouldn’t just be early. It should be everywhere. True DevSecOps means protecting the stack from dev to prod, and every step in between.

Here’s how to start covering more ground:

1. Scan Your Infrastructure Too

Your IaC code is code—treat it like it. Use tools like tfsec or AWS Inspector to find misconfigs before they become entry points.

# Terraform example using AWS Inspector
provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

resource "aws_inspector_assessment_target" "example" {
  name = "example_assessment_target"
  resource_group_arn = aws_resourcegroup.example.arn
}

2. Harden Your Containers

Don’t just secure your builds—lock down your runtime too. Set clear rules with Kubernetes security contexts.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:latest
        securityContext:
          runAsUser: 1000
          runAsGroup: 3000
          fsGroup: 2000

3. Use Multiple Tools for Multiple Layers

Each security tool has a specialty. Don’t expect one to do it all.

  • SAST for catching bad code early
  • DAST for testing live environments
  • IaC scanners for your infrastructure code
  • Kubernetes tools like Kube-Bench or Polaris for runtime configs

Layer them. Combine them. Let them cover each other’s blind spots.


Bottom Line: Early Isn’t Enough

Catching issues early helps. But it’s just one piece of the puzzle.

The real risk? Believing you’ve already found the problems—when you haven’t looked everywhere they hide.

So yes, shift left. But also look right. Look deep. Look often.

Because the worst kind of vulnerability… is the one you think you already fixed.