mcpField
O
openclaw-traffic-guardian

openclaw-traffic-guardian

github.com/prompt-security安全1.1k51 次安装今天更新
代码仓库

关于 openclaw-traffic-guardian

这是面向 OpenClaw 流量监控构建工作的规范技能,目前不包含代理或运行时实现。它还定义了审批敏感的社交账号变更审查及 OpenClaw 状态集成边界。

主要功能

  1. 01规定 HTTP 流量检查范围
  2. 02支持按进程配置的可选 HTTPS 检查
  3. 03检测外传、入站注入及社交账号变更
  4. 04记录脱敏发现和审批上下文
  5. 05规定可选 OpenClaw hook 与状态集成

适用场景

  1. 01规划 OpenClaw 运行时流量监控实现
  2. 02审查自动化社交账号写入的审批状态
  3. 03设计脱敏威胁记录和状态命令

MCP 相关

输入未说明与 MCP 的关系。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/prompt-security/clawsec --skill openclaw-traffic-guardian

安装后在 Claude Code 中输入/openclaw-traffic-guardian确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
README.md
skill.json
SPEC.md
hooks/openclaw-traffic-guardian-hook/
.gitkeep
lib/
.gitkeep
scripts/
.gitkeep
test/
.gitkeep

详细介绍

OpenClaw 流量防护

这是一份基线规范技能,目前有意不附带代理或运行时实现。

使用 Vercel Skills 安装

使用 Vercel Skills CLI 为此执行环境安装:

npx skills add prompt-security/clawsec --skill openclaw-traffic-guardian -a openclaw -y

发布产物验证

对于独立安装,在信任 SKILL.md、skill.json 或归档文件之前,请先验证已签名的发布清单。skill.json 文件是软件包元数据/SBOM 的来源,发布流水线使用 ClawSec 发布密钥对 checksums.json 签名。

set -euo pipefail

SKILL_NAME="openclaw-traffic-guardian"
VERSION="0.0.1-beta5"
REPO="prompt-security/clawsec"
TAG="${SKILL_NAME}-v${VERSION}"
BASE="https://github.com/${REPO}/releases/download/${TAG}"
ZIP_NAME="${SKILL_NAME}-v${VERSION}.zip"
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT

RELEASE_PUBKEY_SHA256="711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8"

curl -fsSL "$BASE/checksums.json" -o "$TMP_DIR/checksums.json"
curl -fsSL "$BASE/checksums.sig" -o "$TMP_DIR/checksums.sig"
curl -fsSL "$BASE/signing-public.pem" -o "$TMP_DIR/signing-public.pem"
curl -fsSL "$BASE/$ZIP_NAME" -o "$TMP_DIR/$ZIP_NAME"
curl -fsSL "$BASE/SKILL.md" -o "$TMP_DIR/SKILL.md"
curl -fsSL "$BASE/skill.json" -o "$TMP_DIR/skill.json"

ACTUAL_PUBKEY_SHA256="$(openssl pkey -pubin -in "$TMP_DIR/signing-public.pem" -outform DER | shasum -a 256 | awk '{print $1}')"
if [ "$ACTUAL_PUBKEY_SHA256" != "$RELEASE_PUBKEY_SHA256" ]; then
  echo "ERROR: signing-public.pem fingerprint mismatch" >&2
  exit 1
fi

openssl base64 -d -A -in "$TMP_DIR/checksums.sig" -out "$TMP_DIR/checksums.sig.bin"
openssl pkeyutl -verify -rawin -pubin \
  -inkey "$TMP_DIR/signing-public.pem" \
  -sigfile "$TMP_DIR/checksums.sig.bin" \
  -in "$TMP_DIR/checksums.json" >/dev/null

hash_file() {
  if command -v shasum >/dev/null 2>&1; then
    shasum -a 256 "$1" | awk '{print $1}'
  else
    sha256sum "$1" | awk '{print $1}'
  fi
}

