Openclaw Plugin
Analysis
This appears to be a coherent security-scanning plugin, but users should understand that it can inspect and block agent messages, store quarantine metadata, use LLM classification, and rely on an external hopeid package.
Findings (5)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
Auto-scan — Scan messages before agent processing ... BLOCK (strictMode): ... → ABORT (no recall, no agent) ... WARN (non-strict): → Inject <security-alert>
The plugin can alter or stop message flow before an agent acts. This is core IDS behavior, but it can affect availability or task completion if thresholds produce false positives.
"dependencies": { "hopeid": "^0.1.0" }The plugin relies on an external hopeid package through a semver range, so future dependency updates could change core IDS behavior.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
"telegramAlerts": { "type": "boolean", "default": true, "description": "Send Telegram alerts for blocked messages. Requires Telegram channel configured in OpenClaw (channels.telegram.botToken)" }Telegram alerting uses existing OpenClaw Telegram channel credentials when configured.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
const result = await api.invokeTool('llm-task', { ... input: { message: message.substring(0, 2000), source: context.source ?? 'unknown'When the llm-task classifier path is used, message text is passed to another plugin/model route for classification.
const recordsFile = path.join(baseDir, 'records.json'); ... fs.writeFileSync(recordsFile, JSON.stringify(records, null, 2));
The fallback quarantine manager persists detection records locally, including metadata such as sender, risk, patterns, content hash, and status.
