{"id":"4c017478-8542-4075-99dd-6a2e6b40c836","entityType":"agent","slug":"clawhub-autogame-17-security-sentinel","name":"Security Sentinel","canonicalUrl":"https://www.xpersona.co/agent/clawhub-autogame-17-security-sentinel","canonicalPath":"/agent/clawhub-autogame-17-security-sentinel","generatedAt":"2026-10-10T13:41:19.689Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":null},"description":"Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Skill: Security Sentinel Owner: autogame-17 Summary: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Tags: latest:1.0.1 Version history: v1.0.1 | 2026-02-17T16:06:20.900Z | user batch sync Archive index: Archive v1.0.1: 6 files, 7850 bytes Files: _meta.json (136b), index.js (4884b), package-lock.json (5518b), package.json (305b), scan.js (5657b), SKILL.md (1456b) File v1.0.1:S","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s174qjf2384d46r16zkn04qam183hbm3:security-sentinel","sourceUrl":"https://clawhub.ai/autogame-17/security-sentinel","homepage":"https://clawhub.ai/autogame-17/skills/security-sentinel","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/autogame-17/security-sentinel","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/autogame-17/skills/security-sentinel","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Skill: Security Sentinel Owner: autogame-17 Summary: Scan the workspace"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":null},"stars":null,"forks":null,"downloads":1477,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T11:04:27.504Z","lastCrawledAt":"2026-10-10T11:04:27.504Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T11:04:27.504Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-02-17T16:06:20.900Z","changelog":"batch sync","fileCount":6,"zipByteSize":7850}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s174qjf2384d46r16zkn04qam183hbm3:security-sentinel","setupComplexity":"medium","setupSteps":["Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.","Setup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:41:19.689Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-autogame-17-security-sentinel/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":null},"readme":"Skill: Security Sentinel\n\nOwner: autogame-17\n\nSummary: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations.\n\nTags: latest:1.0.1\n\nVersion history:\n\nv1.0.1 | 2026-02-17T16:06:20.900Z | user\n\nbatch sync\n\nArchive index:\n\nArchive v1.0.1: 6 files, 7850 bytes\n\nFiles: _meta.json (136b), index.js (4884b), package-lock.json (5518b), package.json (305b), scan.js (5657b), SKILL.md (1456b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: security-sentinel\ndescription: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations.\n---\n\n# Security Sentinel\n\nA unified security scanner for OpenClaw workspaces. Detects vulnerabilities in dependencies (npm audit), exposed secrets (regex patterns), and unsafe file permissions.\n\n## Usage\n\n### CLI\n\nRun a full security scan:\n\n```bash\nnode skills/security-sentinel/index.js\n```\n\nThis will output a JSON report to stdout.\nIf risks are detected (high/critical vulnerabilities, secrets, or bad permissions), it exits with code 1.\n\n### Options\n\n- `--skip-audit`: Skip the npm audit step (faster)\n- `--no-fail`: Do not exit with code 1 even if risks are detected (useful for monitoring only)\n\n### Programmatic\n\n```javascript\nconst sentinel = require('./skills/security-sentinel');\n\nconst report = await sentinel.scan();\n\nif (report.status === 'risk_detected') {\n  console.error('Security issues found:', report);\n}\n```\n\n## Features\n\n1. **Dependency Audit**: Runs `npm audit` to check `package.json` dependencies for known CVEs.\n2. **Secret Detection**: Scans workspace files for patterns resembling API keys, passwords, and private keys.\n3. **Permission Check**: Verifies critical files (`package.json`, `.env`) are not world-writable.\n\n## Configuration\n\n- **Ignored Paths**: `node_modules`, `.git`, `logs`, `temp`, `.openclaw/cache`.\n- **Secret Patterns**: Generic API Key, Password, Private Key, Feishu App Secret.\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7apafdj4thknczrgxdzfd2v1808svf\",\n  \"slug\": \"security-sentinel\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1771344380900\n}\n\nFile v1.0.1:package-lock.json\n\n{\n  \"name\": \"security-sentinel\",\n  \"version\": \"1.0.0\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {\n      \"name\": \"security-sentinel\",\n      \"version\": \"1.0.0\",\n      \"dependencies\": {\n        \"fs-extra\": \"^11.1.0\",\n        \"glob\": \"^8.1.0\"\n      }\n    },\n    \"node_modules/balanced-match\": {\n      \"version\": \"1.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n      \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/brace-expansion\": {\n      \"version\": \"2.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz\",\n      \"integrity\": \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"balanced-match\": \"^1.0.0\"\n      }\n    },\n    \"node_modules/fs-extra\": {\n      \"version\": \"11.3.3\",\n      \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz\",\n      \"integrity\": \"sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"graceful-fs\": \"^4.2.0\",\n        \"jsonfile\": \"^6.0.1\",\n        \"universalify\": \"^2.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=14.14\"\n      }\n    },\n    \"node_modules/fs.realpath\": {\n      \"version\": \"1.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n      \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\",\n      \"license\": \"ISC\"\n    },\n    \"node_modules/glob\": {\n      \"version\": \"8.1.0\",\n      \"resolved\": \"https://registry.npmjs.org/glob/-/glob-8.1.0.tgz\",\n      \"integrity\": \"sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==\",\n      \"deprecated\": \"Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"fs.realpath\": \"^1.0.0\",\n        \"inflight\": \"^1.0.4\",\n        \"inherits\": \"2\",\n        \"minimatch\": \"^5.0.1\",\n        \"once\": \"^1.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=12\"\n      },\n      \"funding\": {\n        \"url\": \"https://github.com/sponsors/isaacs\"\n      }\n    },\n    \"node_modules/graceful-fs\": {\n      \"version\": \"4.2.11\",\n      \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n      \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\",\n      \"license\": \"ISC\"\n    },\n    \"node_modules/inflight\": {\n      \"version\": \"1.0.6\",\n      \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n      \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n      \"deprecated\": \"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"once\": \"^1.3.0\",\n        \"wrappy\": \"1\"\n      }\n    },\n    \"node_modules/inherits\": {\n      \"version\": \"2.0.4\",\n      \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n      \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\",\n      \"license\": \"ISC\"\n    },\n    \"node_modules/jsonfile\": {\n      \"version\": \"6.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz\",\n      \"integrity\": \"sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"universalify\": \"^2.0.0\"\n      },\n      \"optionalDependencies\": {\n        \"graceful-fs\": \"^4.1.6\"\n      }\n    },\n    \"node_modules/minimatch\": {\n      \"version\": \"5.1.6\",\n      \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz\",\n      \"integrity\": \"sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"brace-expansion\": \"^2.0.1\"\n      },\n      \"engines\": {\n        \"node\": \">=10\"\n      }\n    },\n    \"node_modules/once\": {\n      \"version\": \"1.4.0\",\n      \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n      \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"wrappy\": \"1\"\n      }\n    },\n    \"node_modules/universalify\": {\n      \"version\": \"2.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n      \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 10.0.0\"\n      }\n    },\n    \"node_modules/wrappy\": {\n      \"version\": \"1.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n      \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\",\n      \"license\": \"ISC\"\n    }\n  }\n}\n\nFile v1.0.1:package.json\n\n{\n  \"name\": \"security-sentinel\",\n  \"version\": \"1.0.1\",\n  \"description\": \"Unified security scanner for OpenClaw workspace (dependencies, secrets, permissions).\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"test\": \"node index.js\"\n  },\n  \"dependencies\": {\n    \"fs-extra\": \"^11.1.0\",\n    \"glob\": \"^8.1.0\"\n  }\n}","readmeExcerpt":"Skill: Security Sentinel Owner: autogame-17 Summary: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Tags: latest:1.0.1 Version history: v1.0.1 | 2026-02-17T16:06:20.900Z | user batch sync Archive index: Archive v1.0.1: 6 files, 7850 bytes Files: _meta.json (136b), index.js (4884b), package-lock.json (5518b), package.json (305b), scan.js (5657b), SKILL.md (1456b) File v1.0.1:S","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"node skills/security-sentinel/index.js"},{"language":"javascript","snippet":"const sentinel = require('./skills/security-sentinel');\n\nconst report = await sentinel.scan();\n\nif (report.status === 'risk_detected') {\n  console.error('Security issues found:', report);\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: security-sentinel\ndescription: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations.\n---\n\n# Security Sentinel\n\nA unified security scanner for OpenClaw workspaces. Detects vulnerabilities in dependencies (npm audit), exposed secrets (regex patterns), and unsafe file permissions.\n\n## Usage\n\n### CLI\n\nRun a full security scan:\n\n```bash\nnode skills/security-sentinel/index.js\n```\n\nThis will output a JSON report to stdout.\nIf risks are detected (high/critical vulnerabilities, secrets, or bad permissions), it exits with code 1.\n\n### Options\n\n- `--skip-audit`: Skip the npm audit step (faster)\n- `--no-fail`: Do not exit with code 1 even if risks are detected (useful for monitoring only)\n\n### Programmatic\n\n```javascript\nconst sentinel = require('./skills/security-sentinel');\n\nconst report = await sentinel.scan();\n\nif (report.status === 'risk_detected') {\n  console.error('Security issues found:', report);\n}\n```\n\n## Features\n\n1. **Dependency Audit**: Runs `npm audit` to check `package.json` dependencies for known CVEs.\n2. **Secret Detection**: Scans workspace files for patterns resembling API keys, passwords, and private keys.\n3. **Permission Check**: Verifies critical files (`package.json`, `.env`) are not world-writable.\n\n## Configuration\n\n- **Ignored Paths**: `node_modules`, `.git`, `logs`, `temp`, `.openclaw/cache`.\n- **Secret Patterns**: Generic API Key, Password, Private Key, Feishu App Secret."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7apafdj4thknczrgxdzfd2v1808svf\",\n  \"slug\": \"security-sentinel\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1771344380900\n}"},{"path":"package-lock.json","content":"{\n  \"name\": \"security-sentinel\",\n  \"version\": \"1.0.0\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {\n      \"name\": \"security-sentinel\",\n      \"version\": \"1.0.0\",\n      \"dependencies\": {\n        \"fs-extra\": \"^11.1.0\",\n        \"glob\": \"^8.1.0\"\n      }\n    },\n    \"node_modules/balanced-match\": {\n      \"version\": \"1.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n      \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/brace-expansion\": {\n      \"version\": \"2.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz\",\n      \"integrity\": \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"balanced-match\": \"^1.0.0\"\n      }\n    },\n    \"node_modules/fs-extra\": {\n      \"version\": \"11.3.3\",\n      \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz\",\n      \"integrity\": \"sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"graceful-fs\": \"^4.2.0\",\n        \"jsonfile\": \"^6.0.1\",\n        \"universalify\": \"^2.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=14.14\"\n      }\n    },\n    \"node_modules/fs.realpath\": {\n      \"version\": \"1.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n      \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\",\n      \"license\": \"ISC\"\n    },\n    \"node_modules/glob\": {\n      \"version\": \"8.1.0\",\n      \"resolved\": \"https://registry.npmjs.org/glob/-/glob-8.1.0.tgz\",\n      \"integrity\": \"sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==\",\n      \"deprecated\": \"Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"fs.realpath\": \"^1.0.0\",\n        \"inflight\": \"^1.0.4\",\n        \"inherits\": \"2\",\n        \"minimatch\": \"^5.0.1\",\n        \"once\": \"^1.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=12\"\n      },\n      \"funding\": {\n        \"url\": \"https://github.com/sponsors/isaacs\"\n      }\n    },\n    \"node_modules/graceful-fs\": {\n      \"version\": \"4.2.11\",\n      \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n      \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\",\n      \"license\": \"ISC\"\n    },\n    \"node_modules/inflight\": {\n      \"version\": \"1.0.6\",\n      \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n      \"inte"},{"path":"package.json","content":"{\n  \"name\": \"security-sentinel\",\n  \"version\": \"1.0.1\",\n  \"description\": \"Unified security scanner for OpenClaw workspace (dependencies, secrets, permissions).\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"test\": \"node index.js\"\n  },\n  \"dependencies\": {\n    \"fs-extra\": \"^11.1.0\",\n    \"glob\": \"^8.1.0\"\n  }\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Skill: Security Sentinel Owner: autogame-17 Summary: Scan the workspace for security vulnerabilities, exposed secrets, and misconfigurations. Tags: latest:1.0.1 Version history: v1.0.1 | 2026-02-17T16:06:20.900Z | user batch sync Archive index: Archive v1.0.1: 6 files, 7850 bytes Files: _meta.json (136b), index.js (4884b), package-lock.json (5518b), package.json (305b), scan.js (5657b), SKILL.md (1456b) File v1.0.1:S","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":827,"uniquenessScore":57,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T11:04:27.504Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:41:19.689Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}