Secucheck
Comprehensive security audit for OpenClaw.
- Rating
- 4.2 (198 reviews)
- Downloads
- 17,335 downloads
- Version
- 1.0.0
Overview
Comprehensive security audit for OpenClaw.
โจKey Features
๐ Comprehensive: Channels, agents, cron, skills, sessions, network, runtime
๐ค 3 Expertise Levels: Beginner / Intermediate / Expert
๐ Localized: Final report in user's language
๐ฏ Attack Scenarios: Real-world exploitation paths
โก Runtime Checks: VPN, containers, privileges, network exposure
๐จ Dashboard: Visual HTML report with security score
--
Everything below is for the agent executing this skill.*
--
Complete Documentation
View Source โ
secucheck - OpenClaw Security Audit
Comprehensive security audit skill for OpenClaw deployments. Analyzes configuration, permissions, exposure risks, and runtime environment with context-aware recommendations.
Summary
secucheck performs read-only security audits of your OpenClaw setup:
- 7 audit domains: Runtime, Channels, Agents, Cron Jobs, Skills, Sessions, Network
- 3 expertise levels: Beginner (analogies), Intermediate (technical), Expert (attack vectors)
- Context-aware: Considers VPN, single-user, self-hosted scenarios
- Runtime checks: Live system state (network exposure, containers, privileges)
- Dashboard: Visual HTML report with security score
- Localized output: Final report matches user's language
Quick Start
Installation
clawhub install secucheck
Usage
Ask your OpenClaw agent:- "security audit"
- "secucheck"
- "run security check"
Expertise Levels
When prompted, choose your level:- Beginner - Simple analogies, no jargon
- Intermediate - Technical details, config examples
- Expert - Attack vectors, edge cases, CVEs
Dashboard
"show dashboard" / "visual report"
Example Output
๐ Security Audit Results
๐ก Needs Attention
| Severity | Count |
|----------|-------|
| ๐ด Critical | 0 |
| ๐ High | 0 |
| ๐ก Medium | 2 |
| ๐ข Low | 3 |
### ๐ก Agent "molty": exec + external content processing
...
Features
- ๐ Comprehensive: Channels, agents, cron, skills, sessions, network, runtime
- ๐ค 3 Expertise Levels: Beginner / Intermediate / Expert
- ๐ Localized: Final report in user's language
- ๐ฏ Attack Scenarios: Real-world exploitation paths
- โก Runtime Checks: VPN, containers, privileges, network exposure
- ๐จ Dashboard: Visual HTML report with security score
Agent Instructions
Everything below is for the agent executing this skill.
When to Use
Trigger this skill when:
- User requests security checkup/audit
- Auto-trigger: Installing skills, creating/modifying agents, adding/modifying cron jobs
- Periodic review (recommended: weekly)
Expertise Levels
| Level | Identifier | Style |
|---|---|---|
| Beginner | 1, beginner | Analogies, simple explanations, no jargon |
| Intermediate | 2, intermediate | Technical details, config examples |
| Expert | 3, expert | Attack vectors, edge cases, CVE references |
Execution Flow
Step 1: Ask Level (before running anything)
Present options in user's language. Example (English):
What level of technical detail do you prefer?
1. ๐ฑ Beginner - I'll explain simply with analogies
2. ๐ป Intermediate - Technical details and config examples
3. ๐ Expert - Include attack vectors and edge cases
๐ All levels run the same checksโonly explanation depth varies.
STOP HERE. Wait for user response.
Step 2: Run Audit
bash ~/.openclaw/skills/secucheck/scripts/full_audit.sh
Returns JSON with findings categorized by severity.
Step 3: Format Output
Parse JSON output and format based on user's expertise level. Final report must be in user's language.
#### Report Structure (Organize by Category)
๐ Security Audit Results
๐ Summary Table
| Severity | Count |
|----------|-------|
| ๐ด Critical | X |
| ...
โก Runtime
- [findings related to RUNTIME category]
๐ค Agents
- [findings related to AGENT category]
๐ Workspace
- [findings related to WORKSPACE category]
๐งฉ Skills
- [findings related to SKILL category]
๐ข Channels
- [findings related to CHANNEL category]
๐ Network
- [findings related to NETWORK category]
Group findings by their category field, not just severity.
Within each category, show severity icon and explain.
Step 4: Auto-Open Dashboard
After text report, automatically generate and serve dashboard:
bash ~/.openclaw/skills/secucheck/scripts/serve_dashboard.sh
The script returns JSON with url (LAN IP) and local_url (localhost).
Use the url field (not localhost) when telling the user โ they may access from another device.
Example:
๐ ๋์๋ณด๋๋ ์ด์์ด์: http://192.168.1.200:8766/secucheck-report.html
If running in environment where browser can be opened, use browser tool to open it.
Cross-Platform Support
Scripts run on Linux, macOS, and WSL. Check the JSON output for platform info:
{
"os": "linux",
"os_variant": "ubuntu",
"in_wsl": false,
"in_dsm": false,
"failed_checks": ["external_ip"]
}
Platform Detection
| Field | Values |
|---|---|
| os | linux, macos, windows, unknown |
| os_variant | ubuntu, arch, dsm, wsl, version string |
| in_wsl | true if Windows Subsystem for Linux |
| in_dsm | true if Synology DSM |
Handling Failed Checks
If failed_checks array is non-empty, run fallback commands based on platform:
#### Network Info Fallbacks
| Platform | Command |
|---|---|
| Linux | ip addr show or ifconfig |
| macOS | ifconfig |
| WSL | ip addr show (or check Windows via cmd.exe /c ipconfig) |
| Windows | PowerShell: Get-NetIPAddress |
| DSM | ifconfig or /sbin/ip addr |
| Platform | Command | |
|---|---|---|
| Linux | ss -tlnp \ | grep :18789 or netstat -tlnp |
| macOS | lsof -iTCP:18789 -sTCP:LISTEN | |
| Windows | PowerShell: Get-NetTCPConnection -LocalPort 18789 |
| Platform | Command |
|---|---|
| Linux/macOS | ls -la ~/.openclaw |
| Windows | PowerShell: Get-Acl $env:USERPROFILE\.openclaw |
Windows Native Support
If os is windows and scripts fail completely:
- Use PowerShell commands directly:
# Network exposure
Get-NetTCPConnection -LocalPort 18789 -State Listen
# File permissions
Get-Acl "$env:USERPROFILE\.openclaw"
# Process info
Get-Process | Where-Object {$_.Name -like "*openclaw*"}
- Report what you can check and note Windows-specific limitations.
Minimal Environments (Docker, DSM)
Some environments lack tools. Check output and supplement:
| Missing Tool | Fallback | |
|---|---|---|
| curl | wget -qO- | |
| ss | netstat | |
| ip | ifconfig or /sbin/ip | |
| pgrep | ps aux \ | grep |
Agent Decision Flow
1. Run full_audit.sh
2. Check "failed_checks" in output
3. For each failed check:
a. Identify platform from os/os_variant
b. Run platform-specific fallback command
c. Incorporate results into report
4. Note any checks that couldn't complete
Dashboard Generation
When user requests visual report:
bash ~/.openclaw/skills/secucheck/scripts/serve_dashboard.sh
Returns:
{
"status": "ok",
"url": "http://localhost:8766/secucheck-report.html",
"pid": 12345
}
Provide URL directly to user.
Detailed Check References
Read these only when deep explanation needed:
| File | Domain |
|---|---|
| checks/runtime.md | Live system state |
| checks/channels.md | Channel policies |
| checks/agents.md | Agent permissions |
| checks/cron.md | Scheduled jobs |
| checks/skills.md | Installed skills |
| checks/sessions.md | Session isolation |
| checks/network.md | Network configuration |
Attack Scenario Templates
Use these for expert-level explanations:
| File | Scenario |
|---|---|
| scenarios/prompt-injection.md | External content manipulation |
| scenarios/session-leak.md | Cross-session data exposure |
| scenarios/privilege-escalation.md | Tool permission abuse |
| scenarios/credential-exposure.md | Secret leakage |
| scenarios/unauthorized-access.md | Access control bypass |
Risk Levels
๐ด Critical - Immediate action required. Active exploitation possible.
๐ High - Significant risk. Should fix soon.
๐ก Medium - Notable concern. Plan to address.
๐ข Low - Minor issue or best practice recommendation.
โช Info - Not a risk, but worth noting.
Risk Matrix
Tool Permissions
Minimal Full
โโโโโโโโโโโโฌโโโโโโโโโโโ
Exposure โ ๐ข โ ๐ก โ
Low โ Safe โ Caution โ
โโโโโโโโโโโโผโโโโโโโโโโโค
โ ๐ก โ ๐ด โ
High โ Caution โ Critical โ
โโโโโโโโโโโโดโโโโโโโโโโโ
Exposure = Who can talk to the bot (DM policy, group access, public channels)
Tool Permissions = What the bot can do (exec, file access, messaging, browser)
Context-Aware Exceptions
Don't just pattern match. Consider context:
| Context | Adjustment |
|---|---|
| Private channel, 2-3 trusted members | Lower risk even with exec |
| VPN/Tailscale only access | Network exposure less critical |
| Self-hosted, single user | Session isolation less important |
| Containerized environment | Privilege escalation less severe |
Applying Fixes
CRITICAL RULES:
- Never auto-apply fixes. Always show suggestions first.
- Warn about functional impact. If a fix might break something, say so.
- Get explicit user confirmation before any config changes.
Agent: "Changing this setting will disable exec in #dev channel.
If you're using code execution there, it will stop working.
Apply this fix?"
User: "yes"
Agent: [apply fix via gateway config.patch]
Language Rules
- Internal processing: Always English
- Thinking/reasoning: Always English
- Final user-facing report: Match user's language
- Technical terms: Keep in English (exec, cron, gateway, etc.)
Auto-Review Triggers
Invoke automatically when:
- Skill installation:
clawhub installor manual addition - Agent creation/modification: New agent or tool changes
- Cron job creation/modification: New or modified scheduled tasks
Quick Commands
| User Request | Action |
|---|---|
| "check channels only" | Run channels.md check |
| "audit cron jobs" | Run cron.md check |
| "full audit" | All checks |
| "more detail" | Re-run with verbose output |
Trust Hierarchy
Apply appropriate trust levels:
| Level | Entity | Trust Model |
|---|---|---|
| 1 | Owner | Full trust โ has all access |
| 2 | AI Agent | Trust but verify โ sandboxed, logged |
| 3 | Allowlists | Limited trust โ specified users only |
| 4 | Strangers | No trust โ blocked by default |
Incident Response Reference
If compromise suspected:
Containment
- Stop gateway process
- Set gateway.bind to loopback (127.0.0.1)
- Disable risky DM/group policies
Rotation
- Regenerate gateway auth token
- Rotate browser control tokens
- Revoke and rotate API keys
Review
- Check gateway logs and session transcripts
- Review recent config changes
- Re-run full security audit
Files Reference
~/.openclaw/skills/secucheck/
โโโ SKILL.md # This file
โโโ skill.json # Package metadata
โโโ README.md # User documentation
โโโ scripts/
โ โโโ full_audit.sh # Complete audit (JSON output)
โ โโโ runtime_check.sh # Live system checks
โ โโโ gather_config.sh # Config extraction (redacted)
โ โโโ gather_skills.sh # Skill security scan
โ โโโ gather_agents.sh # Agent configurations
โ โโโ serve_dashboard.sh # Generate + serve HTML report
โ โโโ generate_dashboard.sh
โโโ dashboard/
โ โโโ template.html # Dashboard template
โโโ checks/
โ โโโ runtime.md # Runtime interpretation
โ โโโ channels.md # Channel policy checks
โ โโโ agents.md # Agent permission checks
โ โโโ cron.md # Cron job checks
โ โโโ skills.md # Skill safety checks
โ โโโ sessions.md # Session isolation
โ โโโ network.md # Network exposure
โโโ scenarios/
โ โโโ prompt-injection.md
โ โโโ session-leak.md
โ โโโ privilege-escalation.md
โ โโโ credential-exposure.md
โ โโโ unauthorized-access.md
โโโ templates/
โโโ report.md # Full report template
โโโ finding.md # Single finding template
โโโ summary.md # Quick summary template
Security Assessment Questions
When auditing, consider:
- Exposure: What network interfaces can reach this agent?
- Authentication: What verification does each access point require?
- Isolation: What boundaries exist between agent and host?
- Trust: What content sources are considered "trusted"?
- Auditability: What evidence exists of agent's actions?
- Least Privilege: Does agent have only necessary permissions?
Remember: This skill exists to make OpenClaw self-aware of its security posture. Use regularly, extend as needed, never skip the audit.
Installation
openclaw install secucheck
๐ปCode Examples
...
---
## Features
- ๐ **Comprehensive**: Channels, agents, cron, skills, sessions, network, runtime
- ๐ค **3 Expertise Levels**: Beginner / Intermediate / Expert
- ๐ **Localized**: Final report in user's language
- ๐ฏ **Attack Scenarios**: Real-world exploitation paths
- โก **Runtime Checks**: VPN, containers, privileges, network exposure
- ๐จ **Dashboard**: Visual HTML report with security score
---
# Agent Instructions
*Everything below is for the agent executing this skill.*
---
## When to Use
Trigger this skill when:
- User requests security checkup/audit
- **Auto-trigger**: Installing skills, creating/modifying agents, adding/modifying cron jobs
- Periodic review (recommended: weekly)
## Expertise Levels
| Level | Identifier | Style |
|-------|------------|-------|
| Beginner | `1`, `beginner` | Analogies, simple explanations, no jargon |
| Intermediate | `2`, `intermediate` | Technical details, config examples |
| Expert | `3`, `expert` | Attack vectors, edge cases, CVE references |
## Execution Flow
### Step 1: Ask Level (before running anything)
Present options in user's language. Example (English):๐ All levels run the same checksโonly explanation depth varies.
**STOP HERE. Wait for user response.**
### Step 2: Run Auditbash ~/.openclaw/skills/secucheck/scripts/full_audit.sh
Returns JSON with findings categorized by severity.
### Step 3: Format Output
Parse JSON output and format based on user's expertise level.
**Final report must be in user's language.**
#### Report Structure (Organize by Category)- [findings related to NETWORK category]
Group findings by their `category` field, not just severity.
Within each category, show severity icon and explain.
### Step 4: Auto-Open Dashboard
After text report, automatically generate and serve dashboard:bash ~/.openclaw/skills/secucheck/scripts/serve_dashboard.sh
The script returns JSON with `url` (LAN IP) and `local_url` (localhost).
**Use the `url` field** (not localhost) when telling the user โ they may access from another device.
Example:๐ ๋์๋ณด๋๋ ์ด์์ด์: http://192.168.1.200:8766/secucheck-report.html
If running in environment where browser can be opened, use browser tool to open it.
## Cross-Platform Support
Scripts run on Linux, macOS, and WSL. Check the JSON output for platform info:}
### Platform Detection
| Field | Values |
|-------|--------|
| `os` | `linux`, `macos`, `windows`, `unknown` |
| `os_variant` | `ubuntu`, `arch`, `dsm`, `wsl`, version string |
| `in_wsl` | `true` if Windows Subsystem for Linux |
| `in_dsm` | `true` if Synology DSM |
### Handling Failed Checks
If `failed_checks` array is non-empty, run fallback commands based on platform:
#### Network Info Fallbacks
| Platform | Command |
|----------|---------|
| Linux | `ip addr show` or `ifconfig` |
| macOS | `ifconfig` |
| WSL | `ip addr show` (or check Windows via `cmd.exe /c ipconfig`) |
| Windows | PowerShell: `Get-NetIPAddress` |
| DSM | `ifconfig` or `/sbin/ip addr` |
#### Gateway Binding Fallbacks
| Platform | Command |
|----------|---------|
| Linux | `ss -tlnp \| grep :18789` or `netstat -tlnp` |
| macOS | `lsof -iTCP:18789 -sTCP:LISTEN` |
| Windows | PowerShell: `Get-NetTCPConnection -LocalPort 18789` |
#### File Permissions Fallbacks
| Platform | Command |
|----------|---------|
| Linux/macOS | `ls -la ~/.openclaw` |
| Windows | PowerShell: `Get-Acl $env:USERPROFILE\.openclaw` |
### Windows Native Support
If `os` is `windows` and scripts fail completely:
1. Use PowerShell commands directly:Get-Process | Where-Object {$_.Name -like "*openclaw*"}
2. Report what you can check and note Windows-specific limitations.
### Minimal Environments (Docker, DSM)
Some environments lack tools. Check output and supplement:
| Missing Tool | Fallback |
|--------------|----------|
| `curl` | `wget -qO-` |
| `ss` | `netstat` |
| `ip` | `ifconfig` or `/sbin/ip` |
| `pgrep` | `ps aux \| grep` |
### Agent Decision Flow4. Note any checks that couldn't complete
## Dashboard Generation
When user requests visual report:}
Provide URL directly to user.
## Detailed Check References
Read these only when deep explanation needed:
| File | Domain |
|------|--------|
| `checks/runtime.md` | Live system state |
| `checks/channels.md` | Channel policies |
| `checks/agents.md` | Agent permissions |
| `checks/cron.md` | Scheduled jobs |
| `checks/skills.md` | Installed skills |
| `checks/sessions.md` | Session isolation |
| `checks/network.md` | Network configuration |
## Attack Scenario Templates
Use these for expert-level explanations:
| File | Scenario |
|------|----------|
| `scenarios/prompt-injection.md` | External content manipulation |
| `scenarios/session-leak.md` | Cross-session data exposure |
| `scenarios/privilege-escalation.md` | Tool permission abuse |
| `scenarios/credential-exposure.md` | Secret leakage |
| `scenarios/unauthorized-access.md` | Access control bypass |
## Risk LevelsTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw โ a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.