What is Runtime Application Self-Protection (RASP)?
Runtime Application Self-Protection (RASP) is a security technology embedded directly inside an application that detects and blocks attacks while the application is running. It sits within the app's runtime environment, intercepts calls, inspects context, and can terminate a session or alert security teams without relying on an external perimeter device.
What it does
RASP instruments an application at runtime, either by injecting an agent into the process or by wrapping the runtime environment itself. From that position it can:
- Intercept function calls, database queries, file system access, and network requests as they happen inside the app.
- Compare the call's context against known attack patterns, such as SQL injection payloads or command injection strings.
- Block the malicious call, terminate the session, or raise an alert, all without stopping the rest of the application.
- Record attack telemetry, including the exact code path and payload, for forensic review.
On mobile platforms, RASP can detect tampering, rooting, jailbreaking, and hooking frameworks at the moment the app launches or during use. On web and API backends, it can enforce data flow rules and catch deserialization attacks that a network firewall would never see.
Why teams buy it
A Web Application Firewall (WAF) sits outside the application and inspects HTTP traffic. It cannot see what happens inside the runtime after a request is accepted. RASP fills that gap. Teams buy it when:
- They cannot fix every vulnerability in legacy code before it ships.
- They need protection for third-party or commercial off-the-shelf software they do not control.
- Compliance frameworks require in-app controls in addition to perimeter controls.
- They want attack context tied to a specific line of code, not just a network packet.
What to look for
- Deployment model: Agent-based, library-based, or no-code wrapping. No-code options reduce integration risk for mobile apps.
- Language and platform support: Coverage for your stack, whether that is JVM, .NET, Python, Node.js, iOS, or Android.