{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-guardian",
    "name": "OpenClaw Guardian",
    "source": "tencent",
    "type": "skill",
    "category": "安全合规",
    "sourceUrl": "https://clawhub.ai/fatcatMaoFei/openclaw-guardian",
    "canonicalUrl": "https://clawhub.ai/fatcatMaoFei/openclaw-guardian",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-guardian",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-guardian",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/README.md",
      "scripts/audit-log.ts",
      "scripts/blacklist.ts",
      "scripts/default-policies.json",
      "scripts/index.ts"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-guardian"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-guardian",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "OpenClaw Guardian",
        "body": "The missing safety layer for AI agents."
      },
      {
        "title": "Why?",
        "body": "OpenClaw gives agents direct access to shell, files, email, browser, and more.\n99% of that is harmless. Guardian catches the 1% that isn't — without slowing\ndown the rest."
      },
      {
        "title": "How It Works",
        "body": "Tool Call → Blacklist Matcher (regex rules, 0ms)\n              ↓\n   No match     → Pass instantly (99% of calls)\n   Warning hit  → 1 LLM vote (\"did the user ask for this?\")\n   Critical hit → 3 LLM votes (all must confirm user intent)"
      },
      {
        "title": "Two Blacklist Levels",
        "body": "LevelLLM VotesLatencyExamplesNo match0~0msReading files, git, normal opsWarning1~1-2srm -rf /tmp/cache, chmod 777, sudo aptCritical3 (unanimous)~2-4srm -rf ~/, mkfs, dd of=/dev/, shutdown"
      },
      {
        "title": "What Gets Checked",
        "body": "Only three tool types are inspected:\n\nexec → command string matched against exec blacklist\nwrite / edit → file path canonicalized and matched against path blacklist\nEverything else passes through instantly"
      },
      {
        "title": "LLM Intent Verification",
        "body": "When a blacklist rule matches, Guardian asks a lightweight LLM: \"Did the user\nexplicitly request this?\" It reads recent conversation context to prevent\nfalse positives.\n\nWarning: 1 LLM call. Confirmed → proceed.\nCritical: 3 parallel LLM calls. All 3 must confirm. Any \"no\" → block.\n\nAuto-discovers a cheap/fast model from your existing OpenClaw provider config\n(prefers Haiku). No separate API key needed."
      },
      {
        "title": "LLM Fallback",
        "body": "Critical + LLM down → blocked (fail-safe)\nWarning + LLM down → asks user for manual confirmation"
      },
      {
        "title": "Critical (exec)",
        "body": "rm -rf on system paths (excludes /tmp/ and workspace)\nmkfs, dd to block devices, redirects to /dev/sd*\nWrites to /etc/passwd, /etc/shadow, /etc/sudoers\nshutdown, reboot, disable SSH\nBypass: eval, absolute-path rm, interpreter-based (python -c, node -e)\nPipe attacks: curl | sh, wget | bash, base64 -d | sh\nChain attacks: download + chmod +x + execute"
      },
      {
        "title": "Warning (exec)",
        "body": "rm -rf on safe paths, sudo, chmod 777, chown root\nPackage install/remove, service management\nCrontab mods, SSH/SCP, Docker ops, kill/killall"
      },
      {
        "title": "Path Rules (write/edit)",
        "body": "Critical: system auth files, SSH keys, systemd units\nWarning: dotfiles, /etc/ configs, .env files, authorized_keys"
      },
      {
        "title": "Audit Log",
        "body": "Every blacklist hit logged to ~/.openclaw/guardian-audit.jsonl with SHA-256\nhash chain — tamper-evident, each entry covers full content + previous hash."
      },
      {
        "title": "Installation",
        "body": "openclaw plugins install openclaw-guardian\n\nOr manually:\n\ncd ~/.openclaw/workspace\ngit clone https://github.com/fatcatMaoFei/openclaw-guardian.git"
      },
      {
        "title": "Token Cost",
        "body": "Scenario% of OpsExtra CostNo match~99%0Warning~0.5-1%~500 tokensCritical<0.5%~1500 tokens\n\nPrefers cheap models (Haiku, GPT-4o-mini, Gemini Flash)."
      },
      {
        "title": "File Structure",
        "body": "extensions/guardian/\n├── index.ts                # Entry — registers before_tool_call hook\n├── src/\n│   ├── blacklist.ts        # Two-tier regex rules (critical/warning)\n│   ├── llm-voter.ts        # LLM intent verification\n│   └── audit-log.ts        # SHA-256 hash-chain audit logger\n├── test/\n│   └── blacklist.test.ts   # Blacklist rule tests\n├── openclaw.plugin.json    # Plugin manifest\n└── default-policies.json   # Enable/disable toggle"
      },
      {
        "title": "License",
        "body": "MIT"
      }
    ],
    "body": "OpenClaw Guardian\n\nThe missing safety layer for AI agents.\n\nWhy?\n\nOpenClaw gives agents direct access to shell, files, email, browser, and more. 99% of that is harmless. Guardian catches the 1% that isn't — without slowing down the rest.\n\nHow It Works\nTool Call → Blacklist Matcher (regex rules, 0ms)\n              ↓\n   No match     → Pass instantly (99% of calls)\n   Warning hit  → 1 LLM vote (\"did the user ask for this?\")\n   Critical hit → 3 LLM votes (all must confirm user intent)\n\nTwo Blacklist Levels\nLevel\tLLM Votes\tLatency\tExamples\nNo match\t0\t~0ms\tReading files, git, normal ops\nWarning\t1\t~1-2s\trm -rf /tmp/cache, chmod 777, sudo apt\nCritical\t3 (unanimous)\t~2-4s\trm -rf ~/, mkfs, dd of=/dev/, shutdown\nWhat Gets Checked\n\nOnly three tool types are inspected:\n\nexec → command string matched against exec blacklist\nwrite / edit → file path canonicalized and matched against path blacklist\nEverything else passes through instantly\nLLM Intent Verification\n\nWhen a blacklist rule matches, Guardian asks a lightweight LLM: \"Did the user explicitly request this?\" It reads recent conversation context to prevent false positives.\n\nWarning: 1 LLM call. Confirmed → proceed.\nCritical: 3 parallel LLM calls. All 3 must confirm. Any \"no\" → block.\n\nAuto-discovers a cheap/fast model from your existing OpenClaw provider config (prefers Haiku). No separate API key needed.\n\nLLM Fallback\nCritical + LLM down → blocked (fail-safe)\nWarning + LLM down → asks user for manual confirmation\nBlacklist Rules\nCritical (exec)\nrm -rf on system paths (excludes /tmp/ and workspace)\nmkfs, dd to block devices, redirects to /dev/sd*\nWrites to /etc/passwd, /etc/shadow, /etc/sudoers\nshutdown, reboot, disable SSH\nBypass: eval, absolute-path rm, interpreter-based (python -c, node -e)\nPipe attacks: curl | sh, wget | bash, base64 -d | sh\nChain attacks: download + chmod +x + execute\nWarning (exec)\nrm -rf on safe paths, sudo, chmod 777, chown root\nPackage install/remove, service management\nCrontab mods, SSH/SCP, Docker ops, kill/killall\nPath Rules (write/edit)\nCritical: system auth files, SSH keys, systemd units\nWarning: dotfiles, /etc/ configs, .env files, authorized_keys\nAudit Log\n\nEvery blacklist hit logged to ~/.openclaw/guardian-audit.jsonl with SHA-256 hash chain — tamper-evident, each entry covers full content + previous hash.\n\nInstallation\nopenclaw plugins install openclaw-guardian\n\n\nOr manually:\n\ncd ~/.openclaw/workspace\ngit clone https://github.com/fatcatMaoFei/openclaw-guardian.git\n\nToken Cost\nScenario\t% of Ops\tExtra Cost\nNo match\t~99%\t0\nWarning\t~0.5-1%\t~500 tokens\nCritical\t<0.5%\t~1500 tokens\n\nPrefers cheap models (Haiku, GPT-4o-mini, Gemini Flash).\n\nFile Structure\nextensions/guardian/\n├── index.ts                # Entry — registers before_tool_call hook\n├── src/\n│   ├── blacklist.ts        # Two-tier regex rules (critical/warning)\n│   ├── llm-voter.ts        # LLM intent verification\n│   └── audit-log.ts        # SHA-256 hash-chain audit logger\n├── test/\n│   └── blacklist.test.ts   # Blacklist rule tests\n├── openclaw.plugin.json    # Plugin manifest\n└── default-policies.json   # Enable/disable toggle\n\nLicense\n\nMIT"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fatcatMaoFei/openclaw-guardian",
    "publisherUrl": "https://clawhub.ai/fatcatMaoFei/openclaw-guardian",
    "owner": "fatcatMaoFei",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-guardian",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-guardian",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-guardian/agent.md"
  }
}