关于 openclaw-traffic-guardian
这是面向 OpenClaw 流量监控构建工作的规范技能,目前不包含代理或运行时实现。它还定义了审批敏感的社交账号变更审查及 OpenClaw 状态集成边界。
主要功能
- 01规定 HTTP 流量检查范围
- 02支持按进程配置的可选 HTTPS 检查
- 03检测外传、入站注入及社交账号变更
- 04记录脱敏发现和审批上下文
- 05规定可选 OpenClaw hook 与状态集成
适用场景
- 01规划 OpenClaw 运行时流量监控实现
- 02审查自动化社交账号写入的审批状态
- 03设计脱敏威胁记录和状态命令
MCP 相关
输入未说明与 MCP 的关系。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ prompt-security/ clawsec --skill openclaw-traffic-guardian安装后在 Claude Code 中输入/openclaw-traffic-guardian确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdREADME.mdskill.jsonSPEC.mdhooks/openclaw-traffic-guardian-hook/.gitkeeplib/.gitkeepscripts/.gitkeeptest/.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/ | 单元测试、代理模拟测试、脱敏测试、进程范围测试 |
首个实现版本的必要行为
- 验证配置,但不启动代理。
- 在前台或显式指定的后台模式下启动监控器。
- 将代理环境变量限制在目标 OpenClaw 进程范围内。
- 在有界字节数限制内检查 HTTP 请求/响应文本。
- 仅当操作员提供按进程设置信任的配置时,才支持可选的 HTTPS 中间人检查。
- 将符合
SPEC.md中出站 POLICY_REVIEW 情形的请求标记为需操作员审查的发现项,包括 TweetClaw 或其他 X/Twitter 自动化写入操作,以及在没有新的操作员审批标记时由调度器/后台运行程序重复执行的操作。 - 根据有界请求元数据检测重复执行/后台运行程序上下文,例如路径、标头、user-agent、客户端上下文、工具调用元数据或调度器标识符。
- 输出 JSONL 格式的发现项,包含脱敏片段、来源类型、变更类别、是否存在审批标记,以及直接操作员还是后台运行程序上下文。
- 提供
status命令,报告模式、监听器、CA 指纹(如有)及最近的发现项。
v0.0.1 实现范围之外
- 自动修改系统信任存储
- 透明网络拦截
- 默认拦截
- 向外部服务发送流量
- 收集完整的请求/响应正文
评论
支持 Markdown