{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-sentinel",
    "name": "Openclaw Sentinel",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/AtlasPA/openclaw-sentinel",
    "canonicalUrl": "https://clawhub.ai/AtlasPA/openclaw-sentinel",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-sentinel",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-sentinel",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "scripts/sentinel.py",
      "SKILL.md"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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-sentinel"
    },
    "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-sentinel",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-sentinel/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-sentinel/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-sentinel/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "OpenClaw Sentinel",
        "body": "Supply chain security scanner for agent skills. Detects obfuscated code, known-bad signatures, suspicious install behaviors, dependency confusion, and metadata inconsistencies — before and after installation."
      },
      {
        "title": "The Problem",
        "body": "You install skills from the community. Any skill can contain obfuscated payloads, post-install hooks that execute arbitrary code, or supply chain attacks that modify other skills in your workspace. Existing tools verify file integrity after the fact — nothing inspects skills for supply chain risks before they run."
      },
      {
        "title": "Scan Installed Skills",
        "body": "Deep scan of all installed skills for supply chain risks. Checks file hashes against a local threat database, detects obfuscated code patterns, suspicious install behaviors, dependency confusion, and metadata inconsistencies. Generates a risk score (0-100) per skill.\n\npython3 {baseDir}/scripts/sentinel.py scan --workspace /path/to/workspace"
      },
      {
        "title": "Scan a Single Skill",
        "body": "python3 {baseDir}/scripts/sentinel.py scan openclaw-warden --workspace /path/to/workspace"
      },
      {
        "title": "Pre-Install Inspection",
        "body": "Scan a skill directory BEFORE copying it to your workspace. Outputs a SAFE/REVIEW/REJECT recommendation and shows exactly what binaries, network calls, and file operations the skill will perform.\n\npython3 {baseDir}/scripts/sentinel.py inspect /path/to/skill-directory"
      },
      {
        "title": "Manage Threat Database",
        "body": "View current threat database statistics.\n\npython3 {baseDir}/scripts/sentinel.py threats --workspace /path/to/workspace\n\nImport a community-shared threat list.\n\npython3 {baseDir}/scripts/sentinel.py threats --update-from threats.json --workspace /path/to/workspace"
      },
      {
        "title": "Quick Status",
        "body": "Summary of installed skills, scan history, and risk score overview.\n\npython3 {baseDir}/scripts/sentinel.py status --workspace /path/to/workspace"
      },
      {
        "title": "Workspace Auto-Detection",
        "body": "If --workspace is omitted, the script tries:\n\nOPENCLAW_WORKSPACE environment variable\nCurrent directory (if AGENTS.md exists)\n~/.openclaw/workspace (default)"
      },
      {
        "title": "What It Detects",
        "body": "CategoryPatternsEncoded Executioneval(base64.b64decode(...)), exec(compile(...)), eval/exec with encoded stringsDynamic Imports__import__('os').system(...), dynamic subprocess/ctypes importsShell Injectionsubprocess.Popen with shell=True + string concatenation, os.system()Remote Code Execurllib/requests combined with exec/eval — download-and-run patternsObfuscationLines >1000 chars, high-entropy strings, minified code blocksInstall BehaviorsPost-install hooks, auto-exec in __init__.py, cross-skill file writesHidden FilesNon-standard dotfiles and hidden directoriesDependency ConfusionSkills shadowing popular package names, typosquatting near-matchesMetadata MismatchUndeclared binaries, undeclared env vars, invocable flag inconsistenciesSerializationpickle.loads, marshal.loads — arbitrary code execution via deserializationKnown-Bad HashesFile SHA-256 matches against local threat database"
      },
      {
        "title": "Risk Scoring",
        "body": "Each skill receives a score from 0-100:\n\nScoreLabelMeaning0CLEANNo issues detected1-19LOWMinor findings, likely benign20-49MODERATEReview recommended50-74HIGHSignificant risk, review required75-100CRITICALSerious supply chain risk"
      },
      {
        "title": "Threat Database Format",
        "body": "Community-shared threat lists use this JSON format:\n\n{\n  \"hashes\": {\n    \"<sha256hex>\": {\"name\": \"...\", \"severity\": \"...\", \"description\": \"...\"}\n  },\n  \"patterns\": [\n    {\"name\": \"...\", \"regex\": \"...\", \"severity\": \"...\"}\n  ]\n}"
      },
      {
        "title": "Exit Codes",
        "body": "0 — Clean, no issues\n1 — Review needed\n2 — Threats detected"
      },
      {
        "title": "No External Dependencies",
        "body": "Python standard library only. No pip install. No network calls. Everything runs locally."
      },
      {
        "title": "Cross-Platform",
        "body": "Works with OpenClaw, Claude Code, Cursor, and any tool using the Agent Skills specification."
      }
    ],
    "body": "OpenClaw Sentinel\n\nSupply chain security scanner for agent skills. Detects obfuscated code, known-bad signatures, suspicious install behaviors, dependency confusion, and metadata inconsistencies — before and after installation.\n\nThe Problem\n\nYou install skills from the community. Any skill can contain obfuscated payloads, post-install hooks that execute arbitrary code, or supply chain attacks that modify other skills in your workspace. Existing tools verify file integrity after the fact — nothing inspects skills for supply chain risks before they run.\n\nCommands\nScan Installed Skills\n\nDeep scan of all installed skills for supply chain risks. Checks file hashes against a local threat database, detects obfuscated code patterns, suspicious install behaviors, dependency confusion, and metadata inconsistencies. Generates a risk score (0-100) per skill.\n\npython3 {baseDir}/scripts/sentinel.py scan --workspace /path/to/workspace\n\nScan a Single Skill\npython3 {baseDir}/scripts/sentinel.py scan openclaw-warden --workspace /path/to/workspace\n\nPre-Install Inspection\n\nScan a skill directory BEFORE copying it to your workspace. Outputs a SAFE/REVIEW/REJECT recommendation and shows exactly what binaries, network calls, and file operations the skill will perform.\n\npython3 {baseDir}/scripts/sentinel.py inspect /path/to/skill-directory\n\nManage Threat Database\n\nView current threat database statistics.\n\npython3 {baseDir}/scripts/sentinel.py threats --workspace /path/to/workspace\n\n\nImport a community-shared threat list.\n\npython3 {baseDir}/scripts/sentinel.py threats --update-from threats.json --workspace /path/to/workspace\n\nQuick Status\n\nSummary of installed skills, scan history, and risk score overview.\n\npython3 {baseDir}/scripts/sentinel.py status --workspace /path/to/workspace\n\nWorkspace Auto-Detection\n\nIf --workspace is omitted, the script tries:\n\nOPENCLAW_WORKSPACE environment variable\nCurrent directory (if AGENTS.md exists)\n~/.openclaw/workspace (default)\nWhat It Detects\nCategory\tPatterns\nEncoded Execution\teval(base64.b64decode(...)), exec(compile(...)), eval/exec with encoded strings\nDynamic Imports\t__import__('os').system(...), dynamic subprocess/ctypes imports\nShell Injection\tsubprocess.Popen with shell=True + string concatenation, os.system()\nRemote Code Exec\turllib/requests combined with exec/eval — download-and-run patterns\nObfuscation\tLines >1000 chars, high-entropy strings, minified code blocks\nInstall Behaviors\tPost-install hooks, auto-exec in __init__.py, cross-skill file writes\nHidden Files\tNon-standard dotfiles and hidden directories\nDependency Confusion\tSkills shadowing popular package names, typosquatting near-matches\nMetadata Mismatch\tUndeclared binaries, undeclared env vars, invocable flag inconsistencies\nSerialization\tpickle.loads, marshal.loads — arbitrary code execution via deserialization\nKnown-Bad Hashes\tFile SHA-256 matches against local threat database\nRisk Scoring\n\nEach skill receives a score from 0-100:\n\nScore\tLabel\tMeaning\n0\tCLEAN\tNo issues detected\n1-19\tLOW\tMinor findings, likely benign\n20-49\tMODERATE\tReview recommended\n50-74\tHIGH\tSignificant risk, review required\n75-100\tCRITICAL\tSerious supply chain risk\nThreat Database Format\n\nCommunity-shared threat lists use this JSON format:\n\n{\n  \"hashes\": {\n    \"<sha256hex>\": {\"name\": \"...\", \"severity\": \"...\", \"description\": \"...\"}\n  },\n  \"patterns\": [\n    {\"name\": \"...\", \"regex\": \"...\", \"severity\": \"...\"}\n  ]\n}\n\nExit Codes\n0 — Clean, no issues\n1 — Review needed\n2 — Threats detected\nNo External Dependencies\n\nPython standard library only. No pip install. No network calls. Everything runs locally.\n\nCross-Platform\n\nWorks with OpenClaw, Claude Code, Cursor, and any tool using the Agent Skills specification."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/AtlasPA/openclaw-sentinel",
    "publisherUrl": "https://clawhub.ai/AtlasPA/openclaw-sentinel",
    "owner": "AtlasPA",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-sentinel",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-sentinel",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-sentinel/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-sentinel/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-sentinel/agent.md"
  }
}