Clawdbot Security Suite.Bak

WarnAudited by ClawScan on May 10, 2026.

Overview

This security skill has a coherent purpose, but its automatic hook appears able to run untrusted tool input through a shell, may fail open, and has provenance/install inconsistencies.

Do not enable the automatic hook until the shell execution, helper-path, and fail-open behavior are fixed. If you still test it, use a sandbox, verify the exact package/source being installed, and review or disable detailed logging.

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

A crafted tool argument could cause local shell commands to run with the user's agent privileges.

Why it was flagged

The hook places tool arguments into a shell command string and executes it. User-controlled command, URL, path, or content containing quotes/shell syntax could break out before the validator has a chance to block it.

Skill content
const fullCommand = `"${CONFIG.securitySkillPath}" ${command} ${args.map(arg => `"${arg}"`).join(' ')}`; const result = execSync(fullCommand, { encoding: 'utf8', timeout: 5000 });
Recommendation

Replace execSync shell-string execution with execFile/spawn using an argument array, avoid shell interpretation, and add tests for quoted and metacharacter payloads.

What this means

Users may believe the hook is blocking dangerous operations when it may silently allow them if the helper path is wrong or validation fails.

Why it was flagged

The hook looks for a helper named 'security' while the manifest and docs primarily provide 'security.sh'. If the helper is missing, validation is skipped and tool calls are allowed.

Skill content
securitySkillPath: join(homedir(), '.clawdbot', 'skills', 'security', 'security') ... if (!existsSync(CONFIG.securitySkillPath)) { ... return { allowed: true }; }
Recommendation

Correct the helper path, make installation self-test mandatory, and require explicit user approval or fail closed when validation is unavailable or unclear.

What this means

A user or agent following the instructions could install different code than the reviewed package.

Why it was flagged

The reviewed registry slug is 'clawdbot-security-suite-bak', while the install instructions point to different package names and an unpinned GitHub source, making it unclear which artifact a user would actually install.

Skill content
clawdhub install clawdbot-security-advanced ... git clone https://github.com/gtrusler/clawdbot-security-suite.git
Recommendation

Use one consistent package name, owner, and source; provide a pinned install spec or release tag; and ensure registry metadata matches the packaged files.

What this means

Sensitive information could remain in local security logs and be exposed to anyone or anything that can read those logs.

Why it was flagged

The hook persistently logs full tool-call arguments to a local file. This is aligned with audit logging, but those arguments may include commands, URLs, paths, prompts, or secrets.

Skill content
logFile: join(homedir(), '.clawdbot', 'logs', 'security-events.log') ... logSecurityEvent('INFO', `Validating tool call: ${tool}`, { args });
Recommendation

Redact secrets and long content before logging, document retention and permissions, and let users disable or scope logging.