Raven.io instruments your application at the function level. Every database query, file operation, network call, and deserialization event is monitored against a behavioral baseline unique to your app. Attacks get blocked in-process — before they touch your data.
The Raven.io agent attaches to your application runtime using language-native instrumentation APIs. For Java, this means a javaagent flag. For Node.js, a require hook. For Python, an import hook. For .NET, the CLR profiling API. For Go, eBPF probes on the host kernel.
No source code modifications needed. The agent intercepts function calls at predefined security-critical hook points: database drivers, HTTP clients, file system calls, process spawning, and deserialization libraries.
During a 48-hour learning phase, the agent records normal application behavior: which SQL queries execute, which API endpoints get called, which file paths are read, and which external services receive connections.
This creates a unique behavioral fingerprint. Your e-commerce checkout flow looks different from your admin panel. Raven.io knows both patterns and flags when something deviates — like a checkout endpoint suddenly running DROP TABLE.
When a request deviates from the baseline, Raven.io classifies the deviation by severity. Low-severity anomalies generate alerts. High-severity threats — SQL injection, command injection, path traversal, SSRF — get blocked immediately by throwing an exception before the dangerous operation completes.
Every blocked event includes the full stack trace, request context, user identity (if available), and the specific function that triggered the block. This data streams to your SIEM within 200ms.
Raven.io ships structured JSON events to Splunk, Datadog, Elastic, Sumo Logic, and any syslog-compatible destination. Events follow the OCSF (Open Cybersecurity Schema Framework) format for consistent correlation with your existing detection rules.
Pre-built dashboards for Splunk and Datadog are included. Alert templates for PagerDuty and Opsgenie ship in the default configuration.
As your application changes — new endpoints, new database queries, updated dependencies — the behavioral model adapts. Each deployment triggers a micro-learning cycle that updates the baseline within 15 minutes without requiring a full 48-hour retraining.
Model drift is tracked in the Raven.io dashboard. If baseline accuracy drops below 95%, the system alerts your security team and falls back to signature-based detection until the model stabilizes.
Monitors every database query at the driver level. The agent parses SQL ASTs in real time to detect tainted user input that modifies query structure. Works with PostgreSQL, MySQL, SQL Server, Oracle, and MongoDB query languages.
Unlike WAF-based SQL injection filters that check HTTP parameters, Raven.io sees the actual query that reaches your database driver. This catches second-order injection, stored procedure abuse, and ORM-generated injection that perimeter tools miss entirely.
Hooks into Runtime.exec(), child_process.spawn(), subprocess.Popen(), and equivalent APIs across all supported languages. Any attempt to execute an OS command with user-controlled input triggers an immediate block.
The agent distinguishes between legitimate system calls (cron-triggered tasks, health checks) and injected commands by comparing against the behavioral baseline. A background job running gzip is normal. A web request handler running curl | bash is not.
File system access is confined to an allowlist derived from the behavioral baseline. Any attempt to read ../../etc/passwd, access files outside the application root, or open sensitive configuration files triggers a block and alert.
Works on both local file systems and cloud storage APIs (S3 via AWS SDK, GCS via Google Cloud Client). The agent intercepts the file path before the open() call reaches the kernel.
Every outbound HTTP request is checked against a network allowlist. Internal IP ranges (10.x, 172.16.x, 169.254.x) are blocked by default unless explicitly permitted. Cloud metadata endpoints (169.254.169.254) are always blocked.
DNS rebinding attacks are caught by resolving hostnames at the agent level before passing the request to the HTTP client. If a hostname resolves to an internal IP, the request is dropped even if the DNS record looked legitimate at first resolution.
Java ObjectInputStream, Python pickle, PHP unserialize, and .NET BinaryFormatter calls are all monitored. Known gadget chains (ysoserial, PHPGGC) are signature-matched. Unknown chains are caught by behavioral deviation — your app never deserializes a Runtime.exec chain in normal operation.
When a deserialization attack is detected, the agent blocks the operation and provides the full gadget chain in the alert payload for forensic analysis.
Tracks authentication function calls per session. Credential stuffing shows up as rapid sequential auth failures from varying credentials. Brute force shows up as repeated attempts against the same account. Both patterns trigger automated throttling at the application layer.
Integrates with your existing auth provider (Auth0, Okta, Keycloak, custom JWT) by hooking into the token validation functions directly.
| Supported Runtimes | Java 8+, Node.js 14+, Python 3.8+, .NET 6+, Go 1.19+ |
| Deployment | Docker sidecar, Kubernetes DaemonSet, native agent, AWS Lambda layer |
| Latency Overhead | < 3ms p99 per request |
| Memory Overhead | < 50MB resident per agent |
| Baseline Learning | 48 hours initial, 15 min incremental |
| SIEM Output | Splunk HEC, Datadog API, Elastic, syslog, OCSF JSON |
| Alert Integrations | PagerDuty, Opsgenie, Slack, Microsoft Teams webhook |
| API | REST API, GraphQL query endpoint, Terraform provider |
| Compliance | SOC 2 Type II, ISO 27001, GDPR Article 32 |
| Encryption | TLS 1.3 in transit, AES-256 at rest |
Deploy the agent in observe mode. Watch it map your app's behavior. Then flip to blocking. The whole pilot takes a week.
Request a Demo