What Is RASP (Runtime Application Self-Protection)?

Also called: Application self-protection

Related problems: A known flaw in our application that we can't fix right away; Perimeter filters miss attacks that look like normal traffic; We need to know which attacks actually reach vulnerable code; Legacy applications nobody can safely change

Runtime application self-protection (RASP) is security technology that runs inside an application, usually as an agent loaded into its runtime, and watches how the application handles each request in production. When it sees input being used in a dangerous way, for example text from a web form changing the structure of a database query, it can stop that operation, end the session or raise an alert, depending on how it is configured. Because it judges what the code actually does rather than what the request looks like, it can catch some attacks that perimeter filters miss.

At a glance

  • RASP sits inside the running application, not in front of it on the network.
  • It watches sensitive operations such as database queries, file access and system commands, and checks whether untrusted input is driving them.
  • Depending on configuration, it can block the operation, terminate the request or only report it.
  • It is tied to specific languages and runtimes, and adds some performance overhead.
  • It complements, but generally does not replace, perimeter services such as a WAF or WAAP.

What problem it solves

Some application flaws can’t be fixed quickly. The code may belong to a vendor, the team that wrote it may have moved on, or a fix may need weeks of testing. Meanwhile, the flaw is exposed to the internet. Perimeter filters help, but they inspect requests from the outside and decide based on patterns. Attacks crafted to look like normal traffic can get through, while unusual but legitimate traffic sometimes gets blocked.

RASP adds a layer that sees what the application is actually doing with each request. Because it watches the point where input reaches a database, a file or a command, it can decide with more context whether something harmful is happening. That can reduce exposure to known flaws while they wait for a fix, and to some unknown ones, including zero-day vulnerabilities, although no product catches every attack. It also gives security teams evidence of which attacks reached vulnerable code, which helps prioritize vulnerability management work.

How it works

Instrumentation. An agent is added to the application’s runtime, such as a Java virtual machine, .NET runtime or a Node.js or Python process. Some products are added as a library instead. The agent hooks into functions that matter for security.

Context. For each request, the agent tracks where untrusted input came from and how it is used. A request containing an injection attempt that never reaches a database query may be logged as harmless; one that does change the query’s meaning is treated as an attack.

Response. Configured actions vary: blocking the operation, returning an error, ending the user’s session, or simply recording the event. Most teams start in monitoring mode to see what would be blocked before turning blocking on.

Reporting. Events flow to the vendor’s console and often to the organization’s SIEM or monitoring tools, with details of the request and the code involved.

The agent approach is similar to interactive application security testing (IAST), and some vendors sell both from the same agent. IAST uses it in testing to report flaws; RASP uses it in production to interrupt attacks.

When it matters for buyers

  • When a known flaw can’t be patched quickly. RASP is one way to reduce exposure while a fix is developed, though it isn’t a substitute for the fix.
  • When you run important custom or legacy web applications. Especially customer portals and APIs, provided the runtime is supported.
  • When buying software or hosted applications. Some vendors cite RASP as part of their protection. Ask what it covers and whether they still fix flaws on agreed timelines; runtime protection is a layer, not a remediation plan.
  • When comparing application protection options. Our web application and API protection overview covers the perimeter services RASP is usually compared with.

Questions to ask vendors

  • Which languages, runtimes, frameworks and versions do you support, including ours?
  • Which attack types do you detect, and which can you block versus only report?
  • What overhead should we expect per request, and how was it measured?
  • If the agent fails or is overloaded, does the application keep running, stop, or let traffic through unprotected?
  • Can we run in monitoring-only mode first, and how are false positives tuned?
  • How do events reach our SIEM or security operations team?
  • How is it priced: per application, per server or per agent?

How it differs from WAAP

Web application and API protection (WAAP) is a perimeter service, usually cloud-delivered, that sits in front of web applications and APIs. It typically combines a web application firewall (WAF) with bot management, API protection and denial-of-service defense. It inspects traffic before it reaches the application, can protect many applications at once regardless of the language they’re written in, and doesn’t need changes inside the application. RASP sits inside one application and sees how its code handles each request, which gives more context for injection-style attacks but nothing for bots or traffic floods, and it needs agent support for each runtime. They answer different questions, so many organizations that adopt RASP keep a perimeter service too.

Frequently Asked Questions

Does RASP replace a WAF or WAAP service?
Usually not. A WAF or WAAP service filters traffic before it reaches the application and often also handles bots and denial-of-service attacks, which RASP doesn't address. RASP works inside the application and sees how code actually handles a request. Many organizations that use RASP keep a perimeter service as well.
Does RASP fix vulnerabilities?
No. It can reduce the chance a known or unknown flaw is exploited while it runs, which buys time, but the flaw remains in the code. Fixing it still means changing the code or upgrading the component.
Will RASP slow our application down?
It adds some processing to each request it inspects. How much depends on the product, the language and how the application is built. Test on a realistic workload before rolling it out, and ask the vendor how it behaves if the agent itself fails.
Can RASP protect any application?
No. RASP agents support specific languages, runtimes and frameworks, and some products need code or configuration changes. Older or unusual platforms may not be supported at all, so check compatibility application by application.

You Don’t Need Another Sales Call. You Need an Answer.

30 minutes. No pitch. Just an honest conversation about where you are, what you need, and whether working together makes sense.

We use your details to set up and prepare for the call, and send the newsletter only if you ask for it. Privacy policy.