ClawGuard

WarnAudited by ClawScan on May 13, 2026.

Overview

ClawGuard is a coherent local security plugin, but its artifacts show several broad auto-allow paths that can bypass the protections users would expect from a guardrail.

Install only if you are comfortable with the current defaults. In particular, review or change the rules for web_fetch, cron sessions, and script execution before relying on this as a strict security guardrail.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The advertised domain whitelist may not protect web_fetch calls; an agent could access arbitrary external URLs without approval, including URLs that encode sensitive data.

Why it was flagged

web_fetch is both a network tool and a read-only auto-allowed tool, and the read-only branch returns before normal network-domain approval can apply.

Skill content
const NETWORK_TOOLS = new Set(["web_fetch", "http_request", "fetch"]); ... const READONLY_TOOLS = new Set(["web_fetch", "web_search", ...]); ... if (READONLY_TOOLS.has(event.toolName)) { ... return; }
Recommendation

Remove web_fetch from the unconditional read-only allowlist, or run domain checks before allowing it. Unknown external domains should require approval unless explicitly configured.

What this means

Python, Node, or TSX scripts can perform file, network, or process changes that are not separately checked by the file/network tool rules.

Why it was flagged

The documented ALLOW list directly passes script execution commands, treating them as safe commands rather than requiring approval.

Skill content
| 脚本运行 | `python3 *.py`, `node *.js`, `npx tsx` |
Recommendation

Move script interpreters and npx/tsx execution to the approval tier, or restrict them to trusted workspace paths with explicit user approval and additional command/path checks.

What this means

A scheduled task or compromised cron session could run commands, write files, or make network calls without the normal guardrail approvals.

Why it was flagged

Cron sessions are hard-coded to permissive behavior and return early, bypassing normal approval controls for scheduled automation.

Skill content
cron: "permissive", // Auto-allow for cron (full audit) ... if (channelType === "cron") { ... return; // Auto-allow all in cron }
Recommendation

Do not hard-code cron to permissive mode. Respect the user's policy mode, or require an explicit cron allowlist with clear limits and rate controls.

What this means

Audit logs may retain sensitive snippets from tool calls if the redaction patterns miss them.

Why it was flagged

The plugin stores local JSONL audit logs of tool parameters and results for up to 90 days, with truncation and best-effort redaction.

Skill content
const DEFAULT_AUDIT_DIR = join(HOME, ".clawguard", "audit"); const DEFAULT_RETENTION_DAYS = 90; ... params: this.sanitize(this.truncate(entry.params, 1000)), result: this.sanitize(this.truncate(entry.result, 500))
Recommendation

Review the audit directory, permissions, and retention period. Consider adding a documented way to shorten retention or disable result/parameter logging.