safeclaw
v1.0.0Security compliance checker for MCP/LLM applications. Performs non-invasive security assessments on configuration files.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The skill claims to be a security compliance checker, which is coherent with requiring python3 and a runner (uv). However there is no scanner code bundled with the skill (no main.py or package) and no install spec — the SKILL.md assumes the target project already provides main.py. That dependence on an external, unverified script is inconsistent with the expectation that the skill performs the checks itself.
Instruction Scope
Runtime instructions tell the agent to cd {baseDir}/../../ (project root) and run 'uv run python main.py' with the user's config. That executes arbitrary code from the repository with the agent's privileges. While running a local scanner is reasonable for a checker, the skill does not verify or bundle the scanner and offers no safety checks (e.g., confirming main.py is the expected scanner), so the agent may run unexpected code. Auto-discovery also allows scanning arbitrary files under the project root.
Install Mechanism
No install spec (instruction-only), so the skill does not download or write code to disk. This is lower install risk, but combined with the missing bundled scanner it means the skill relies on an external tool being present in the user's repo/environment.
Credentials
The skill declares no environment variables or credentials (proportionate). However, because it runs a local Python script from the repo, that script could access environment variables, files, or network resources — side-effects that are not declared or constrained by the skill's metadata.
Persistence & Privilege
always is false and there is no self-install behavior or requests to modify other skills or global config. The skill can be invoked by the agent, but it does not claim permanent presence or extra privileges.
What to consider before installing
This skill appears to be a wrapper that invokes a local scanner (uv run python main.py) rather than containing the scanner itself. Before installing or running it, verify that a trustworthy 'main.py' scanner actually exists at the project root you expect and inspect that file (or the scanner distribution) — otherwise the agent will execute whatever code is present there with its privileges. Also ensure you trust the 'uv' package manager and have Python 3. Consider running the check in an isolated environment (container/VM) or using a version of the skill that bundles a vetted scanner or invokes a known remote service instead of executing project-local code.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
OSmacOS · Linux
Binsuv, python3
latest
SafeClaw Security Checker
Perform security compliance checks on MCP/LLM application configurations.
Usage
When the user invokes this skill, run security checks on their configuration.
Basic Command
cd {baseDir}/../../ && uv run python main.py check --config "<config_path>" --format json
Arguments
config_path: Path to the configuration file to check (JSON/YAML/TOML)- If no path provided, use
--autoto auto-discover config:cd {baseDir}/../../ && uv run python main.py check --auto --format json
Execution Flow
-
Determine config path:
- If user provides a path, use it
- If user wants auto-discovery, use
--auto - If unsure, ask the user
-
Run the check:
cd {baseDir}/../../ && uv run python main.py check --config "<path>" --format json -
Parse JSON output: The output has this structure:
{ "summary": { "overall_status": "安全|注意|高危", "total": 10, "passed": 7, "failed": 3, "by_level": {"safe": 7, "attention": 2, "high_risk": 1} }, "failed_results": [ { "name": "检查项名称", "category": "安全类别", "level": "高危|注意", "message": "问题描述", "risk_description": "风险说明", "remediation": "整改建议", "fix_commands": ["command to fix"] } ] } -
Report findings:
- Show summary: X passed, Y attention items, Z high-risk
- List high-risk items FIRST with remediation steps
- List attention items with suggestions
- If all passed, congratulate the user
Exit Codes
0: All checks passed (safe)1: Attention items found2: High-risk items found
Example Config
Use {baseDir}/example-config.json as a reference template for users who need a starting point.
Categories Checked
| Category | Description |
|---|---|
| 配置与密钥 | Secrets in config, hardcoded credentials |
| 权限 | File permissions, access controls |
| 网络暴露 | Network bindings, CORS, exposed ports |
| 插件安全 | MCP server security, plugin sources |
| 日志与审计 | Logging configuration, audit trails |
| 版本信息 | Version exposure, update status |
| OpenClaw安全 | OpenClaw-specific deployment security |
Example Invocation
User: "/safeclaw check my config at ./config/mcp.json"
Response:
- Run:
cd {baseDir}/../../ && uv run python main.py check --config "./config/mcp.json" --format json - Parse results and present findings in a clear, actionable format
Tips
- Always use
--format jsonfor machine-readable output - The skill runs from the skill directory, so use
{baseDir}/../../to reach project root - If the config file doesn't exist, suggest using the template at
{baseDir}/templates/minimal-config.json
Comments
Loading comments...
