安全扫描
OpenClaw
安全
medium confidence该技能的代码、文档和运行指令与进程监控/自动重启工具保持一致,但它执行配置的命令、写入心跳/日志/警报文件,并可以向外部 webhook 发送警报 — 使用前请审查配置和重启命令。
评估建议
该技能看似如其所言,但执行用户配置的命令、写入文件并可能向外部 URL 发送警报。安装或运行前:1) 审查每个配置的重启/检查命令,优先使用命令白名单(推荐)而非允许任意命令;2) 选择非敏感位置存储日志/心跳/警报文件,并使用最低权限账户运行;3) 验证配置的 webhook 端点以避免意外数据暴露;4) 如果包不是从可信源获取,请考虑审计完整源码(提供的 src/process-guard.js 大部分可见但被截断)或先在隔离环境中运行。若需更高的安全保障,请提供完整的未截断源码以进行全面审查。...详细分析 ▾
✓ 用途与能力
名称/描述与实现相符:监控、健康检查(HTTP/TCP/pid/命令)、自动重启、资源跟踪(可选 pidusage)、心跳文件、局部仪表盘和警报升级。技能请求的内容(无环境变量、无外部凭据、无安装规格)与声明的目的相符。
ℹ 指令范围
SKILL.md 和 README 指示代理要求和运行提供的 ProcessGuard 模块,它将:读取 pid 文件、运行健康检查命令、执行重启命令、写入心跳/日志/警报文件,并可选地向 webhook 端点 POST JSON。这些行为对于监控器来说是预期的,但它们很强大:重启/检查命令运行子进程,如果配置错误可能引起副作用;警报可以交付到任意外部端点。README Promises 阻止 shell 操作员并需要白名单(或显式 allowAnyCommand)以缓解注入风险;代码强制执行 shell 操作员阻止并在重启配置时需要明确的安全姿势。注意:README 提到 exec/execSync 但发货代码使用 spawn/spawnSync(仅文档不匹配)。
✓ 安装机制
未提供安装规格(仅指令技能 + 包含源文件)。从安装角度看,这是低风险的;可选依赖 pidusage 只用于启用资源监控,如果需要,用户可以安装。
✓ 凭证需求
该技能不请求环境变量或凭据。它执行文件 I/O(日志、心跳、警报)和网络调用到配置的 webhook/仪表盘;这些是由监控/警报目的所证明的。用户应该在启用前验证配置的 webhook URL 和文件路径。
✓ 持久化与权限
always 为 false 且该技能不请求提升或持久的平台权限。然而,它将写入文件到工作目录并在启用时打开本地 HTTP 仪表盘端口 — 这两者对于此功能都是预期的。代理默认能够自主调用技能,这是正常的,此处未标记。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv2.1.42026/3/12
完全移除 exec — 重启命令现在使用 spawn(shell:false),与健康检查相同。代码库中无处使用 shell 执行。
● 可疑
安装命令 点击复制
官方npx clawhub@latest install process-guard
镜像加速npx clawhub@latest install process-guard --registry https://cn.clawhub-mirror.com
技能文档
保持服务运行,无需人工监控。定义进程,配置健康检查,让 ProcessGuard 处理其余事宜。
功能
- 健康检查 — HTTP、TCP 端口、PID 文件或 shell 命令
- 自动重启 — 可配置重试限制和冷却延迟
- CPU & 内存监控 — 每进程阈值与警报(需要
npm install pidusage) - 警报升级 — 警告 → 严重,通过回调 / webhook / JSON 文件交付
- 心跳机制 — 心跳文件每 10 秒更新一次,以便外部监控器知道 ProcessGuard 是否崩溃
- HTTP 仪表盘 — 可选
/status端点用于实时 JSON 状态 - 命令白名单 — 可选限制可用于重启/检查命令的可执行文件
快速开始
const { ProcessGuard } = require('./src/process-guard');
const guard = new ProcessGuard({
processes: [
{
name: 'ollama',
check: 'http://localhost:11434/api/tags',
restart: 'ollama serve',
maxRestarts: 5,
cooldown: 5000
}
],
checkInterval: 30000,
dashboardPort: 9090,
alert: {
onAlert: async (alert) => console.error(ALERT: ${alert.message})
}
});
guard.start();
请参阅 README.md 获取完整文档、所有配置选项和高级示例。数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制