verify_manifest_file() {
  asset="$1"
  path="$2"
  expected="$(jq -r --arg asset "$asset" '.files[$asset].sha256 // empty' "$TMP_DIR/checksums.json")"
  if [ -z "$expected" ]; then
    echo "ERROR: checksums.json missing $asset" >&2
    exit 1
  fi
  actual="$(hash_file "$path")"
  if [ "$actual" != "$expected" ]; then
    echo "ERROR: checksum mismatch for $asset" >&2
    exit 1
  fi
}

expected_archive="$(jq -r '.archive.sha256 // empty' "$TMP_DIR/checksums.json")"
if [ -z "$expected_archive" ]; then
  echo "ERROR: checksums.json missing archive.sha256" >&2
  exit 1
fi
actual_archive="$(hash_file "$TMP_DIR/$ZIP_NAME")"
if [ "$actual_archive" != "$expected_archive" ]; then
  echo "ERROR: archive checksum mismatch" >&2
  exit 1
fi

verify_manifest_file "SKILL.md" "$TMP_DIR/SKILL.md"
verify_manifest_file "skill.json" "$TMP_DIR/skill.json"

echo "Signed release manifest, archive, SKILL.md, and skill.json verified."

只有在此验证成功后,才能安装或解压归档文件。

范围

构建者应将此技能用作 OpenClaw 运行时流量监控的入口:

  • 按操作员范围检查 HTTP 代理
  • 可选的 HTTPS 检查,并按进程设置信任 CA
  • 出站数据泄露检测
  • 入站注入检测
  • 对需审批的社交账号变更进行审查
  • 本地威胁日志脱敏
  • 可选的 OpenClaw 钩子/状态集成

不要将此功能合并到 clawsec-scanner、openclaw-audit-watchdog 或 soul-guardian。这些技能具有不同的信任边界和安全约定。

安全约定

  • 仅在用户选择启用时使用。
  • 默认仅检测并记录。
  • 不自动安装系统 CA。
  • 不更改全局 HTTP_PROXY 或 HTTPS_PROXY。
  • 首个实现版本不进行拦截。
  • 在写入日志或发送对话提醒前对机密信息进行脱敏。
  • 将所有状态保存在 OPENCLAW_TRAFFIC_GUARDIAN_HOME 或 ~/.openclaw/security/clawsec/traffic-guardian 下。

构建者入口

实现前请阅读 SPEC.md。占位文件夹用途如下:

路径预期用途
lib/检测规则、脱敏、事件架构、报告格式
scripts/启动、停止、状态、配置验证、日志查询辅助工具
hooks/openclaw-traffic-guardian-hook/可选的 OpenClaw 钩子/状态集成
test/单元测试、代理模拟测试、脱敏测试、进程范围测试

首个实现版本的必要行为

  1. 验证配置,但不启动代理。
  2. 在前台或显式指定的后台模式下启动监控器。
  3. 将代理环境变量限制在目标 OpenClaw 进程范围内。
  4. 在有界字节数限制内检查 HTTP 请求/响应文本。
  5. 仅当操作员提供按进程设置信任的配置时,才支持可选的 HTTPS 中间人检查。
  6. 将符合 SPEC.md 中出站 POLICY_REVIEW 情形的请求标记为需操作员审查的发现项,包括 TweetClaw 或其他 X/Twitter 自动化写入操作,以及在没有新的操作员审批标记时由调度器/后台运行程序重复执行的操作。
  7. 根据有界请求元数据检测重复执行/后台运行程序上下文,例如路径、标头、user-agent、客户端上下文、工具调用元数据或调度器标识符。
  8. 输出 JSONL 格式的发现项,包含脱敏片段、来源类型、变更类别、是否存在审批标记,以及直接操作员还是后台运行程序上下文。
  9. 提供 status 命令,报告模式、监听器、CA 指纹(如有)及最近的发现项。

v0.0.1 实现范围之外

  • 自动修改系统信任存储
  • 透明网络拦截
  • 默认拦截
  • 向外部服务发送流量
  • 收集完整的请求/响应正文

评论

支持 Markdown