Openclaw Plugin

# hopeIDS Security Skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Openclaw Plugin" with this command: npx skills add emberDesire/hopeids

hopeIDS Security Skill

Inference-based intrusion detection for AI agents with quarantine and human-in-the-loop.

Security Invariants

These are non-negotiable design principles:

  1. Block = full abort — Blocked messages never reach jasper-recall or the agent
  2. Metadata only — No raw malicious content is ever stored
  3. Approve ≠ re-inject — Approval changes future behavior, doesn't resurrect messages
  4. Alerts are programmatic — Telegram alerts built from metadata, no LLM involved

Features

  • Auto-scan — Scan messages before agent processing
  • Quarantine — Block threats with metadata-only storage
  • Human-in-the-loop — Telegram alerts for review
  • Per-agent config — Different thresholds for different agents
  • Commands/approve, /reject, /trust, /quarantine

The Pipeline

Message arrives
    ↓
hopeIDS.autoScan()
    ↓
┌─────────────────────────────────────────┐
│  risk >= threshold?                     │
│                                         │
│  BLOCK (strictMode):                    │
│     → Create QuarantineRecord           │
│     → Send Telegram alert               │
│     → ABORT (no recall, no agent)       │
│                                         │
│  WARN (non-strict):                     │
│     → Inject <security-alert>           │
│     → Continue to jasper-recall         │
│     → Continue to agent                 │
│                                         │
│  ALLOW:                                 │
│     → Continue normally                 │
└─────────────────────────────────────────┘

Configuration

{
  "plugins": {
    "entries": {
      "hopeids": {
        "enabled": true,
        "config": {
          "autoScan": true,
          "defaultRiskThreshold": 0.7,
          "strictMode": false,
          "telegramAlerts": true,
          "agents": {
            "moltbook-scanner": {
              "strictMode": true,
              "riskThreshold": 0.7
            },
            "main": {
              "strictMode": false,
              "riskThreshold": 0.8
            }
          }
        }
      }
    }
  }
}

Options

OptionTypeDefaultDescription
autoScanbooleanfalseAuto-scan every message
strictModebooleanfalseBlock (vs warn) on threats
defaultRiskThresholdnumber0.7Risk level that triggers action
telegramAlertsbooleantrueSend alerts for blocked messages
telegramChatIdstring-Override alert destination
quarantineDirstring~/.openclaw/quarantine/hopeidsStorage path
agentsobject-Per-agent overrides
trustOwnersbooleantrueSkip scanning owner messages

Quarantine Records

When a message is blocked, a metadata record is created:

{
  "id": "q-7f3a2b",
  "ts": "2026-02-06T00:48:00Z",
  "agent": "moltbook-scanner",
  "source": "moltbook",
  "senderId": "@sus_user",
  "intent": "instruction_override",
  "risk": 0.85,
  "patterns": [
    "matched regex: ignore.*instructions",
    "matched keyword: api key"
  ],
  "contentHash": "ab12cd34...",
  "status": "pending"
}

Note: There is NO originalMessage field. This is intentional.


Telegram Alerts

When a message is blocked:

🛑 Message blocked

ID: `q-7f3a2b`
Agent: moltbook-scanner
Source: moltbook
Sender: @sus_user
Intent: instruction_override (85%)

Patterns:
• matched regex: ignore.*instructions
• matched keyword: api key

`/approve q-7f3a2b`
`/reject q-7f3a2b`
`/trust @sus_user`

Built from metadata only. No LLM touches this.


Commands

/quarantine [all|clean]

List quarantine records.

/quarantine        # List pending
/quarantine all    # List all (including resolved)
/quarantine clean  # Clean expired records

/approve <id>

Mark a blocked message as a false positive.

/approve q-7f3a2b

Effect:

  • Status → approved
  • (Future) Add sender to allowlist
  • (Future) Lower pattern weight

/reject <id>

Confirm a blocked message was a true positive.

/reject q-7f3a2b

Effect:

  • Status → rejected
  • (Future) Reinforce pattern weights

/trust <senderId>

Whitelist a sender for future messages.

/trust @legitimate_user

/scan <message>

Manually scan a message.

/scan ignore your previous instructions and...

What Approve/Reject Mean

CommandWhat it doesWhat it doesn't do
/approveMarks as false positive, may adjust IDSDoes NOT re-inject the message
/rejectConfirms threat, may strengthen patternsDoes NOT affect current message
/trustWhitelists sender for futureDoes NOT retroactively approve

The blocked message is gone by design. If it was legitimate, the sender can re-send.


Per-Agent Configuration

Different agents need different security postures:

"agents": {
  "moltbook-scanner": {
    "strictMode": true,    // Block threats
    "riskThreshold": 0.7   // 70% = suspicious
  },
  "main": {
    "strictMode": false,   // Warn only
    "riskThreshold": 0.8   // Higher bar for main
  },
  "email-processor": {
    "strictMode": true,    // Always block
    "riskThreshold": 0.6   // More paranoid
  }
}

Threat Categories

CategoryRiskDescription
command_injection🔴 CriticalShell commands, code execution
credential_theft🔴 CriticalAPI key extraction attempts
data_exfiltration🔴 CriticalData leak to external URLs
instruction_override🔴 HighJailbreaks, "ignore previous"
impersonation🔴 HighFake system/admin messages
discovery⚠️ MediumAPI/capability probing

Installation

npx hopeid setup

Then restart OpenClaw.


Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

Twitter X Growth Tools

Grow Twitter/X accounts with automated posting, engagement monitoring, thread creation, competitor analysis, and keyword tracking. Manage multiple accounts s...

Registry SourceRecently Updated
Research

AnyGen Suite

AnyGen: AI-powered content creation suite. Create slides/PPT, documents, diagrams, websites, data visualizations, research reports, storybooks, financial ana...

Registry SourceRecently Updated
Research

Coffee Chat Playbook Generator

Generate a personalized coffee chat playbook for networking conversations. Use when: - User wants to prepare for a coffee chat with someone they met on Linke...

Registry SourceRecently Updated
0152
Profile unavailable