# OpenClaw Plugin
Protect all OpenClaw tools with a single plugin. Policy enforcement, input validation, rate limiting, and audit logging — managed entirely from the SolonGate Dashboard.
Why? OpenClaw ships with powerful tools — shell execution, browser automation, web fetching, file access, device control — all with zero security by default. The SolonGate plugin intercepts every tool call before it executes, evaluates it against your security policy, and blocks anything dangerous.
Installation
1Install the Plugin
1npm install @solongate/openclaw-plugin@latest
2Set Your API Key
1export SOLONGATE_API_KEY=sg_live_your_key_here
Get your API key from dashboard.solongate.com
3Add to OpenClaw Config
Add the plugin to your openclaw.yaml:
1plugins:2 - "@solongate/openclaw-plugin"
4Restart OpenClaw
1openclaw start
You should see the SolonGate banner in the logs confirming protection is active.
How It Works
User (WhatsApp/Telegram/Slack/Discord)
|
v
OpenClaw Gateway
|
v
┌─────────────────────────────┐
│ SolonGate Plugin │
│ │
│ before_tool_call: │
│ ├─ Rate limit check │
│ ├─ Input validation │
│ │ (SSRF, SQLi, path │
│ │ traversal, shell │
│ │ injection) │
│ └─ Policy evaluation │
│ ├─ DENY → block │
│ └─ ALLOW → proceed │
│ │
│ after_tool_call: │
│ └─ Audit log → Dashboard │
└─────────────────────────────┘
|
v
Tool Execution (exec, browser, web_fetch, ...)The plugin hooks into OpenClaw's before_tool_call lifecycle event. Every tool call passes through SolonGate's security pipeline before it executes. If denied, the tool never runs.
What Gets Protected
exec / bashDENIEDShell command execution
processDENIEDBackground process management
browserDENIEDChrome automation
web_fetchDENIEDURL fetching
evalDENIEDCode evaluation
nodesDENIEDDevice control (camera, screen)
messageALLOWEDSend messages to channels
memory_searchALLOWEDSearch agent memory
sessions_listALLOWEDList agent sessions
cronALLOWEDSchedule tasks
This is the default restricted policy. You can customize which tools are allowed or denied from the SolonGate Dashboard.
Input Validation
Even for allowed tools, SolonGate scans every parameter for security threats:
http://169.254.169.254/latest/meta-data/Internal/metadata URL access
'; DROP TABLE users; --Database manipulation
../../../../etc/passwdFile system escape
; rm -rf / #Command chaining
Configuration
Configure via environment variables:
| Variable | Default | Description |
|---|---|---|
SOLONGATE_API_KEY | (required) | Your SolonGate API key |
SOLONGATE_POLICY | restricted | Policy preset: restricted, permissive |
SOLONGATE_RATE_LIMIT | off | Per-tool rate limit (calls/min) |
SOLONGATE_GLOBAL_RATE_LIMIT | off | Global rate limit (calls/min) |
SOLONGATE_VERBOSE | false | Show detailed deny reasons |
SOLONGATE_API_URL | https://api.solongate.com | SolonGate API endpoint |
Dashboard
Everything is managed from the SolonGate Dashboard:
- Policies — Create, edit, and deploy security policies
- Audit Logs — See every tool call, who called it, what happened
- Monitoring — Real-time charts of allowed vs. denied calls
- Rate Limits — Configure per-tool and global limits
- Alerts — Get notified when threats are detected
Also: General MCP Security
SolonGate is not just for OpenClaw. It protects any MCP server:
MCP Proxy (any MCP server)
1npx @solongate/proxy@latest init --all
Inject into your own server
1npx @solongate/proxy@latest inject
See the Quick Start and MCP Proxy docs for details.