Agent Registry

Sentinel has a growing ecosystem of agents for security, traffic management, and custom logic. This page catalogs official agents maintained by the Sentinel team and community-contributed agents.

Browse the full registry at sentinel.raskell.io/agents

Official Agents

Official agents are maintained by the Sentinel Core Team and follow strict quality, security, and compatibility standards.

Stable

Production-ready agents with stable APIs.

AgentVersionDescriptionEvents
Authv0.1.0Authentication and authorization supporting JWT, API keys, OAuth, and custom providersrequest_headers
Denylistv0.1.0Block requests based on IP addresses, CIDR ranges, or custom patterns with real-time updatesrequest_headers
Rate Limiterv0.1.0Token bucket rate limiting with configurable windows per route, IP, or custom keysrequest_headers

Beta

Feature-complete but APIs may change.

AgentVersionDescriptionEvents
AI Gatewayv0.1.0LLM traffic control with prompt injection detection, PII filtering, and rate limitingrequest_headers, request_body
JS Scriptingv0.1.0JavaScript-based custom logic using embedded V8 runtimeall
Lua Scriptingv0.1.0Embed custom Lua scripts for flexible request/response processingall
ModSecurityv0.1.0Full OWASP CRS support via libmodsecurity integrationrequest_headers, request_body
WAFv0.1.0Native Rust web application firewall with SQL injection, XSS detectionrequest_headers, request_body
WASMv0.1.0WebAssembly-based custom logic with sandboxed executionrequest_headers
WebSocket Inspectorv0.1.0Deep inspection and filtering of WebSocket frameswebsocket_frame

Planned

On the roadmap for future development.

AgentDescription
Adaptive ShieldSelf-learning threat detection using edge ML
Geo FilterGeographic IP-based request filtering
LLM GuardianAI-powered threat analysis for intelligent traffic decisions
Request HoldPause suspicious requests for async verification
Response CacheHigh-performance caching with TTL controls
TelemetryObservability agent for analytics and logging

Built-in Reference Agents

The Sentinel repository includes reference implementations for testing and as templates:

Echo Agent

A simple agent that echoes request metadata back as headers. Useful for testing and debugging.

# Run with Unix socket
sentinel-echo-agent --socket /tmp/echo.sock

# Run with gRPC
sentinel-echo-agent --grpc 0.0.0.0:50051

Source: agents/echo/

Features

  • Adds X-Echo-* headers with request metadata
  • Returns correlation ID, method, path, client IP
  • Supports verbose mode for additional debugging headers
  • Works with both Unix socket and gRPC transports

Community Agents

Community agents are created and maintained by the Sentinel community. They follow the agent protocol specification but are not officially supported.

No community agents registered yet.

Want to contribute? Submit your agent to the registry!

Submission Requirements

To submit a community agent:

  1. Implement the Agent Protocol
  2. Include a sentinel-agent.toml manifest
  3. Provide documentation and examples
  4. Open an issue with the community-agent template

Agent Manifest

Every agent should include a manifest file:

# sentinel-agent.toml
[agent]
name = "my-awesome-agent"
version = "0.1.0"
description = "Does awesome things with requests"
authors = ["Your Name <you@example.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/yourname/my-awesome-agent"

[protocol]
version = "1"
events = ["request_headers", "response_headers"]

[compatibility]
sentinel-proxy = ">=0.1.0"
sentinel-agent-protocol = "0.1"

[registry]
homepage = "https://example.com/my-agent"
documentation = "https://docs.example.com/my-agent"
keywords = ["sentinel", "agent", "awesome"]
categories = ["security"]  # security, traffic, observability, custom

Agent Configuration

Configure agents in your sentinel.kdl:

agents {
    // Official auth agent
    agent "auth" type="auth" {
        unix-socket "/var/run/sentinel/auth.sock"
        events "request_headers"
        timeout-ms 100
        failure-mode "closed"  // Block if agent fails
    }

    // Official WAF agent (gRPC)
    agent "waf" type="waf" {
        grpc "http://waf-service:50051"
        events "request_headers" "request_body"
        timeout-ms 200
        failure-mode "open"  // Allow if agent fails
        max-request-body-bytes 1048576  // 1MB
    }

    // Community or custom agent
    agent "custom-logic" type="custom" {
        grpc "http://localhost:50052"
        events "request_headers" "response_headers"
        timeout-ms 50
    }
}

Agent Types

TypeDescription
authAuthentication and authorization
wafWeb Application Firewall
rate_limitRate limiting and throttling
customCustom business logic

The type is informational and used for metrics/logging. All agents use the same protocol.