Cloud-native applications have changed. Security stacks have not.
Most CNAPPs do a solid job with what they were designed for: inventory, posture management, misconfigurations, and a steady stream of findings tied to infrastructure and configuration state. The problem is that modern attacks increasingly start and unfold inside the application layer, and they do it during execution, not during a scan window.
That gap is exactly what we covered in our recent webinar, Traditional CNAPPs No Longer Cut It.
The Core Issue: CNAPPs Are Snapshot-Based in a Runtime World
Traditional CNAPPs are fundamentally snapshot-oriented. They’re excellent at telling you what should be running based on infrastructure state and cloud APIs, and some even incorporate logs to confirm something happened after the fact.
But they do not see:
- What’s actively executing inside the application
- Function-level behavior and runtime context
- Dynamic APIs and ephemeral containers
- True exploitability and reachability in production
That blind spot creates two outcomes security teams know too well: noise and misses. You get lots of “critical” findings without the context to prove what’s actually exploitable, and you still miss the attacks that matter because they never show up as a posture issue.
Why This Gets Worse in the GenAI Era
GenAI is accelerating development velocity. More code, more services, more APIs, faster releases, and more complexity at the application layer. That means the attack surface shifts continuously, and “periodic visibility” becomes a liability.
If you can’t see what’s happening as it runs, you’re left guessing.
React-to-Shell: A Clear Example of a Modern Runtime Attack
In the webinar, we used React-to-Shell as an example of what application-layer attacks look like now. It’s useful because it doesn’t fit neatly into the patterns most traditional tools were built to catch.
At a high level, the sequence looks like this:
- A malicious payload hits the server-side rendering (SSR) layer
- Unsafe serialization or template injection enables executable JavaScript
- The attacker gains execution inside Node.js during normal operation
- Post-exploitation begins: sensitive file access, lateral movement, internal service calls, cloud metadata abuse, and eventual outbound communication
The key point is simple: this is not “find a misconfiguration” or “scan for a missing patch.” It’s a runtime execution problem that unfolds inside the application environment.
Defense-in-Depth Still Matters — But Runtime Is the Missing Control Layer
In most environments, you’ll see some mix of:
- SAST/SCA for code and dependencies
- CNAPP for posture and cloud configuration
- WAF for request filtering and known patterns
- EDR for endpoint telemetry after execution
Each tool contributes value. But none of them were built to see the execution sequence inside the application and correlate it back to the initiating request in a way that proves what happened, where it happened, and what it impacted.
That’s why runtime becomes foundational. It’s the missing control layer that can observe attacks as they occur and connect the dots across application behavior, containers, and cloud context.
What Runtime Visibility Changes in Practice
When you can observe runtime activity down to the function call level, a few things become possible immediately:
- Detect real exploitation in real time, not after the fact
- Validate exploitability, not just theoretical risk
- Correlate the full attack path across application, container, network, and cloud signals
- Give SOC teams the confidence to act, with fewer false positives
- Give engineering teams root-cause clarity, down to what code path was exploited
- Give leadership a clearer view of blast radius and business impact
This is how you move from “another alert” to “a complete picture,” where teams can make fast decisions with high confidence.
The Takeaway
Traditional CNAPPs aren’t “bad.” They’re just incomplete for the way attacks work now.
As application-layer attacks accelerate and environments become more dynamic, security programs need runtime visibility to reduce noise, validate real risk, and respond with confidence. Runtime isn’t an add-on. It’s increasingly the layer that binds the rest of the security stack together with execution-aware context.
If you want the full session, you can watch the recording here:
Webinar: Traditional CNAPPs No Longer Cut It
And if you’d like to talk through what runtime coverage looks like in your environment, reach out and we’ll set up time.


